Computer-implemented method, computer system, and computer program (cognitive learning for generating scripts that simulate live agent actions in synchronous meetings)

By generating scripts that simulate live agent actions using trained models on smaller data sets, the method addresses the limitations of rule-based CAs and live-agent inefficiencies, enhancing the efficiency of synchronous conferencing systems.

JP7776230B2Active Publication Date: 2025-11-26INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2022086307
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-05-27
Filing Date
2022-05-26
Publication Date
2025-11-26
Estimated Expiration
2042-05-26

AI Technical Summary

Technical Problem

Existing conversational agent (CA)-executed synchronous conferencing sessions are limited by their rule-based nature, which is suitable only for stable and smaller data volumes, while live-agent sessions face challenges in handling multiple inquiries efficiently due to human resource limitations, especially for simple, repetitive, or general customer inquiries.

Method used

A computer-implemented method using a processor to generate scripts that simulate selected live agent actions, utilizing machine learning models trained on smaller labeled data sets to automate simple and repetitive tasks, allowing live agents to focus on complex tasks.

Benefits of technology

The method reduces the workload of live agents by automating simple and repetitive tasks, enabling them to handle more complex inquiries, while maintaining effective response capabilities through trained models that learn to simulate live agent behaviors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007776230000001
    Figure 0007776230000001
  • Figure 0007776230000002
    Figure 0007776230000002
  • Figure 0007776230000003
    Figure 0007776230000003
Patent Text Reader

Abstract

To solve the problem in which there are limitations on the ability of live-agents to process multiple sessions at the same time because human resources are so heavily involved in live-agent run SCS sessions.SOLUTION: Embodiments of the invention are directed to a computer-implemented method of responding to an inquiry received electronically at a synchronous conferencing system (SCS). A non-limiting example of the computer-implemented method includes, based at least in part on the inquiry, using a processor of the SCS to generate a script having one or more script computer instructions. The processor is used to execute the script computer instructions to generate script computer instruction results, where the script computer instruction results include inquiry response information that is responsive to the inquiry. Based at least in part on the inquiry and the inquiry response information, the processor is used to generate an inquiry response that is responsive to the inquiry.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates generally to programmable computers in networked communication systems. More specifically, the present invention relates to a computing system, computer-implemented method, and computer program product that reduces the workload of live agents in synchronous conferencing systems (e.g., "online chat" systems) by providing interactive agents that are specifically configured and tuned to cognitively learn to generate scripts (e.g., sets of computer instructions) that, when executed, automatically simulate selected live agent actions. [Background technology]

[0002] The term "synchronous conferencing system" (SCS) describes a class of computer-based communication technologies widely used in interactive computer networks (e.g., the Internet) to enable two or more users to interact with each other in real time. Specifically, a user sends a message (e.g., natural language text data) to another user through an SCS synchronous conferencing application or computer program. The latter user ideally responds to the message within a short time (e.g., a few seconds or minutes). Thus, SCS technology facilitates a conversation in which electronic messages are passed back and forth between at least two users.

[0003] Messages exchanged through SCS generally comprise text data; however, some SCS technologies allow for the exchange of other types of multimedia content (e.g., audio / video). Messages are typically short in length, although longer messages may be appropriate in certain contexts (e.g., question / answer exchanges). Often, multiple messages that are part of the same conversation are exchanged within a so-called SCS session, which usefully groups related messages together and provides context. Messages are often displayed to each user in a window in a graphical user interface (GUI) on the user's local computer display.

[0004] SCS technology can be implemented as a customer service tool in online e-commerce settings, where it is desirable to enable online customers visiting a merchant's website to immediately initiate an online conversation / chat with the merchant. In an interactive customer service SCS session, the customer can be one user and a merchant representative can be another user. In some implementations of a customer service SCS, the merchant representative can be a human, also known as a "live agent." In some implementations of a customer service SCS, the merchant representative can be a computer-implemented agent, also known as a "conversational agent" (CA) or "chatbot." Generally, a CA can be defined as a computer system configured to interact with humans using a consistent structure. CA systems can employ a variety of communication mechanisms, including, for example, text, voice, graphics, haptics, gestures, etc., for communication in both input and output channels. CA systems also employ various forms of natural language processing (NLP), a field of computer science, artificial intelligence, and computational linguistics related to the interaction between computers and humans using language. Summary of the Invention [Problem to be solved by the invention]

[0005] CA-executed SCS sessions can be very responsive and much more agile than live-agent-executed SCS sessions. However, challenges in implementing CA-executed SCS sessions include enabling the SCS computer to derive meaning from natural language (NL) input as well as effectively and efficiently generate NL output. Known CA-executed SCS sessions are “rule-based,” meaning that the CA-executed SCS session selects responses based on a variety of rules determined and explicitly coded into the CA. Rule-based systems are best suited to situations where data volumes are smaller, incoming data is relatively stable, and corresponding rules are relatively simple. As an example, a company may use a rule-based system for expense approval, and the associated rules may include various defined dollar thresholds requiring managerial approval at various levels.

[0006] Live-agent-run SCS sessions have the benefit of allowing live agents to think outside the box and not be limited to processing pre-programmed information, but rather to understand and provide answers to any customer question related to the merchant's business. However, because human resources are heavily involved in live-agent-run SCS sessions, the ability of live agents to handle multiple sessions simultaneously is limited. Furthermore, the value to merchants and / or customers of having live agents respond to customer inquiries diminishes as customer inquiries become more simple, general, question-and-answer, or repetitive, or a combination thereof. [Means for solving the problem]

[0007] An embodiment of the present invention is directed to a computer-implemented method for responding to a query received electronically at a synchronous conferencing system (SCS). A non-limiting example of the computer-implemented method includes using a processor of the SCS to generate a script having one or more script computer instructions based at least in part on the query. The processor executes the script computer instructions to generate a script computer instruction result, the script computer instruction result including query response information responsive to the query. Based at least in part on the query and the query response information, the processor generates a query response responsive to the query.

[0008] In some aspects of the invention, the aforementioned embodiments of the invention may further include one or more script computer instructions configured, when executed by the processor, to simulate live agent processor-controlled actions, including processor-controlled actions that may be taken by the live agent during an attempt by the live agent to utilize the processor to generate query response information.

[0009] In some aspects of the invention, the aforementioned embodiments of the invention may further include the act of using a processor to generate a query response further based at least in part on one or more script computer instructions.

[0010] Technical effects and benefits of the foregoing embodiments of the present invention include using a processor in the SCS to generate scripts, where the scripts simulate selected live agent actions. According to aspects of the present invention, the selected live agent actions include simple and repetitive live agent actions that can be automated to free up live agents' time so that they can focus on more complex tasks and not have to allocate live agent time to address simple and repetitive requests submitted by users.

[0011] In some aspects of the invention, the aforementioned embodiments of the invention may further include a processor configured to include a first model trained to perform a first task including generating a script based at least in part on a query.

[0012] In some aspects of the invention, the aforementioned embodiments of the invention may further include a processor further configured to include a second model trained to perform a second task including generating a query response based at least in part on the query and query response information.

[0013] In some aspects of the invention, the aforementioned embodiments of the invention may further include configuring the second task to further include generating a query response based at least in part on the query, the one or more script computer instructions, and the query response information.

[0014] Additional technical effects and benefits of the aforementioned embodiments of the present invention include using a processor in an SCS to execute a trained model to generate a script, where the script simulates selected live agent behavior. In aspects of the present invention, a first model is trained to generate a script, and a second model is trained to generate a query response based on at least two of the query, the script, and query response information. Technical effects and benefits of embodiments of the present invention include configuring embodiments of the present invention to advantageously utilize labeled data to train the first and second models. However, because embodiments of the present invention focus on training models to perform conditional but not overly complex live agent tasks, the amount of labeled data need not be large (e.g., approximately 1,000 conversations per overall task performed by each model). As used herein, the term “conditional” means that the modeled live agent behavior is based on (or “based on”) information provided to the live agent (e.g., by other chat participants) throughout the SCS session. Some embodiments of the present invention may utilize pre-trained models (examples of which are described hereinafter) that can be further trained with labeled data to fine-tune the pre-trained models so that they learn to perform well on the aforementioned first and second model tasks. According to aspects of the present invention, this can be achieved by using much smaller labeled data sizes (e.g., approximately 10 conversations per overall task performed by each model). According to aspects of the present invention, the selected live agent behaviors implemented by the first and second models include simple and repetitive live agent behaviors that can be automated to free up live agents to focus on more complex tasks and not have to allocate live agent time to address simple and repetitive requests submitted by users.

[0015] Embodiments of the present invention are also directed to computer systems and computer program products that have substantially the same features, technical effects, and technical advantages as the computer-implemented methods described above.

[0016] Additional features and advantages are realized through the techniques described herein. Other embodiments and aspects are described in detail herein. For a better understanding, reference should be made to the specification and drawings. [Brief explanation of the drawings]

[0017] The subject matter considered as embodiments is particularly pointed out and distinctly claimed in the claims at the end of this specification. The foregoing and other features and advantages of the embodiments will be apparent from the following detailed description taken in conjunction with the accompanying drawings.

[0018] [Figure 1] 1 shows a block diagram illustrating a synchronous conferencing system (SCS) in which embodiments of the present invention may be implemented.

[0019] [Figure 2] 1 illustrates an encoder-decoder architecture that may be utilized to implement aspects of the present invention.

[0020] [Figure 3] 1 shows a flow diagram illustrating a computer-implemented technique according to an embodiment of the present invention.

[0021] [Figure 4] 1 shows a block diagram illustrating example messages that may be exchanged during an SCS session, according to an embodiment of the present invention.

[0022] [Figure 5A] FIG. 1 shows a block diagram illustrating details of a language model that may be utilized to implement aspects of the present invention.

[0023] [Figure 5B]FIG. 1 shows a block diagram illustrating details of a message extraction engine that may be utilized to implement aspects of the present invention.

[0024] [Figure 5C] FIG. 10 shows a block diagram illustrating details of another language model that may be utilized to implement aspects of the present invention.

[0025] [Figure 5D] FIG. 5B shows a block diagram illustrating additional details of the language model shown in FIG. 5A.

[0026] [Figure 6A] 1 illustrates a machine learning system that may be utilized to implement aspects of the present invention.

[0027] [Figure 6B] 1 illustrates an example of training data that may be used to train the various models described and illustrated herein, in accordance with aspects of the present invention.

[0028] [Figure 7] 6B illustrates a learning phase that may be implemented by the machine learning system illustrated in FIG. 6A.

[0029] [Figure 8] 1 illustrates details of an exemplary computing system in which various aspects of the present invention may be implemented.

[0030] In the accompanying figures and the following detailed description of the disclosed embodiments, various elements shown in the figures are designated with three-digit reference numbers. In some instances, the left-most digit of each reference number corresponds to the figure in which the element is first shown. DETAILED DESCRIPTION OF THE INVENTION

[0031] For purposes of brevity, conventional techniques related to making and using aspects of the present invention may or may not be described in detail herein. In particular, various aspects of computing systems and specific computer programs for implementing various technical features described herein are well known. Thus, for purposes of brevity, many conventional implementation details are mentioned only briefly herein or omitted entirely without providing details of well-known systems and / or processes.

[0032] Many of the functional units of the systems described herein are labeled as modules. Embodiments of the present invention apply to a wide range of modular implementations. For example, a module may be implemented as a hardware circuit comprising custom VLSI circuits or gate arrays, off-the-shelf semiconductors such as logic chips, transistors, or other discrete components. A module may also be implemented in programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices, etc. A module may also be implemented in software for execution by various types of processors. An identified module of executable code may, for example, comprise one or more physical or logical blocks of computer instructions, which may be organized into, for example, an object, procedure, or function. Nevertheless, the executable portions of an identified module need not be physically located together, but may comprise heterogeneous instructions stored in different locations that, when logically connected together, function as a module and achieve the stated purpose for the module.

[0033] Many of the functional units of the systems described herein are labeled as modules. Embodiments of the present invention apply to a wide range of model implementations. For example, the models described herein may be implemented as machine learning algorithms and natural language processing algorithms configured and tuned to discover unknown relationships between data / information and generate models that apply the discovered relationships to new data / information to perform the model's assigned task. In aspects of the present invention, the models described herein may have all of the features and functionality of the models shown in Figures 2, 6A, and 7, which are described in more detail hereinafter.

[0034] The various components / modules / models of the systems shown herein are shown separately for ease of illustration and description. In embodiments of the invention, the functionality performed by the various components / modules / models may be distributed differently from that shown, unless otherwise stated, without departing from the scope of the various embodiments of the invention described herein.

[0035] Referring now to a summary of aspects of the invention, embodiments of the invention described herein provide computing systems, computer-implemented methods, and computer program products that reduce the workload of live agents in a synchronous conferencing system (SCS) (e.g., an “online chat” system) by providing a novel conversational agent (CA) that is configured and tuned to cognitively learn to analyze SCS session messages for the purpose of determining whether the novel CA can take over an SCS session and perform live agent activities for all or part of the SCS session. In some embodiments of the invention, the novel CA may be integrated within the SCS or provided as a separate unit (e.g., a client computing device) in communication with the SCS. The novel CAs described herein are identified in some aspects of the invention as script-generating CAs because the script-generating CAs have learned to generate scripts (e.g., sets of one or more computer instructions) that automatically simulate selected live agent actions that would be performed by a live agent participating in an SCS session with another user (e.g., a customer). The novel CAs described herein are also identified as conditional CAs because, in some aspects of the invention, the conditional CAs take action and / or simulate live agent responses / activities, and in addition generate responses that depend on (or are "based on") the conditional CA's understanding of the meaning of information (e.g., queries) contained in SCS messages inserted into the SCS session by other session participants, in accordance with aspects of the invention. In some aspects of the invention, the novel CAs described herein may include either or both of the aforementioned script generation features and the aforementioned conditional features, in which case the novel CAs described herein may be described as script generation conditional CAs (SGC-CAs).

[0036] In embodiments of the present invention, the SGC-CA is configured to monitor and analyze multiple SCS messages (or a single SCS message) in an SCS session under analysis to determine that the SGC-CA can take over the responsibilities of a live agent participating (or will participate) in the SCS session. In some embodiments of the present invention, the SGC-CA uses a first machine learning model having natural language capabilities that is trained to perform the task of evaluating messages in the SCS session and determining that the SGC-CA has the ability to perform (or take over) actions that would be taken by a live agent participating in the SCS session. In embodiments of the present invention, the first machine learning model may be embedded within the SCS or the SGC-CA. In some embodiments of the present invention, the first machine learning model may be a first language model (or a generative language model). If the first machine learning model determines that the SCS session can be performed by the SGC-CA, the first machine learning model enables the SGC-CA to perform (or take over) actions that would be taken by a live agent participating in the SCS session.

[0037] In embodiments of the present invention, when the SGC-CA is enabled and executing an SCS session, the SGC-CA is configured and adjusted to perform simulated agent behaviors, including, for example, understanding the meaning of information (e.g., queries, agent-requested information, etc.) included in messages inserted into the SCS session by other participants in the SCS session; generating and inserting messages into the SCS session that request information from other participants in the SCS session; generating and inserting scripts (e.g., sets of computer instructions) that, when executed, automatically simulate selected live agent actions that would be performed by a live agent participating in the SCS session with other users (e.g., customers); and generating and inserting messages into the SCS session that respond to request and / or query messages generated by other participants in the SCS session. In some embodiments of the present invention, the SGC-CA has natural language capabilities and uses additional machine learning models that are trained to perform tasks in support of the aforementioned behaviors that would be performed by a live agent if the live agent were executing the SCS session. In some embodiments of the present invention, the SGC-CA may include an agent activity module (e.g., a robotic process automation (RPA) algorithm) configured and adjusted to execute the computer instructions of the script. In some embodiments of the present invention, the additional machine learning models may be implemented using additional language models, which may be implemented using a variety of encoder-decoder architectures, including, but not limited to, sequence-to-sequence architectures, RNN architectures, and various Transformer model architectures (or generative language model architectures). In some aspects of the present invention, the additional language models may be implemented using pre-trained Transformer model architectures and fine-tuning the training of the pre-trained Transformer model architectures to perform the operations described above in accordance with embodiments of the present invention.In embodiments of the present invention, suitable examples of the various transformer model architectures (or generative language model architectures) mentioned above include, but are not limited to, bidirectional encoder representations from transformers (BERT), generative pre-trained transformer (GPT) (including GPT1, GPT2, etc.), or bidirectional and auto-regressive transformer (BART), or a combination thereof.

[0038] In aspects of the present invention, various language models supporting the functionality of the SGC-CA may be trained to support various categories of SCS sessions. In some embodiments of the present invention, each SCS session category may be based, at least in part, on an assessment that the category involves a certain level of live-agent cognitive decision-making beyond what can be efficiently implemented in a rule-based CA, and that the category involves a certain level of live-agent cognitive decision-making that is less complex and therefore would be performed more efficiently and / or more effectively by a live agent. For example, Category A of the live-agent-performed SCS session categories may be defined as "Internet Service Interruption," which includes live-agent-performed SCS sessions in which a user initiates an SCS session with a live agent at an Internet Service Provider (ISP) to determine why the user's Internet service is malfunctioning. For training purposes, data from Category A live-agent-performed SCS sessions is collected and labeled. In embodiments of the present invention, the labeled data for a live-agent-performed SCS session in Category A may include, but is not limited to, data identifying messages exchanged between a user and a live agent in the SCS session, data identifying live agent activities (e.g., retrieving the user's account information on a computer) performed by the live agent during the SCS session, data identifying output (e.g., computer-generated output) generated in response to the live agent activities performed by the live agent during the SCS session, and data identifying a "response" generated by the live agent based on the output generated in response to the live agent activities performed by the live agent during the SCS session. The labeled training data is used to train various language models (e.g., as described in the preceding paragraphs) that support the functionality of the SGC-CA in performing live agent responsibilities for SCS sessions included in Category A.In some embodiments of the present invention, the training is applied to a language model that has not been pre-trained. In some embodiments of the present invention, the training is so-called "fine-tuned" training applied to a pre-trained model, examples of which include the aforementioned Transformer model architectures such as BERT, GPT, GPT1, GPT2, and BART.

[0039] Referring now to a detailed description of various embodiments of the present invention, Figure 1 depicts a block diagram illustrating an SCS 100 in which embodiments of the present invention can be implemented. The SCS 100 includes a server 104, multiple client computing devices 110, 112, and 114, and storage 108, all of which are in communication with one another over a network 102. A live agent (or user A) 120 has access to the client computing device 110 for the purpose of operating the client computing device 110 to enable the live agent 120 to participate in synchronous conferences over the network 102 with other users of the network 102 (e.g., customers 140). A CA (or user B) 130 is in communication with (or is incorporated within) the client computing device 112 for the purpose of operating the client computing device 112 to enable the CA 130 to implement various operations described herein in accordance with aspects of the present invention, including participating in synchronous conferences over the network 102 with other users of the network 102 (e.g., customers 140). A customer (or user C) 140 can access the client computing device 114 for the purpose of operating the client computing device 114 to enable the customer 140 to participate in synchronous conferences over the network 102 with other users of the network 102 (e.g., live agents 120, or CAs 130, or both).

[0040] For ease of illustration, one example of each of the server 104, storage 108, and client computing devices 110, 112, and 114 is shown. However, it is understood that embodiments of the present invention may apply to any number of servers 104, storage 108, and client computing devices 110, 112, and 114. Similarly, for ease of illustration, one example of each of the live agents 120, CAs 130, and customers 140 is shown. However, it is understood that embodiments of the present invention may apply to any number of live agents 120, CAs 130, and customers 140. In embodiments of the present invention, the server 104 and client computing devices 110, 112, and 114 may be configured to include all of the features and functionality of computing system 800 (shown in FIG. 8 ).

[0041] The SCS 100 is configured and arranged to provide a mechanism for defining and managing virtual discussion threads in the SCS 100. In operation, the server 104 and one or more of the client computing devices 110, 112, 114 define a virtual discussion thread (VDT) entity that includes a group of chat entries or a portion of chat entries. Chat entries in a VDT logically belong to the same "hidden" discussion within a chat session. The use of a VDT enables the SCS 100 to support users in understanding existing discussions by showing available VDTs in the overall list of chat entries and by attributing chat entries in the VDT.

[0042] The SCS 100 can be utilized in many different types of data processing environments, including a distributed data processing environment or a single data processing device. The SCS 100 includes at least one network 102, which is the medium used to provide communications links between the various devices and computers connected together within the SCS 100. The network 102 may include connections such as wires, wireless communication links, or fiber optic cables. The client computing devices 110, 112, and 114 may be, for example, personal computers or network computers. In the illustrated example, the server 104 provides data such as boot files, operating system images, and applications to the client computing devices 110, 112, and 114. The client computing devices 110, 112, and 114 are clients to the server 104 in the illustrated example. The SCS 100 may include additional servers, client computing devices, and other devices not shown.

[0043] In some embodiments of the present invention, network 102 of SCS 100 may be the Internet, as represented by the worldwide collection of networks and gateways that communicate with each other using the Transmission Control Protocol / Internet Protocol (TCP / IP) suite of protocols. At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers, consisting of thousands of commercial, government, educational, and other computer systems that route data and messages. In some embodiments of the present invention, network 102 of SCS 100 may also include several different types of networks, such as, for example, an intranet, a local area network (LAN), or a wide area network (WAN).

[0044] In some embodiments of the present invention, the server 104 may be a chat server, and the live agents 120, CAs 130, and customers 140 (using their respective client computing devices 110, 112, 114) may be participants / clients in the chat. Although not shown, the chat may have only two participants or many participants, possibly hundreds or more. In some embodiments of the present invention, the chat may be any synchronous conference, such as text chat, audio / video conferencing, instant messaging, etc. Examples of synchronous conferencing technologies that may be utilized by the SCS 100 include Internet Relay Chat (IRC), Jabber (XMPP), multi-user dungeons (MUDs), massively multiplayer online role-playing games (MMORPGs), protocol for synchronous conferencing (PSYC), and web chat.

[0045] Generally, chat services can be categorized into two main types: one-on-one chat and group chat. One-on-one chat services, such as instant messaging (IM) services, typically involve chats between two participants, although some IM services allow for more than two participants. Group chats allow hundreds, or even thousands, of people to connect simultaneously, as messages are broadcast to everyone connected to the group or channel. Channels are typically defined based on topic content and language used by participants, and there can be one conversation chat window per channel.

[0046] In some embodiments of the present invention, the server 104 may manage authentication and authorization for access to the chat service. The server 104 may also be responsible for receiving and distributing messages between connected users. The client computing device 110, for example, provides an interface between the live agent 120 and the server 104. In some embodiments of the present invention, the client computing device 110 provides a chat window in which messages are displayed in a chronological list. The chat window may also include a text box in which a user (e.g., User A 120, User B 130, or User C 140, or a combination thereof) may type a current message or chat entry (CE) for delivery to the server 104. The chat window may further include a display box to present information received from the server 104, such as the number and nicknames of connected users.

[0047] The SCS 100 may be applied as a customer service tool in online e-commerce settings where it is desirable to enable an online customer (e.g., User C 140) visiting a merchant's website (e.g., hosted by the server 104 or one or more of the client computing devices 110, 112, 114, or a combination thereof) to quickly initiate an online conversation / chat with the merchant (e.g., User A 120, User B 130, or both). In some embodiments of the present invention, the CA 130 is a computer system configured to interact with a human (or another CA, or both) using a consistent structure. The CA 130 may employ a variety of communication mechanisms, including, for example, text, voice, graphics, haptics, gestures, etc., for communicating over both input and output channels. Thus, messages exchanged through the SCS 100 may take the form of text, voice, graphics, haptics, gestures, etc. According to some aspects of the present invention, the CA 130 may employ various forms of machine learning techniques with natural language processing (NLP) capabilities. Generally, NLP is a field of computer science, artificial intelligence, and computational linguistics related to interaction between computers and humans using language. Additional details of how the SCS 100, including the CA 130 specifically, may be utilized to implement embodiments of the present invention are described in more detail hereinafter. In some embodiments of the present invention, natural language processing (NLP) techniques are utilized in conjunction with machine learning (ML) algorithms to generate models that perform various language- and text-related tasks described herein in accordance with aspects of the present invention. Generally, NLP / ML models in accordance with embodiments of the present invention may be constructed according to a variety of suitable encoder-decoder architectures.

[0048] 2 illustrates an encoder-decoder architecture 200 that may be utilized in SCS 100 (also shown in FIG. 1), specifically including CA 130 (also shown in FIG. 1), to implement the machine learning and natural language functions of SCS 100 according to some embodiments of the present invention. For example, encoder-decoder architecture 200, and variations thereof described herein, may be used to implement any one or more of the various models described herein, including, for example, language model 450 (shown in FIG. 4), language model 502 (shown in FIG. 5A), language model 558 (shown in FIG. 5B), language model 560 (shown in FIG. 5C), or classifier 610 and model 616 (shown in FIG. 6A), or combinations thereof. Generally, encoder-decoder architecture 200 includes an encoder 202 and a decoder 206. Encoder 202 is configured and tuned to take input sequences 202A, e.g., sentences (i.e., sequences) written in German, and map them to a high-dimensional representation 204. The encoder 202 is configured to "learn" parts of the input sequence 202A that are important and pass them to the high-dimensional representation 204, while leaving out less important aspects of the input sequence 202A. At this stage, the high-dimensional representation 204 is not easily understandable because it does not carry semantics and the complete mapping has not yet been learned.

[0049] The decoder 206 is configured to convert the high-dimensional representation 204 into another sequence, which in this example is the output sequence 206A (e.g., a sequence written in English). Utilizing the encoder 202 and decoder 206 allows a model to be built that can convert "one way" to "another way," for example, German to English (i.e., mapping without losing semantics). By training the encoder 202 and decoder 206 together, a sequence-to-sequence model is created. The sequence-to-sequence model can take in a sequence of a particular type and output another sequence of a different type.

[0050] In embodiments of the present invention, a Transformer model (also known as a generative language model), which is a type of encoder-decoder sequence-to-sequence model, can be trained to perform many of the tasks described herein according to aspects of the present invention. In a Transformer model, the encoder may include a set of encoding layers that iteratively process the input, layer by layer, and the decoder may include a set of decoding layers that do the same for the encoder's output. The function of each Transformer encoder layer is to process the input and generate encodings that contain information about which parts of the input are related to each other. The Transformer encoder passes that set of encodings as input to the next Transformer encoder layer. Each Transformer decoder layer does the opposite: it takes all the Transformer encodings, processes them, and uses their embedded contextual information to generate an output sequence. To achieve this, each Transformer encoder and Transformer decoder layer utilizes an attention mechanism. In the context of neural networks, attention is a technique that electronically mimics human cognitive attention. The effect is to emphasize important parts of the input data and gradually fade away the rest, resulting in the network allocating more computational power to those small but important parts of the data. Portions of data that are more important than other portions of data depend on the context and are learned through training data by gradient descent. Therefore, the attention mechanism of the Transformer model weights the relevance of all other inputs and extracts information from them appropriately to produce the output. Each Transformer Decoder layer may include an additional attention mechanism that extracts information from the output of the previous Transform Decoder before it extracts information from the Transform Encoder. Both the Transformer Encoder layer and the Transformer Decoder layer have a feedforward neural network for further processing of the output, and also include residual connections and layer normalization stages.

[0051] Transformer models can be autoregressive, autoencoding, or both. Autoregressive Transformer models use previous predictions to generate new predictions. Training an autoregressive Transformer model therefore involves a language modeling task, which means that the autoregressive Transformer model must learn the language, along with semantics, and the interdependencies between words and phrases. Text generation is a typical task that can be performed using an autoregressive Transformer model. On the other hand, autoencoding Transformer models corrupt text input and generate the original input instead. The result is a Transformer encoding that can be used for additional downstream tasks, such as question answering.

[0052] Transformer models that perform sequence-to-sequence tasks, autoregressive tasks, or autoencoding tasks, or a combination thereof, do not depend on the particular encoder-decoder architecture of the Transformer model, since the training task can be adapted to the desired task to be performed by the Transformer model (e.g., text generation, text understanding, question answering, etc.). Thus, whether a Transformer model is autoregressive or autoencoding depends mostly on the nature of the task being performed and the type of training applied to the Transformer model to enable it to perform the desired task.

[0053] Thus, it can be seen from the foregoing description that Transformer models suitable for use with embodiments of the present invention include deep learning models that utilize attention mechanisms to weight the influence of different portions of input data. Like RNNs, Transformer models are designed to handle sequential data, such as natural language, for tasks such as translation, text summarization, text classification, and question answering. However, unlike RNNs, Transformer models do not require sequential data to be processed in order. For example, if the input data is a natural language sentence, a Transformer model does not need to process the beginning of the input data before processing the end of the input data. This feature allows Transformer models to be much more parallel than RNNs. Parallel computing is a type of computing in which many calculations, or processes, are performed simultaneously. Large problems can often be divided into smaller problems, which can then be solved simultaneously. In the context of training, the parallel computing feature of Transformers allows for reduced training times for Transformer models to be achieved compared to the training times required for pre-transformer RNN models, such as long short-term memory (LSTM).

[0054] Because Transformer models facilitate greater parallelization during training, it has become possible to train on larger datasets than was possible before the introduction of Transformer models. This has led to the development of pre-trained systems such as Bidirectional Encoder Representations from Transformers (BERT), Generative Pre-trained Transformer (GPT), or bidirectional and auto-regressive transformer (BART), or combinations thereof. All of these have been trained using large general language datasets and can be fine-tuned to perform various specific language tasks described herein in accordance with aspects of the present invention. Therefore, Transformer models can undergo semi-supervised learning, which involves unsupervised pre-training (e.g., on a relatively large dataset) followed by supervised fine-tuning.

[0055] BART (bidirectional and auto-regressive transformer) is a pre-trained NLP / ML model that combines a bidirectional transformer and an autoregressive transformer. BART uses a standard transformer-based neural machine translation architecture, including a denoising autoencoder built with a sequence-to-sequence model that is applicable to a range of termination tasks. For example, fine-tuned training of BART can be applied to achieve a variety of text generation, understanding, abstract dialogue, question answering, and summary termination tasks. Pre-training BART can include two stages: the text is corrupted with an arbitrary noise function, and a sequence-to-sequence model is trained to reconstruct the original text.

[0056] FIG. 3 illustrates a flow diagram of a computer-implemented technique 300 according to an embodiment of the present invention. The computer-implemented technique 300 is implemented by the SCS 100 in the course of generating and controlling message exchanges over the network 102 among the server 104, storage 108, client computing devices 110, 112, and 114, User A 120, User B 130, and User C 140. Accordingly, the following description of the technique 300 will refer to the flow diagram illustrated in FIG. 3, along with the associated systems, modules, models, and engines illustrated in FIGS. 1 and 4-5C. The technique 300 begins at block 302 with the initiation of a new SCS session. As used herein, the term "SCS session" and variations thereof refer to a grouping of messages exchanged between users through the SCS as part of the same conversation to provide context. The messages that make up the SCS session are often displayed to each user (e.g., users 120, 130, 140 shown in FIG. 1) in a window in a graphical user interface (GUI) on the user's local computer display (e.g., client computing devices 110, 112, 114 shown in FIG. 4). As an example, the new SCS session initiated in block 302 may begin as an SCS session via SCS system 100 initiated by customer 140.

[0057] At block 304 and decision block 306, technique 300 evaluates messages in the SCS session to determine that SCS 100 (and in particular SGC-CA 130) can take over live agent responsibilities for the new SCS session. Figure 4 shows an example of how SCS 100 can be configured to include a language model 450 that is trained to perform the task of analyzing messages (e.g., user message 412) in SCS session 410 and determining that SCS session 410 falls within a category of SCS sessions that can be performed by SGC-CA 130 instead of live agent 120. If language model 450 does not conclude that SGC-CA 130 can perform live agent operations in SCS session 410, SCS 100 routes SCS session 410 to live agent 120 through client computing device 110. Returning to technique 300, if the answer to the query at decision block 306 is no, technique 300 moves to decision block 308 to determine whether there are any more messages in the SCS session. If the answer to the query at decision block 308 is no, technique 300 moves to blocks 310 and 302 to end the current SCS session at block 310 and look for a new SCS session at block 302. If the answer to the query at decision block 308 is yes, technique 300 moves to block 304 to again evaluate the messages in the SCS session, now including the new message as identified by decision block 308.

[0058] If the answer to the query at decision block 306 is yes, the technique 300 moves to block 312, where the SCS 100 (and in particular the SGC-CA 130) generates and executes a set of scripts to simulate live agent actions that may be taken in response to a query message (e.g., the user message 412 shown in FIG. 4) in an SCS session. An example of how the script generation functionality described in block 312 may be implemented using a language model 502 is shown in FIG. 5A. The language model 502 is trained to perform multiple tasks, including ingesting a user message 416 and generating an agent message 414, as well as advancing the SCS session 410 to the level shown in FIG. 5A by generating a script 532 that is based on (or conditional on) information provided in the user messages 412, 416. In an embodiment of the present invention, the language model 502 ingests the user message 412 and evaluates whether the user message 412 provides the user query and the information, if any, needed to search for and find a response to the user query. For example, if user message 412 reads, "I want to know the download speeds for my zip code 10954," this example user message 412 contains both the user's query and the information needed by language model 502 to begin the process of responding to the user query. In the example shown in Figure 5A, user message 412 reads, "I want to know the download speeds in my area" without providing the user's zip code, and language model 502 generates agent message 414, requesting the information needed by language model 502 (user message 416).

[0059] When the language model 502 has both the user query and the information, if any, needed to search and find a response to the user query, the language model 502 performs the task of generating a script 532, which may be packaged into a macro 530. In some embodiments of the present invention, the script generation task performed by the language model 502 includes converting the SCS session 410 into a context word sequence 504 and then using the context word sequence 504 to generate an instruction word sequence 506. In some embodiments of the present invention, the context word sequence 504 may be based on the entire SCS session 410, only the user message 412 (e.g., if the user message 412 includes the user query and the information, if any, needed by the language model 502 to search for a response to the user query), or the user message 412, 414, or a combination thereof, which provides both the user query and the information needed by the language model 502 to search for a response to the user query. In some embodiments of the present invention, using the context word sequence 504 to generate the instruction word sequence 506 may be implemented using, for example, the encoder-decoder architecture 200 (shown in FIG. 2 ), where the context word sequence 504 corresponds to the input sequence 202A and the instruction word sequence 506 corresponds to the output sequence 206A. In some embodiments of the present invention, a language model 502 is trained to incorporate code generation functionality into the task of converting the context word sequence 504 to the instruction word sequence 506. Here, the context word code sequence 504 is first converted into a natural language description of code (e.g., a live agent activity description 540), and then code generation techniques convert the natural language description of the code into the instruction word sequence 506. The language model 502 then converts the instruction word sequence 506 into a script 532, which may be packaged by the model 502 into a macro 530.

[0060] FIG. 5B illustrates an example of how the script execution functionality described in block 312 may be implemented using an agent activity model 552. The agent activity module 552 is configured to receive the macro 530 and execute instructions defined in the script 532. In some embodiments of the present invention, the agent activity model 552 may be implemented as a so-called robotic process automation (RPA) algorithm configured and orchestrated to execute the script 532, thereby emulating live agent actions (e.g., live agent activity description 540 shown in FIG. 5A ) that would have been performed by the live agent 120 using the client computing device 110 to generate a response to the user query 412. After the agent activity module 552 executes the script, a script result 554 may be generated. In some embodiments of the present invention, the script result 554 is textual, graphical, and drawing information that may be shown on the display of the client computing device 112 and includes query result information 556 responsive to the user query 412.

[0061] Returning to technique 300, in block 314, the results of executing the script are analyzed to identify and extract script query response information from the execution results. An example of how block 314 may be implemented using a message extraction engine 550 is shown in FIG. 5B, where an agent activity module 552 executes the script 532 and generates script results 554 having query result information 556. Message extraction engine 550 is used to extract query result information 554 from script results 552. In some embodiments of the present invention, script result 554 includes a computer image, query result information 556 is incorporated within script result 554, and message extraction engine 550 includes optical character recognition (OCR) functionality configured and adjusted to extract query result information 556 from script result 554, convert image regions of text (e.g., query result information 556) into editable text, and generate an image representation sequence 508 representing query result information 554 so that it can be processed and analyzed by a downstream language model of SGC-CA 130 (e.g., language model 560 shown in FIG. 5C ). Language model 558 of message extraction engine 550 is configured and adjusted to convert query result information 556 into image representation sequence 508. In the example shown in FIGS. 5A and 5B , where user query is user message 412, query result information 556 is 300 megabits per second (MB / s) (e.g., query result information 556A shown in FIG. 5C ).

[0062] Returning to technique 300, blocks 316 and 318 generate a query response using, in any combination, the message, script, and / or query response information in the SCS session so far and incorporate the query response into the SCS session. FIG. 5C shows two diagrams illustrating examples of how blocks 316 and 318 may be implemented using a language model 560. In the leftmost diagram, the input and output to the language model 560 are shown in coded form. In the rightmost diagram, the input and output to the language model 560 are shown in uncoded, NL form. As shown in the leftmost diagram, the language model 560 is trained to receive, in any combination, a context word sequence 504, a command word sequence 506, and an image representation sequence 508 as an input sequence (e.g., input sequence 202A shown in FIG. 2). In response to the input sequence, language model 560 generates, as an output sequence (e.g., output sequence 206A shown in FIG. 2), a response word sequence 510 that represents an agent message 418 (shown in the right-most diagram) generated by language model 560 of SGC-CA 130 (shown in FIG. 1). As shown in the right-most diagram, the language model is trained to receive, in any combination, some or all of the messages in SCS session 410, live agent activity descriptions 540, and query result information 556A as an input sequence (e.g., input sequence 202A shown in FIG. 2). In response to the input sequence, language model 560 generates, as an output sequence (e.g., output sequence 206A shown in FIG. 2), an agent message 418 generated by language model 560 of SGC-CA 130 (shown in FIG. 1).

[0063] At block 318, technique 300 incorporates the query response into the agent messages that make up the current SCS session, and then moves to decision block 308 to determine that additional messages (other than the agent message added at block 318) have been added to the current SCS session. If the answer to the query at decision block 308 is no, technique 300 moves to blocks 310 and 302 to terminate the current SCS session at block 310 and search for a new SCS session at block 302. If the answer to the query at decision block 308 is yes, technique 300 moves to block 304 to again evaluate the messages in the SCS session, now including the yes result of the query at decision block 308 and the new message as identified by the operation at block 318. Completion of technique 300 is illustrated by the diagram shown in FIG. 5D, which, in comparison to the diagram shown in FIG. 4, illustrates that SGC-CA 130 has completed agent responses 414, 418, 422 for SCS session 410 in accordance with an embodiment of the present invention.

[0064] Additional details of machine learning techniques that can be used to implement aspects of the invention disclosed herein are now provided. Various types of computer control functions of the processors described herein can be implemented using machine learning or natural language processing techniques, or both. Generally, machine learning techniques are performed on so-called "neural networks," which can be implemented as programmable computers configured to run a set of machine learning algorithms, natural language processing algorithms, or both. Neural networks incorporate knowledge from diverse disciplines, including neurophysiology, cognitive science / psychology, physics (statistical mechanics), control theory, computer science, artificial intelligence, statistics / mathematics, pattern recognition, computer vision, parallel processing, and hardware (e.g., digital / analog / VLSI / optics).

[0065] The fundamental function of neural networks and their machine learning algorithms is to recognize patterns by interpreting unstructured sensor data through a form of machine perception. Unstructured real-world data in its natural form (e.g., images, sounds, text, or time series data) is converted into a numerical form (e.g., vectors with magnitude and direction) that can be understood and manipulated by a computer. Machine learning algorithms perform multiple iterations of learning-based analysis on real-world data vectors until patterns (or relationships) contained in the real-world data vectors are discovered and learned. The learned patterns / relationships serve as predictive models that can be used to perform a variety of tasks, including, for example, classifying (or labeling) real-world data and clustering real-world data. Classification tasks often rely on the use of labeled datasets to train neural networks (i.e., models) to recognize correlations between labels and data. This is known as supervised learning. Examples of classification tasks include identifying objects in images (e.g., stop signs, pedestrians, lane markers, etc.), recognizing gestures in videos, detecting voices, detecting voices in audio, identifying specific speakers, and transcribing speech to text. Clustering tasks identify similarities between objects, grouping objects according to common characteristics and differentiating them from other groups of objects; these groups are known as "clusters."

[0066] An example of a machine learning technique that may be used to implement aspects of the present invention is described with reference to Figures 6A and 7. A machine learning model configured and tuned in accordance with embodiments of the present invention is described with reference to Figure 6A. A detailed description of an exemplary computing system and network architecture capable of implementing one or more of the embodiments of the present invention described herein is provided with reference to Figure 8.

[0067] FIG. 6A shows a block diagram illustrating a classifier system 600 capable of implementing various aspects of the invention described herein. More specifically, the functionality of system 600 is used in embodiments of the invention to generate various models or sub-models, or combinations thereof, that can be used to implement the computer functionality of embodiments of the invention. System 600 includes multiple data sources 602 in communication with classifier 610 over network 604. In some aspects of the invention, data sources 602 may bypass network 604 and deliver data directly to classifier 610. Data sources 602 provide data / information inputs that are evaluated by classifier 610 according to embodiments of the invention. Data sources 602 also provide data / information inputs that can be used by classifier 610 to train and / or update model 616 created by classifier 610. Data sources 602 can be implemented as a wide variety of data sources, including, but not limited to, sensors configured to collect real-time data, data repositories (including training data repositories), and outputs from other classifiers. Network 604 can be any type of communication network, including, but not limited to, a local network, a wide area network, a private network, the Internet, and the like.

[0068] The classifier 610 may be implemented as an algorithm executed by a programmable computer, such as processing system 800 (shown in FIG. 8). As shown in FIG. 6A, the classifier 610 includes a set of machine learning (ML) algorithms 612, a natural language processing (NLP) algorithm 614, and a model 616, which is a relational (or predictive) algorithm generated (or learned) by the ML algorithm 612. The algorithms 612, 614, and 616 of the classifier 610 are shown separately for ease of illustration and explanation. In embodiments of the invention, the functions performed by the various algorithms 612, 614, and 616 of the classifier 610 may be distributed differently than shown. For example, if the classifier 610 is configured to perform an entire task having subtasks, the set of ML algorithms 612 may be segmented so that some of the ML algorithms 612 perform each subtask and some of the ML algorithms 612 perform the entire task. Furthermore, in some embodiments of the invention, the NLP algorithm 614 may be integrated within the ML algorithm 612.

[0069] The NLP algorithms 614 include speech recognition functionality that enables the classifier 610, and more specifically the ML algorithms 612, to receive natural language data (text and audio), apply elements of language processing, information retrieval, and machine learning to derive meaning from the natural language input, and potentially take action based on the derived meaning. The NLP algorithms 614 used in accordance with aspects of the present invention may also include speech synthesis functionality that enables the classifier 610 to translate results 620 into natural language (text and audio) and communicate aspects of the results 620 as natural language communications.

[0070] The NLP and ML algorithms 614, 612 receive and evaluate input data (i.e., training data and data to be analyzed) from the data sources 602. The ML algorithm 612 includes the functionality necessary to interpret and utilize the format of the input data. For example, if the data sources 602 include image data, the ML algorithm 612 may include vision software configured to interpret the image data. The ML algorithm 612 applies machine learning techniques to the received training data (e.g., data received from one or more of the data sources 602) to create / train / update one or more models 616 over time that model the overall tasks and subtasks that the classifier 610 is designed to complete.

[0071] FIG. 6B illustrates an example of interactive agent data 602A that corresponds to the training data 602 shown in FIG. 6A and that may be utilized to train various language models used in the SGC-CA 130 in accordance with aspects of the present invention. In aspects of the present invention, various language models supporting the functionality of the SGC-CA 130 may be trained to support various categories of SCS sessions 410. In some embodiments of the present invention, each SCS session category may be based, at least in part, on an assessment that the category involves a certain level of live agent cognitive decisions beyond those that can be efficiently implemented in a rule-based CA, and that the category involves a certain level of live agent cognitive decisions that are less complex and therefore would be performed more efficiently and / or more effectively by a live agent. For training purposes, the interactive agent training data 602A are live agent-executed SCS sessions, data of which is collected and labeled. In embodiments of the present invention, the labeled data for the live agent-performed SCS session shown in FIG. 6B may include, but is not limited to, data identifying the “conversation to date” corresponding to the live agent-performed SCS session 410A, data identifying the live agent activity corresponding to the live agent activity description 540A, data identifying the output (e.g., a set of generated screens) generated in response to the live agent activity performed by the live agent during the live agent-performed SCS session corresponding to the query result information 556A, and data identifying the “response” generated by the live agent based on the output generated in response to the live agent activity performed by the live agent during the live agent-performed SCS session corresponding to the agent message 418A. The labeled conversation training data 602A is used to train various language models that support the functionality of the SGC-CA 130 in performing the live agent's responsibilities for the SCS session. In some embodiments of the present invention, training is applied to language models that have not been pre-trained.In some embodiments of the present invention, the training is so-called "fine-tuned" training applied to pre-trained models, examples of which include the aforementioned Transformer model architectures such as BERT, GPT, GPT1, GPT2, and BART.

[0072] 6A and 7 , FIG. 7 illustrates an example of a learning phase 700 performed by the ML algorithm 612 to generate the aforementioned model 616. In the learning phase 700, the classifier 610 extracts features from the training data and converts the features into a vector representation that can be recognized and analyzed by the ML algorithm 612. The feature vectors are analyzed by the ML algorithm 612 to “classify” the training data relative to the target model (or the model’s task) and discover relationships between and across the classified training data. Examples of suitable implementations of the ML algorithm 612 include, but are not limited to, neural networks, support vector machines (SVMs), logistic regression, decision trees, hidden Markov models (HMMs), etc. The learning or training performed by the ML algorithm 612 may be supervised, unsupervised, or a hybrid that includes aspects of supervised and unsupervised learning. Supervised learning is when training data is already available and classified / labeled. Unsupervised learning is when training data is not classified / labeled and must be developed through iterations of classifiers 610 and ML algorithms 612. Unsupervised learning can utilize additional learning / training methods including, for example, clustering, anomaly detection, neural networks, and deep learning.

[0073] When the model 616 is sufficiently trained by the ML algorithm 612, the data source 602 that generates "real-world" data is accessed, and the "real-world" data is applied to the model 616 to generate a usable version of the result 620. In some embodiments of the present invention, the result 620 is returned to the classifier 610 and can be used by the ML algorithm 612 as additional training data for updating or improving or both the model 616.

[0074] In an aspect of the present invention, the ML algorithm 612 and the model 616 can be configured to apply a confidence level (CL) to various ones of their respective results / decisions (including the result 620) to improve the overall accuracy of a particular result / decision. If the ML algorithm 612 or the model 616 or both make or generate a decision for a result where the value of the CL is below a predetermined threshold (TH) (i.e., CL < TH), the result / decision is classified as having a sufficiently low "confidence" and can justify the conclusion that the decision / result is not valid, and this conclusion can be used to determine when, how, or both the decision / result should be handled in downstream processing. If CL > TH, the decision / result can be considered valid, and this conclusion can be used to determine when, how, or both the decision / result should be handled in downstream processing. Various predetermined TH levels can be provided. The decision / result with CL > TH can be ranked from the highest CL > TH to the lowest CL > TH to prioritize when, how, or both the decision / result should be handled in downstream processing.

[0075] In an aspect of the present invention, the classifier 610 may be configured to apply a confidence level (CL) to the result 620. When the classifier 610 determines that the CL in the result 620 is below a predetermined threshold (TH) (i.e., CL < TH), the result 620 may be classified as being sufficiently low to justify the classification of "no confidence" in the result 620. When CL > TH, the result 620 may be classified as being sufficiently high to justify the determination that the result 620 is valid. Various predetermined TH levels may be provided such that the results 620 with CL > TH can be ranked from the highest CL > TH to the lowest CL > TH.

[0076] The classifier 610, and more specifically the function executed by the ML algorithm 612, may be organized as a weighted directed graph, where the nodes are artificial neurons (e.g., modeled after the neurons of the human brain), and the weighted directed edges connect the nodes. The directed graph of the classifier 610 may be organized such that certain nodes form the input layer nodes, certain nodes form the hidden layer nodes, and certain nodes form the output layer nodes. The input layer nodes are connected to the hidden layer nodes, and the hidden layer nodes are connected to the output layer nodes. Each node is connected to all the nodes in the adjacent layer by connection paths that may be represented as directional arrows each having a connection strength. Multiple input layers, multiple hidden layers, and multiple output layers may be provided. When multiple hidden layers are provided, the classifier 610 can perform unsupervised deep learning to execute the assigned task of the classifier 610.

[0077] Similar to the function of the human brain, each input layer node receives an input without adjustment of the connection strength and summation of the nodes. Each hidden layer node receives its input from all the input layer nodes according to the connection strength associated with the relevant connection path. For the hidden layer nodes and the output layer nodes, a similar multiplication of the connection strength and summation of the nodes are performed.

[0078] The weighted directed graph of the classifier 610 "learns" by processing data records (e.g., output from the data source 602) one by one and comparing the record's initial, arbitrary classification with the record's known, actual classification. Using a training technique known as "backpropagation" (i.e., "backpropagation of error"), errors from the initial classification of the first record are fed back into the weighted directed graph of the classifier 610 and used to modify the weighted connections of the weighted directed graph a second time, and this feedback process continues iteratively. During the training phase of the weighted directed graph of the classifier 610, the correct classification of each record is known, and therefore, the output nodes can be assigned "correct" values. For example, nodes corresponding to the correct class are assigned a node value of "1" (or 0.9), and others are assigned a node value of "0" (or 0.1). In this way, the calculated values ​​of the weighted directed graph for the output nodes can be compared to these "correct" values ​​and an error term for each node can be calculated (i.e., the "delta" rule). These error terms are then used to adjust the weights in the hidden layer so that the output values ​​in the next iteration are closer to the "correct" values.

[0079] 8 illustrates an example of a computer system 800 that may be used to implement any computer-based components of the various embodiments of the present invention described herein. The computer system 800 includes an exemplary computing device (“computer”) 820 configured to perform various aspects of the content-based semantic monitoring operations described herein, in accordance with aspects of the present invention. In addition to the computer 820, the exemplary computer system 800 includes a network 834 that connects the computer 820 to additional systems (not shown), which may include one or more wide area networks (WANs) or local area networks (LANs), such as the Internet, an intranet, or a wireless communication network, or a combination thereof. The computer system 820 and the additional systems communicate via the network 834, for example, to communicate data therebetween.

[0080] The exemplary computer 820 includes a processor core 804, a main memory (“memory”) 810, and input / output components 812, communicating via a bus 830. The processor core 822 includes a branch prediction structure and associated search, hit, detect, and update logic, which are described in more detail below, and includes a cache memory (“cache”) 824 and a control 826. The cache 824 may include multiple cache levels (not shown) that are on the processor 822 or off-chip from the processor 822. The memory 828 may include various data stored therein, e.g., instructions, software, routines, etc., that may be transferred to / from the cache 824 by the control 826 for execution by the processor 822. The input / output components 830 may include one or more components that facilitate input / output operations to / from the computer 820, either locally and / or remotely, such as a display, keyboard, modem, network adapter, etc. (not shown).

[0081] Various embodiments of the present invention are described herein with reference to the associated drawings. Alternative embodiments of the present invention may be devised without departing from the scope of the present invention. Various connection and positional relationships (e.g., above, below, adjacent, etc.) are described between elements in the following description and in the drawings. These connections and / or positional relationships may be direct or indirect unless otherwise specified, and the present invention is not intended to be limited in this respect. Thus, connections between entities may refer to direct or indirect connections, and positional relationships between entities may be direct or indirect positional relationships. Furthermore, various tasks and process steps described herein may be incorporated into a broader procedure or process having additional steps or functions not described in detail herein.

[0082] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. It is further understood that the terms "comprises" and / or "comprising," when used herein, specify the presence of stated features, integers, steps, operations, or element components, or combinations thereof, but do not exclude the presence or addition of one or more other features, integers, steps, operations, element components, or groups or combinations thereof.

[0083] The following definitions and abbreviations may be used for interpreting the claims and the specification. As used herein, the terms "comprises," "comprising," "includes," "including," "has," "having," "contains," or "containing," or any other variation thereof, are intended to cover an exclusive inclusion. For example, a composition, mixture, process, method, article, or device that includes a list of elements is not necessarily limited to only those elements and may include a list of other elements not expressly listed or inherent to such composition, mixture, process, method, article, or device.

[0084] Furthermore, the term "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment or design described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments or designs. The terms "at least one" and "one or more" may be understood to include any integer number greater than or equal to one, i.e., 1, 2, 3, 4, etc. The term "plurality" may be understood to include any integer number greater than or equal to two, i.e., 2, 3, 4, 5, etc. The term "connected" may include both an indirect "connected" and a direct "connected."

[0085] The terms "about," "substantially," "approximately," and variations thereof are intended to include the degree of error associated with measurement of a particular quantity based on equipment available at the time of the filing of this application. For example, "about" can include a range of ±8%, or 5%, or 2% of a given value.

[0086] As used herein, in the context of machine learning algorithms, the term "input data," and variations thereof, is intended to encompass any type of data or other information received by and used by a machine learning algorithm to perform a training, learning, or classification operation, or a combination thereof.

[0087] As used herein, in the context of machine learning algorithms, the term "training data," and variations thereof, is intended to encompass any type of data or other information received by and used by a machine learning algorithm to perform training or learning operations, or both.

[0088] The present invention may be a system, a method, or a computer program product, or a combination thereof. The computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions thereon that cause a processor to perform aspects of the present invention.

[0089] A computer-readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes: portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, mechanically encoded devices such as punch cards or ridge-in-groove structures with instructions recorded thereon, and any suitable combination of the foregoing. As used herein, computer-readable storage media should not be construed as ephemeral signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through a fiber optic cable), or electrical signals transmitted over wires.

[0090] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to each computing / processing device or to an external computer or external storage device over a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium within the respective computing / processing device.

[0091] The computer-readable program instructions for carrying out the operations of the present invention may be either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk®, C++, etc., and conventional procedural programming languages ​​such as the “C” programming language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be to an external computer (e.g., through the Internet using an Internet Service Provider). In some embodiments, to carry out aspects of the present invention, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may execute computer-readable program instructions by utilizing state information of the computer-readable program instructions to personalize the electronic circuitry.

[0092] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0093] These computer-readable program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that the instructions, executed by the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams, to produce a machine. These computer-readable program instructions can also be stored on a computer-readable storage medium that can instruct a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner. A computer-readable storage medium having instructions stored thereon thereby comprises an article of manufacture including instructions that implement aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0094] Furthermore, the computer-readable program instructions may be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be executed on the computer, other programmable apparatus, or other device that produces computer-implemented processes, such that the instructions executed on the computer, other programmable apparatus, or other device implement the functions / operations specified in one or more blocks of the flowcharts and / or block diagrams.

[0095] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of instructions, including one or more executable instructions, that implement the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially in parallel, or the blocks may sometimes be executed in the reverse order, depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a dedicated hardware-based system that performs the specified functions or acts or executes a combination of dedicated hardware and computer instructions.

[0096] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, singular forms such as "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. It should be further understood that the terms "includes" and / or "including," when used herein, specify the presence of stated features, integers, steps, operations, elements or components, or combinations thereof, but do not exclude the presence or addition of one or more other features, integers, steps, operations, or components of elements, groups thereof, or combinations thereof.

[0097] In the following claims, equivalents of corresponding structure, material, acts, and all means-or-step-plus-function elements are intended to include any structure, material, or act for performing the function as specifically claimed in combination with other claimed elements. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or to limit the invention to the form disclosed. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the invention. These embodiments were chosen and described to best explain the principles and practical applications of the invention, and to enable those skilled in the art to understand the invention in various embodiments with various modifications suited to the particular uses contemplated.

[0098] It will be understood that those skilled in the art, both now and in the future, may make various improvements and enhancements that fall within the scope of the following claims.

Claims

1. 1. A computer-implemented method for responding to a query received electronically in a synchronous conferencing system (SCS), the computer-implemented method comprising: generating, using a processor of the SCS, a script based at least in part on the query, the script including one or more script computer instructions; using the processor to execute the one or more script computer instructions to generate script computer instruction results, the script computer instruction results including query response information responsive to the query; generating, using the processor, a query response responsive to the query based at least in part on the query and the query response information; A computer-implemented method comprising:

2. the one or more script computer instructions, when executed by the processor, simulate live agent processor-controlled actions; the live agent processor control actions include processor control actions that may be taken by the live agent during an attempt by the live agent to utilize the processor to generate the query response information. The computer-implemented method of claim 1 .

3. generating the query response using the processor is further based at least in part on the one or more script computer instructions.

3. The computer-implemented method of claim 1 or 2.

4. the processor includes a first model trained to perform a first task; the first task includes generating the script based at least in part on the query; 3. The computer-implemented method of claim 1 or 2.

5. the processor further includes a second model trained to perform a second task; the second task includes generating the query response based at least in part on the query and the query response information. The computer-implemented method of claim 4.

6. the query is generated by a user; the query is included in a set of natural language messages exchanged between the user and a live agent; the processor includes a first model trained to perform a first task; the first task includes generating the script based at least in part on the set of natural language messages exchanged between the user and the live agent; the processor further includes a second model trained to perform a second task; The second task comprises: the set of natural language messages exchanged between the user and the live agent; the one or more script computer instructions; and said inquiry response information generating the query response based at least in part on 3. The computer-implemented method of claim 1 or 2.

7. 1. A computer system for responding to a query received electronically at a computer system, the computer system comprising: a memory communicatively connected to a processor, the processor comprising: generating a script based at least in part on the query, the script including one or more script computer instructions; an operation of executing the one or more script computer instructions to generate a script computer instruction result, the script computer instruction result including query response information responsive to the query; and generating a query response responsive to the query based at least in part on the query and query response information; 1. A computer system configured to perform processor operations including:

8. the one or more script computer instructions, when executed by the processor, simulate live agent processor-controlled actions; the live agent processor control actions include processor control actions that may be taken by the live agent during an attempt by the live agent to utilize the processor to generate the query response information.

8. The computer system of claim 7.

9. generating the query response is further based at least in part on the one or more script computer instructions; 9. A computer system according to claim 7 or 8.

10. the processor includes a first model that performs a first task; the first task includes generating the script based at least in part on the query; 9. A computer system according to claim 7 or 8.

11. the processor further includes a second model that performs a second task; the second task includes generating the query response based at least in part on the query and the query response information.

11. The computer system of claim 10.

12. the query is generated by a user; the query is included in a set of natural language messages exchanged between the user and a live agent; the processor includes a first model that performs a first task; the first task includes generating the script based at least in part on the set of natural language messages exchanged between the user and the live agent; the processor further includes a second model that performs a second task; The second task comprises: the set of natural language messages exchanged between the user and the live agent; the one or more script computer instructions; and said inquiry response information generating the query response based at least in part on 9. A computer system according to claim 7 or 8.

13. 1. A computer program for responding to a query received electronically at a processor, the computer program comprising: generating a script based at least in part on said query, said script including one or more script computer instructions; executing the one or more script computer instructions to generate script computer instruction results, the script computer instruction results including query response information responsive to the query; generating a query response responsive to the query based at least in part on the query and query response information; A computer program that executes

14. the one or more script computer instructions, when executed by the processor, simulate live agent processor-controlled actions; the live agent processor control actions include processor control actions that may be taken by the live agent during an attempt by the live agent to utilize the processor to generate the query response information.

14. A computer program according to claim 13.

15. generating the query response is further based at least in part on the one or more script computer instructions; 15. A computer program according to claim 13 or 14.

16. the processor includes a first model that performs a first task; the first task includes generating the script based at least in part on the query; 15. A computer program according to claim 13 or 14.

17. the query is generated by a user; the query is included in a natural language text exchange between the user and a live agent; the processor includes a first model that performs a first task; the first task includes generating the script based at least in part on the natural language text exchange between the user and the live agent; the processor further includes a second model that performs a second task; The second task comprises: the natural language text exchange between the user and the live agent; the one or more script computer instructions; and said inquiry response information generating the query response based at least in part on 15. A computer program according to claim 13 or 14.

Citation Information

Patent Citations

  • Automatic expansion of message exchange threads based on message classification

    JP2019521415A

  • Analyzing web pages to facilitate automatic navigation

    US20200342039A1

  • Providing Image and Text Data for Automatic Target Selection in Robotic Process Automation

    US20210109717A1