Method and system for dynamically and adaptively routing deferrable work in a contact center
By using natural language processing and optimization models to assess the priority of deferred tasks in the contact center system and dynamically assign them to suitable agents, the problem of improper resource allocation in the contact center system was solved, and workflow efficiency and customer service quality were improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- GENESIS CLOUD SERVICES CO LTD
- Filing Date
- 2021-09-30
- Publication Date
- 2026-07-03
AI Technical Summary
Existing contact center systems struggle to effectively optimize workflows when handling deferred work interactions, leading to improper resource allocation and inefficiency.
Multiple natural language processing models and priority models are used to evaluate the priority of deferred work interactions. Combined with inbound work prediction and agent work scheduling data, an optimized workflow is generated through optimization process, and deferred work interactions are dynamically and adaptively allocated to the most suitable agents.
It improved the workflow efficiency of the contact center, optimized resource allocation, reduced the time spent processing delayed tasks, and enhanced customer service quality.
Smart Images

Figure CN116745772B_ABST
Abstract
Description
[0001] Cross-referencing of related patent applications
[0002] This application relates to U.S. Provisional Patent Application No. 63 / 085,373, filed on September 30, 2020, with the U.S. Patent and Trademark Office, entitled “Method and System for Dynamic Adaptive Routing of Deferrable Work in an Acontact Center,” which was converted into a pending U.S. Patent Application No. ____, also entitled “Method and System for Dynamic Adaptive Routing of Deferrable Work in an Acontact Center,” filed on September 30, 2021. Background Technology
[0003] This invention relates generally to telecommunications systems in the field of customer relationship management, including customer assistance via call or contact centers and internet-based service options. More specifically, but not in a limiting sense, this invention relates to systems and methods for dynamically and adaptively routing deferred tasks such as email in contact centers. The invention also relates to optimizing workflows related to deferred tasks and factors such as priority scores for deferred task interactions and agent availability. Summary of the Invention
[0004] Therefore, the present invention includes a computer-implemented method for optimizing workflows in a contact center, where deferred work interactions are prioritized and assigned to agents for processing. The method may include the following steps: providing a plurality of Natural Language Processing (NLP) models, each NLP model configured to accept text from a given deferred work interaction as input and generate NLP scores indicating how these given deferred work interactions are rated according to features; a priority model configured to accept the scores generated by the plurality of NLP models as input and generate priority scores related to priority features, the priority scores indicating how the given deferred work interaction should be prioritized for processing relative to other deferred work interactions among these deferred work interactions; receiving the deferred work interactions; using text derived from these deferred work interactions as input to the plurality of NLP models to generate the NLP scores for each of the deferred work interactions; using the generated NLP scores as input to the priority model to generate the NLP scores for each of the deferred work interactions. The priority score is generated for each deferred job interaction; the generated NLP score is used to identify one or more candidate agents among these agents for handling each of the deferred job interactions; inbound job forecasts for the contact center are received, which predict the expected level of inbound job traffic over one or more future work cycles; agent job scheduling data describing the expected job scheduling for these agents in relation to the one or more future work cycles is received; an optimization process is used to generate an optimized workflow for these deferred job interactions, wherein for each of the deferred job interactions, the optimized workflow includes allocation, wherein selected agents are chosen from the candidate agents for handling the deferred job interaction, and a target time frame for handling the deferred job interaction is scheduled; and these allocations of the optimized workflow route each of the deferred job interactions. The optimization process can be configured to optimize based on the following factors: the priority score generated for each of these deferred job interactions; the expected availability of the one or more candidate agents identified for each of these deferred job interactions in the one or more future job cycles, the expected availability being determined based on: the agent job scheduling data in the one or more future job cycles; and the predicted level of inbound jobs in the one or more future job cycles, given the inbound job forecast.
[0005] These and other features of this application will become more apparent when read in conjunction with the accompanying drawings and the appended claims in the following detailed description of exemplary embodiments. Attached Figure Description
[0006] A more complete understanding of the invention will become apparent when considered in conjunction with the accompanying drawings and with reference to the following detailed description, wherein similar reference numerals indicate similar parts in the drawings:
[0007] Figure 1 A schematic block diagram of a computing device is shown that enables or practices an exemplary embodiment of the invention according to the present invention.
[0008] Figure 2 A schematic block diagram of a communication infrastructure or contact center that can be used to enable or practice the invention according to an exemplary embodiment of the invention is shown.
[0009] Figure 3 This is a schematic diagram of an exemplary deferred working module according to an exemplary embodiment of the present invention; and
[0010] Figure 4 This is a method for providing an optimized workflow for deferred work according to an exemplary embodiment of the present invention. Detailed Implementation
[0011] To facilitate understanding of the principles of the invention, reference will now be made to exemplary embodiments illustrated in the accompanying drawings, and these embodiments will be described using specific language. However, it will be apparent to those skilled in the art that the detailed material provided in the examples may not be necessary for practicing the invention. In other instances, well-known materials or methods have not been described in detail to avoid obscuring the invention. Furthermore, as would normally be expected by those skilled in the art, as presented herein, further modifications to the provided examples or applications of the principles of the invention can be contemplated.
[0012] As used herein, language specifying non-limiting examples and descriptions includes "for example (e.g., for example / for instance)," "that is," etc. Furthermore, throughout this specification, terms such as "implementation," "an embodiment," "an embodiment of the invention," "exemplary embodiment," "certain embodiments," etc., refer to a particular feature, structure, or characteristic described in connection with a given example that may be included in at least one embodiment of the invention. Therefore, the appearance of phrases such as "implementation," "an embodiment," "an embodiment of the invention," "exemplary embodiment," "certain embodiments," etc., does not necessarily refer to the same embodiment or example. Moreover, in one or more embodiments or examples, a particular feature, structure, or characteristic may be combined in any suitable combination and / or sub-combination.
[0013] Those skilled in the art will recognize from this disclosure that various embodiments can be computers implemented using many different types of data processing devices, wherein the embodiments are implemented as apparatus, methods, or computer program products. Therefore, exemplary embodiments may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Exemplary embodiments may also take the form of a computer program product embodied in computer-usable program code in any tangible medium. In each case, the exemplary embodiments may generally be referred to as a “module,” a “system,” or a “method.”
[0014] The flowcharts and block diagrams provided in the accompanying drawings illustrate the architecture, functionality, and operation of possible specific implementations of systems, methods, and computer program products according to exemplary embodiments of the present invention. In this regard, it should be understood that each block or combination of blocks in the flowcharts and / or block diagrams may represent a module, segment, or portion of program code having one or more executable instructions for implementing a specified logical function. Similarly, it should be understood that each block or combination of blocks in the flowcharts and / or block diagrams may be implemented by a system based on dedicated hardware or a combination of dedicated hardware and computer instructions that perform a specified action or function. Such computer program instructions may also be stored in a computer-readable medium that instructs a computer or other programmable data processing apparatus to operate in a particular manner, such that the program instructions in the computer-readable medium produce an article of art including instructions that implement the function or action specified in each block or combination of blocks in the flowcharts and / or block diagrams.
[0015] computing devices
[0016] It should be understood that the systems and methods of the present invention can be implemented using a computer employing many different forms of data processing devices (e.g., digital microprocessors and associated memory) that execute appropriate software programs. Considering the background factors, Figure 1 A schematic block diagram of an exemplary computing device 100 according to embodiments of the present invention and / or utilizing it to enable or practice those embodiments is shown. It should be understood that... Figure 1 Provided as a non-restrictive example.
[0017] Computing device 100 may be implemented, for example, via firmware (e.g., application-specific integrated circuit), hardware or software, or a combination of firmware and hardware. It should be understood that each of the servers, controllers, switches, gateways, engines, and / or modules (collectively referred to as servers or modules) in the figure below may be implemented via one or more of the computing devices 100. For example, various servers may be processes running on one or more processors of one or more computing devices 100, which may execute computer program instructions and interact with other systems or modules to perform the various functions described herein. Unless otherwise expressly limited, the functions described with respect to multiple computing devices may be integrated into a single computing device, or the various functions described with respect to a single computing device may be distributed across several computing devices. Furthermore, regarding the computing system described in the figure below, such as... Figure 2 The contact center system 200, various servers, and their computer equipment may be located on local computing devices 100 (i.e., on-site or at the same physical location as the contact center agents), on remote computing devices 100 (i.e., off-site or in a cloud computing environment, such as in a remote data center connected to the contact center via a network), or some combination thereof. Functionality provided by servers on off-site computing devices may be accessed and provided via a Virtual Private Network (VPN) as if such servers were on-site, or may be provided using Software as a Service (SaaS) (which uses various protocols to access via the Internet), such as exchanging data via Extensible Markup Language (XML), JSON, etc.
[0018] As illustrated in the example, computing device 100 may include a central processing unit (CPU) or processor 105 and main memory 110. Computing device 100 may also include storage device 115, removable media interface 120, network interface 125, I / O controller 130, and one or more input / output (I / O) devices 135, as shown, which may include display device 135A, keyboard 135B, and pointing device 135C. Computing device 100 may also include additional elements such as memory port 140, bridge 145, I / O ports, one or more additional input / output devices 135D, 135E, 135F, and cache memory 150 communicating with processor 105.
[0019] Processor 105 can be any logic circuit that responds to and processes instructions fetched from main memory 110. For example, process 105 can be implemented by an integrated circuit (e.g., a microprocessor, microcontroller, or graphics processing unit) or in a field-programmable gate array or application-specific integrated circuit. As shown, processor 105 can communicate directly with cache memory 150 via an auxiliary bus or back bus. Cache memory 150 typically has a faster response time than main memory 110. Main memory 110 can be one or more memory chips capable of storing data and allowing central processing unit 105 to directly access the stored data. Storage device 115 can provide storage for operating systems and other software that control scheduling tasks and access to system resources. Unless otherwise limited, computing device 100 may include operating systems and software capable of performing the functions described herein.
[0020] As depicted in the illustrated example, computing device 100 may include various I / O devices 135, one or more of which may be connected via I / O controller 130. Input devices may include, for example, a keyboard 135B and pointing devices 135C, such as a mouse or optical pen. Output devices may include, for example, a video display device, speakers, and a printer. I / O devices 135 and / or I / O controller 130 may include suitable hardware and / or software for enabling multiple display devices. Computing device 100 may also support one or more removable media interfaces 120, such as a disk drive, a USB port, or any other device suitable for reading data from or writing data to a computer-readable medium. More generally, I / O devices 135 may include any conventional devices for performing the functions described herein.
[0021] The computing device 100 may be any workstation, desktop computer, laptop or notebook computer, server machine, virtualization machine, mobile or smartphone, portable telecommunications equipment, media playback device, gaming system, mobile computing device, or any other type of computing, telecommunications or media device capable of (but not limited to) performing the operations described herein.
[0022] Contact Center
[0023] Now for reference Figure 2 This illustrates a communication infrastructure or contact center system 200 according to exemplary embodiments of the present invention and / or exemplary embodiments thereof that enable or practice the present invention. It should be understood that the term "contact center system" is used herein to refer to... Figure 2The term "contact center" refers to the system and / or its components, but more generally refers to a contact center system, the customer service providers operating those systems, and / or the organizations or enterprises associated with them. Therefore, unless explicitly limited otherwise, the term "contact center" generally refers to a contact center system (such as contact center system 200), the associated customer service providers (such as a specific customer service provider offering customer service through contact center system 200), and the organizations or enterprises that offer those customer services on its behalf.
[0024] In the back office, customer service providers typically offer a variety of services through contact centers. These contact centers may be staffed with employees or customer service agents (or simply "agents") who act as intermediaries between companies, businesses, government agencies, or organizations (hereinafter referred to as "organizations" or "enterprises") and individuals such as users, individuals, or customers (hereinafter referred to as "individuals" or "customers"). For example, agents at a contact center can assist customers in making purchasing decisions, receiving orders, or resolving issues with received products or services. Within a contact center, such interactions between contact center agents and external entities or customers can take place over various communication channels, such as via voice (e.g., telephone calls or VoIP calls), video (e.g., video conferencing), text (e.g., email and text chat), screen sharing, shared browsing, etc.
[0025] Operationally, contact centers generally strive to provide high-quality service to customers while minimizing costs. For example, one way contact centers operate is by handling each customer's interaction with a live agent. While this approach may score well in terms of service quality, it can also be very expensive due to the high cost of agent labor. Therefore, most contact centers utilize some degree of automation to replace live agents, such as interactive voice response (IVR) systems, interactive media response (IMR) systems, internet bots or "bots," automated chat modules or "chatbots," etc. In many cases, this has proven to be a successful strategy because automated processes can handle certain types of interactions very efficiently and effectively reduce the need for live agents. Such automation allows contact centers to use human agents for more challenging customer interactions, while automated processes handle more repetitive or routine tasks. Furthermore, automated processes can be built in ways that optimize efficiency and promote repeatability. While human or live agents may forget to ask certain questions or follow up on specific details, such errors can often be avoided by using automated processes. Although customer service providers are increasingly reliant on automated processes to interact with customers, customers still use such technologies far less. Therefore, although IVR systems, IMR systems, and / or robots are used to automate some interactions on the contact center side of the interaction, the actions on the customer side are still performed manually by the customer.
[0026] For details, please refer to the following: Figure 2 Customer service providers can use contact center system 200 to provide various types of services to customers. For example, contact center system 200 can be used to participate in and manage interactions between automated processes (or robots) or human agents and customers. It should be understood that contact center system 200 can be an internal facility of a business or enterprise, used to perform sales and customer service functions relative to the products and services available to the enterprise. On the other hand, contact center system 200 can be operated by a third-party service provider contracted to provide services to another organization. Furthermore, contact center system 200 can be deployed on equipment dedicated to an enterprise or third-party service provider, and / or deployed in remote computing environments, such as, for example, private or public cloud environments with infrastructure for supporting multiple contact centers for multiple enterprises. Contact center system 200 may include software applications or programs that can execute on-site, remotely, or in some combination thereof. It should also be understood that the various components of contact center system 200 can be distributed across various geographical locations and are not necessarily contained in a single location or computing environment.
[0027] It should also be understood that, unless otherwise expressly limited, any of the computing elements in this invention may also be implemented in a cloud-based or cloud computing environment. As used herein, “cloud computing” (or simply “cloud”) is defined as a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage devices, applications, and services), which can be rapidly provisioned via virtualization and deployed with minimal management effort or service provider interaction, and then scaled accordingly. Cloud computing can be comprised of various features (e.g., on-demand self-service, extensive network access, resource pooling, rapid elasticity, metered services, etc.), service models (e.g., Software as a Service (“SaaS”), Platform as a Service (“PaaS”), Infrastructure as a Service (“IaaS”), and deployment models (e.g., private cloud, community cloud, public cloud, hybrid cloud, etc.). Cloud execution models are often referred to as “serverless architectures,” which typically involve service providers that dynamically manage the allocation and configuration of remote servers to achieve the required functionality.
[0028] according to Figure 2 As shown in the example, components or modules of the contact center system 200 may include: multiple client devices 205A, 205B, 205C; a communication network (or simply "network") 210; a switch / media gateway 212; a call controller 214; an interactive media response (IMR) server 216; a routing server 218; a storage device 220; a statistics (or "stat") server 226; multiple agent devices 230A, 230B, 230C, each including work areas 232A, 232B, 232C; a multimedia / social media server 234; a knowledge management server 236 coupled to a knowledge system 238; a chat server 240; a web server 242; an interactive (or "iXn") server 244; a universal contact server (or "UCS") 246; a reporting server 248; a media service server 249; an analytics module 250; and a deferred workflow module 260. It should be understood that, relative to... Figure 2 Or any of the computer-implemented components, modules, or servers described in any of the following figures can be accessed via various types of computing devices (such as, for example...) Figure 1 The contact center system 200 is implemented using a computing device 100. As can be seen, the contact center system 200 generally manages resources (e.g., personnel, computers, telecommunications equipment, etc.) to enable the delivery of services via telephone, email, chat, or other communication mechanisms. Such services may vary depending on the type of contact center and may include, for example, customer service, help desk functions, emergency response, remote marketing, order taking, etc.
[0029] Customers wishing to receive services from contact center system 200 can initiate inbound communications to contact center system 200 (e.g., telephone calls, emails, chat, etc.) via customer equipment 205. Although Figure 2 Three such client devices are shown, namely client devices 205A, 205B, and 205C, but it should be understood that any number of such client devices may exist. Client device 205 may be, for example, a communication device such as a telephone, smartphone, computer, tablet, or laptop. Based on the functions described herein, a customer can generally use client device 205 to initiate, manage, and conduct communications with contact center system 200, such as telephone calls, emails, chat, text messages, web browsing sessions, and other multimedia transactions.
[0030] Inbound and outbound communications to and from client equipment 205 can traverse network 210, the nature of which typically depends on the type of client equipment used and the form of communication. For example, network 210 may include communication networks for telephone, cellular, and / or data services. Network 210 may be a private or public switched telephone network (PSTN), a local area network (LAN), a private wide area network (WAN), and / or a public WAN such as the Internet.
[0031] Regarding switch / media gateway 212, it is coupled to network 210 for receiving and transmitting telephone calls between the customer and contact center system 200. Switch / media gateway 212 may include a telephone exchange or communication exchange configured to act as a central exchange for agent-level routing within the center. The exchange may be a hardware switching system or implemented via software. For example, switch 215 may include an automatic call distributor, a private branch exchange (PBX), an IP-based software exchange, and / or any other exchange with dedicated hardware and software configured to receive interactions from the Internet and / or from the telephone network from the customer and route those interactions to, for example, one of the agent devices in agent device 230. Thus, generally speaking, switch / media gateway 212 establishes a voice connection between the customer and the agent by establishing a connection between customer device 205 and agent device 230.
[0032] As further shown, the switch / media gateway 212 may be coupled to a call controller 214, which may serve as, for example, an adapter or interface between the switch and other routing, monitoring, and communication processing components of the contact center system 200. The call controller 214 may be configured to handle PSTN calls, VoIP calls, etc. For example, the call controller 214 may include computer telephony integration (CTI) software for engaging with the switch / media gateway and other components. The call controller 214 may include a Session Initiation Protocol (SIP) server for handling SIP calls. The call controller 214 may also extract data about incoming interactions, such as a customer's phone number, IP address, or email address, and then communicate this data with other contact center components while processing the interaction.
[0033] Regarding the Interactive Media Response (IMR) server 216, it can be configured to enable self-service or virtual assistant functions. Specifically, the IMR server 216 can be similar to an Interactive Voice Response (IVR) server, except that the IMR server 216 is not limited to voice and can also cover various media channels. In the example illustrating voice, the IMR server 216 can be configured with an IMR script to inquire about the customer's needs. For example, a bank's contact center can inform a customer via an IMR script to "press 1" if they wish to retrieve their account balance. By continuing to interact with the IMR server 216, the customer can receive service without speaking to an agent. The IMR server 216 can also be configured to determine why the customer contacted the contact center, allowing communication to be routed to the appropriate resources.
[0034] Regarding routing server 218, it can be used to route incoming interactions. For example, once it is determined that inbound communication should be handled by a human agent, functionality within routing server 218 can select the most appropriate agent and route the communication to them. This agent selection can be based on which available agent is best suited to handle the communication. More specifically, the selection of the appropriate agent can be based on a routing strategy or algorithm implemented by routing server 218. In doing so, routing server 218 can query data related to the incoming interaction, such as data related to a specific customer, available agents, and interaction type, as described in more detail below, which can be stored in a specific database. Once an agent is selected, routing server 218 can interact with call controller 214 to route (i.e., connect) the incoming interaction to the corresponding agent device 230. As part of this connection, information about the customer can be provided to the selected agent via their agent device 230. This information is intended to enhance the service that the agent can provide to the customer.
[0035] Regarding data storage, contact center system 200 may include one or more mass storage devices (generally represented by storage device 220) for storing data in one or more databases related to the functions of the contact center. For example, storage device 220 may store customer data maintained in customer database 222. Such customer data may include customer profiles, contact information, service level agreements (SLAs), and interaction history (e.g., details of previous interactions with a particular customer, including the nature of the previous interaction, handling data, wait times, processing times, and actions taken by the contact center to resolve customer issues). As another example, storage device 220 may store agent data in agent database 223. Agent data maintained by contact center system 200 may include agent availability and agent profiles, schedules, skills, processing times, etc. As yet another example, storage device 220 may store interaction data in interaction database 224. Interaction data may include data related to numerous past interactions between customers and the contact center. More generally, it should be understood that, unless otherwise specified, storage device 220 may be configured to include databases and / or store data relating to any type of information described herein, wherein such databases and / or data can be accessed by other modules or servers of contact center system 200 in a manner that facilitates the functionality described herein. For example, servers or modules of contact center system 200 may query such databases to retrieve data stored therein or transfer data thereto for storage. For example, storage device 220 may take the form of any conventional storage medium and may be locally housed or operated from a remote location.
[0036] Regarding statistics server 226, it can be configured to record and aggregate data related to the performance and operational aspects of contact center system 200. This information can be compiled by statistics server 226 and made available to other servers and modules (such as reporting server 248), which can then use the data to generate reports for managing operational aspects of the contact center and performing automated actions according to the functions described herein. This data may relate to the status of contact center resources, such as average wait times, abandonment rates, agent occupancy rates, and other data required for the functions described herein.
[0037] The agent device 230 of contact center 200 may be a communication device configured to interact with various components and modules of contact center system 200 in a manner that facilitates the functions described herein. For example, agent device 230 may include a telephone suitable for regular telephone calls or VoIP calls. Agent device 230 may also include a computing device configured to communicate with the server of contact center system 200 according to the functions described herein, perform data processing associated with operations, and interact with customers via voice, chat, email, and other multimedia communication mechanisms. Although Figure 2 Three such agent devices are shown, namely agent devices 230A, 230B and 230C, but it should be understood that any number of agent devices may exist.
[0038] Regarding the multimedia / social media server 234, it can be configured to facilitate media interaction (excluding voice) with client device 205 and / or server 242. Such media interaction may be associated with, for example, email, voicemail, chat, video, text messaging, networking, social media, shared browsing, etc. The multimedia / social media server 234 may take the form of any IP router conventional in the art with dedicated hardware and software for receiving, processing, and forwarding multimedia events and communications.
[0039] Regarding the knowledge management server 234, it can be configured to facilitate interaction between clients and the knowledge system 238. Generally, the knowledge system 238 can be a computer system capable of receiving questions or queries and providing answers as responses. The knowledge system 238 can be included as part of a contact center system 200 or remotely operated by a third party. The knowledge system 238 may include an artificial intelligence computer system capable of answering questions posed in natural language, as is known in the art, by retrieving information from sources such as encyclopedias, dictionaries, newsletter articles, literary works, or other documents submitted to the knowledge system 238 as reference material. For example, the knowledge system 238 can be embodied in IBM Watson or a similar system.
[0040] Regarding chat server 240, it can be configured to conduct, orchestrate, and manage electronic chat communications with clients. Generally, chat server 240 is configured to implement and maintain chat sessions and generate chat transcripts. Such chat communications can be conducted by chat server 240 in a manner where the client communicates with an automated chatbot, a human agent, or both. In an exemplary embodiment, chat server 240 can be used as a chat orchestration server that schedules chat sessions between chatbots and available human agents. In such cases, the processing logic of chat server 240 can be rule-driven to leverage intelligent workload distribution among available chat resources. Chat server 240 can also implement, manage, and facilitate user interfaces (also referred to as UIs) associated with chat features, including those UIs generated at client device 205 or agent device 230. Chat server 240 can be configured to transfer chat with a specific client within a single chat session between automated and human resources, such as transferring a chat session from a chatbot to a human agent or vice versa. Chat server 240 can also be coupled to knowledge management server 234 and knowledge system 238 to receive suggestions and answers to queries made by customers during chat, such as providing links to relevant articles.
[0041] Regarding web server 242, such servers may be included to provide site hosting for various social interaction sites (such as Facebook, Twitter, Instgraph, etc.) subscribed to by customers. Although depicted as part of contact center system 200, it should be understood that web server 242 may be provided and / or remotely maintained by a third party. Web server 242 may also provide web pages for businesses or organizations supported by contact center system 200. For example, customers may browse web pages and receive information about the products and services of a particular business. Within such business web pages, mechanisms may be provided for initiating interactions with contact center system 200, such as via web chat, voice, or email. An example of such mechanisms is a desktop applet that may be deployed on a web page or website hosted on web server 242. As used herein, a desktop applet refers to a user interface component that performs a specific function. In some implementations, a desktop applet may include graphical user interface controls that may be overlaid on a web page displayed to a customer via the Internet. Desktop applets may display information, such as in windows or text boxes, or include buttons or other controls that allow customers to access certain functions, such as sharing or opening files or initiating communications. In some implementations, desktop applets include user interface components with portable portions of code that can be installed and executed within a separate webpage without compilation. Some desktop applets may include corresponding or additional user interfaces and may be configured to access various local resources (e.g., calendar or contact information on the client's device) or remote resources via a network (e.g., instant messaging, email, or social network updates).
[0042] Regarding the interactive (iXn) server 244, it can be configured to manage deferred activities in the contact center and their routing to human agents for completion. As used herein, deferred activities include background work that can be performed offline, such as replying to emails, attending training sessions, and other activities that do not require real-time communication with customers. For example, the interactive (iXn) server 244 can be configured to interact with the routing server 218 to select the appropriate agent to handle each deferred activity among the deferred activities. Once assigned to a specific agent, the deferred activity is pushed to that agent, making it appear on the selected agent's agent device 230. The deferred activity may appear in work area 232 as a task to be completed by the selected agent. The functionality of work area 232 can be implemented via any conventional data structure such as, for example, a linked list, an array, etc. Each agent device in agent device 230 may include work area 232, wherein work areas 232A, 232B, and 232C are maintained in agent devices 230A, 230B, and 230C, respectively. As an example, workspace 232 can be stored in the buffer memory of the corresponding agent device 230.
[0043] Regarding the Universal Contact Server (UCS) 246, it can be configured to retrieve information stored in the customer database 222 and / or transmit information thereto for storage. For example, the UCS 246 can be used as part of chat features to maintain a history of how chats with specific customers were handled, which can then be used as a reference for how future chats should be handled. More generally, the UCS 246 can be configured to facilitate the maintenance of a history of customer preferences, such as preferred media channels and optimal contact times. To this end, the UCS 246 can be configured to identify data related to the interaction history of each customer, such as data related to comments from agents, customer communication history, etc. Each of these data types can then be stored in the customer database 222 or on other modules and retrieved as needed according to the functional requirements described herein.
[0044] Regarding report server 248, it can be configured to generate reports from data compiled and aggregated by statistics server 226 or other sources. Such reports may include near real-time or historical reports and relate to the status and performance characteristics of contact center resources, such as, for example, average wait time, abandonment rate, and agent occupancy rate. Reports may be generated automatically or in response to specific requests from requesters (e.g., agents, administrators, contact center applications, etc.). These reports can then be used to manage contact center operations according to the functions described herein.
[0045] Regarding media service server 249, it can be configured to provide audio and / or video services to support contact center features. Based on the functionality described herein, such features may include prompts to IVR or IMR systems (e.g., playback of audio files), hold music, voicemail / one-way recording, multi-way recording (e.g., multi-way recording of audio and / or video calls), speech recognition, dual-tone multi-frequency (DTMF) recognition, fax, audio and video transcoding, Secure Real-Time Transport Protocol (SRTP), audio conferencing, video conferencing, tutorials (e.g., enabling coaches to listen to interactions between customers and agents and enabling coaches to provide comments to agents when customers have not heard the comments), call analytics, keyword targeting, etc.
[0046] Regarding the analysis module 250, it can be configured to provide systems and methods for performing analysis on data received from multiple different data sources, as the functionality described herein may require. According to an exemplary embodiment, the analysis module 250 can also generate, update, train, and modify a predictor or model 252 based on collected data, such as, for example, customer data, agent data, and interaction data. Model 252 may include behavioral models of customers or agents. Behavioral models can be used to predict, for example, customer or agent behavior in various situations, thereby allowing embodiments of the invention to tailor interactions or allocate resources to prepare predictive characteristics for future interactions based on such predictions, thereby improving the overall performance of the contact center and the customer experience. It should be understood that while the analysis module 250 is depicted as part of a contact center, such behavioral models can also be implemented on the customer system (or, as used herein, on the "customer side" of the interaction) and used for customer benefits.
[0047] According to an exemplary embodiment, the analysis module 250 can access data stored in storage device 220, including a customer database 222 and an agent database 223. The analysis module 250 can also access an interaction database 224, which stores data related to interactions and interaction content (e.g., transcriptions of detected interactions and events), interaction metadata (e.g., customer identifiers, agent identifiers, interaction media, interaction duration, interaction start and end times, department, tagged category), and application settings (e.g., interaction paths via contact centers). Furthermore, as discussed in more detail below, the analysis module 250 can be configured to retrieve data stored in storage device 220 for use, for example, developing and training algorithms and models 252 by applying machine learning techniques.
[0048] One or more of the included models 252 can be configured to predict customer or agent behavior and / or aspects related to contact center operation and performance. Furthermore, one or more of the models 252 can be used for natural language processing and, for example, include intent recognition. Model 252 can be developed based on: 1) known first-principles formulas describing the system; 2) data, generating an empirical model; or 3) a combination of known first-principles formulas and data. When developing models for use with embodiments of the invention, since first-principles formulas are often unavailable or not easily derived, it is generally preferable to build empirical models based on collected and stored data. To accurately capture the relationship between the manipulated / interference variables and the controlled variables of a complex system, it is likely preferable that model 252 be nonlinear. This is because nonlinear models can represent a curvilinear relationship between the manipulated / interference variables and the controlled variables rather than a linear one, which is common for complex systems such as those discussed herein. In view of the foregoing requirements, machine learning or neural network-based methods are currently preferred embodiments for implementing model 252. For example, advanced regression algorithms can be used to develop neural networks based on empirical data.
[0049] Analysis module 250 may also include optimizer 254. It should be understood that an optimizer can be used to minimize a “cost function” subject to a set of constraints, where the cost function is a mathematical representation of the desired objective or system operation. Since model 252 may be nonlinear, optimizer 254 may be a nonlinear programming optimizer. However, it is conceivable that the present invention can be implemented by using a variety of different types of optimization methods, individually or in combination, including but not limited to linear programming, quadratic programming, mixed-integer nonlinear programming, random programming, global nonlinear programming, genetic algorithms, particle / swarm optimization techniques, etc.
[0050] According to an exemplary implementation, model 252 and optimizer 254 may be used together within optimization system 255. For example, analysis module 250 may utilize optimization system 255 as part of an optimization process to optimize or at least enhance various aspects of contact center performance and operation. This may include aspects related to customer experience, agent experience, interaction routing, natural language processing, intent recognition, or other functionalities related to automation processes.
[0051] Regarding the deferred work module 260, which is discussed in more detail below, this module can optimize workflows related to deferred work or deferred work interactions. It should be understood that aspects of the analysis module 250 can be included within the deferred work module 260, but to avoid repetition, the deferred work module 260 will not be discussed further unless necessary.
[0052] Now for reference Figure 3 and Figure 4 The invention disclosed herein will now be discussed more directly. Figure 3 As shown, the present invention may include a deferred workflow module 260. As indicated, the deferred workflow module 260 may accept input derived from email 262 (or other deferred job interactions) and then process those emails via multiple natural language processing (NLP) models 263. The output from NLP model 262 may be directed as input to a priority model 264. The output of priority model 264 is then fed to an optimization module 270. The optimization module may receive additional data and information, such as inbound job predictions from inbound job prediction module 268 and agent job scheduling from agent job scheduling module 266. The optimization module 270 may then generate an optimized workflow for deferred job interactions. This optimized workflow may include optimized workflow assignments directed to router 272 for routing to identified agents. The functionality associated with this system will be discussed in more detail below. First, background will be provided to provide a more comprehensive understanding of the difficulties associated with processing deferred jobs.
[0053] It should be understood that contact centers handle many different types of customer interactions. One way to categorize the work associated with these interactions is based on the required immediacy of the response. Work associated with responses that can be deferred (“deferred work” or “deferred work interactions”) is typically associated with customer interactions that do not require immediate processing. This type of work often involves asynchronous interactions involving text communication between the customer and the agent. Because this type of work primarily involves responding to customer emails, it can also be called “email work” or simply “email.” However, it should be understood that deferred work can also include other types of back-office work. In any case, for deferred work, response time is typically measured in hours or days. Conversely, immediate work (such as work associated with inbound calls or chats that include synchronous voice or text exchange) has a higher urgency because the communication must be processed immediately.
[0054] Given these differences, planning for deferred work within a contact center differs fundamentally from planning for immediate work. Unlike immediate work, where unprocessed interactions are discarded and directly correlated with customer tolerance in the queue, unprocessed emails are not discarded but rather carried over as a backlog from one work cycle to the next. Furthermore, due to the deferred nature of emails, customers are generally more patient waiting for a response. However, because of this deferred nature, measuring the performance characteristics associated with deferred work can be difficult from an operational and optimization perspective, potentially leading to complex and challenging staffing issues.
[0055] Typically, to effectively meet performance goals related to deferred tasks such as email, the following three performance characteristics must be understood and managed. The first characteristic is "response time." As used in this article, "response time" is the time between when a customer initiates an interaction with the contact center (such as when an email is received from the customer) and when the customer receives a response from the agent. The second performance characteristic is "backlog management." As used in this article, "backlog management" refers to how the backlog of deferred tasks is managed. The "backlog" of deferred tasks refers to the cumulative total number of emails that require a response. As will be seen, it is good practice to maintain a certain level of backlog from one workflow cycle to the next rather than completely clearing the backlog. The third performance characteristic is "steady-state throughput rate of emails." This term refers to the rate at which emails are processed. This rate should be managed in relation to the rate of incoming emails to ensure consistent and timely processing.
[0056] Several difficulties exist that hinder the effective handling of deferred tasks. Typically, agents in contact centers are busy handling immediate tasks, such as calls and chats, and deferred tasks are neglected. That is, inbound calls and chats "cut inline" before emails, and emails are pushed further back in the queue. Email backlogs can grow rapidly. If left unchecked, this rapid growth can create an unmanageable email backlog. When email backlogs grow too fast, agents have to rush to clear them, and in this situation, emails deemed important or highly urgent in other respects may be missed or overlooked. Therefore, it is highly preferable that such emails be accurately pre-characterized. However, agents are often required to handle such deferred tasks in a "first-in, first-out" (FIFO) manner, which hinders the effective handling of more important or urgent emails. When the FIFO rule is extended to apply equally to all types of media or channels, it can further impede the management of deferred tasks. Another issue with deferred tasks relates to how agents typically schedule their day. Agents typically allocate time at the beginning or end of their shifts or weeks to handle email backlogs, rather than processing them consistently throughout the workday. Finally, the ability of agents to handle multiple emails and chats simultaneously makes monitoring and managing their workload more complex and difficult.
[0057] To address these challenges, this disclosure teaches adaptive email prioritization that leverages various aspects of Natural Language Processing (NLP) with workload prediction and agent availability to guide optimal workflows for deferred work. As will be seen, these practices can be used to facilitate optimal service delivery to customers and efficient agent utilization. To achieve this, an intelligent system is designed in which each deferred work interaction (emails) is "read" and analyzed before being assigned and routed to agents. This includes, for example, analyzing the text of the emails using NLP models to generate metrics on email importance or urgency. Embodiments of the invention then include using the acquired contextual knowledge to optimize the allocation of assignments to agents' workdays.
[0058] More specifically, a method is disclosed for prioritizing or rating deferred work interactions or emails, where priority may include aspects of importance and / or urgency. This type of rating may be referred to herein as a “priority score,” or more specifically, as an “urgency score” or “importance score.” One way to achieve this is to create training data (i.e., emails that have been validated to have a specific priority score) and then train a model such that such ratings can be calculated by the trained model as part of an automated rating process. As part of this process, business logic or rules may be derived that drive the definition of what constitutes an important or urgent email.
[0059] As an example, according to a preferred embodiment, a priori model is trained to score urgency levels. In such cases, an urgency model can be trained to simplify the classification of whether an email is urgent by limiting the urgency score to two levels (i.e., scoring the email as high urgency or low urgency). This model can be trained based on the presence of keywords. Once trained, the email is classified according to the two urgency categories using a keyword search of the inbound emails. Thus, in a simplified example, if the keywords “urgent” or “stolen” or “lost” appear in an inbound email, the email is given a “high urgency” score and is therefore considered urgent. If no keywords are found, the email is given a “low urgency” score and is therefore considered not urgent. According to the example embodiment, a priori model can be similarly trained to score importance levels. For example, importance levels can be learned based on the themes or intentions found to be expressed in the emails using relevant data from NLP analytics output. As will be seen, once this priori scoring, including urgency and / or importance scores, is completed, the present invention translates this enhanced contextual understanding into improvements to agent workflows. In doing so, many challenges still need to be addressed, such as "How far should high-urgency emails advance in the email backlog?" or "How can contact centers ensure that agents are still responding to low-urgency emails?"
[0060] It should be understood that contact centers typically advise agents to process high-urgency or-important emails before those with low urgency or importance, as ignoring urgent emails carries a greater risk of negative consequences. However, when routing such deferred work interactions, this invention considers a more comprehensive set of criteria that can alter the way emails are prioritized and processed. As an example, it is generally understood that contact centers typically operate under some type of Service Level Agreement (SLA). As used herein, an SLA is a contract or other formal arrangement that defines what services a service provider offers and the levels or standards required to deliver those services. In this context, an SLA may define contractual response time targets or requirements and the negative economic consequences of failing to meet these contractual response time targets or requirements. That is, in contact center operations, an SLA may define hard response time requirements associated with emails, and failure to meet these hard response time requirements will have a negative economic impact on the contact center. In some cases, when considering the requirements of an SLA and the associated economic impact, it may be possible that, at least from the contact center's perspective, an email rated as low urgency is actually more urgent (in terms of direct economic impact) than an email rated as high urgency. This could be a situation where emails with low urgency are closer to the defined limits or thresholds for responding. Embodiments of the present invention take these factors into account when prioritizing backlogged emails and optimizing related workflows.
[0061] Furthermore, from an efficiency standpoint, various embodiments of the invention include sorting emails according to the difficulty of the response (or "response difficulty"), as it has been found advantageous to group emails of similar difficulty. For example, some inbound emails may be less difficult because responses to these inbound emails can be provided in batches (i.e., batch replies), or agents can employ canned responses in their responses. Other inbound emails may be more difficult because agents must develop personalized responses, or the subject matter is more complex. When grouping such emails, for example, agents may decide to batch them before combining several less difficult emails into a single more difficult email. According to another aspect of this disclosure, emails can be grouped according to subject matter, which minimizes context switching and can increase agent response rates.
[0062] Furthermore, because organizations or businesses may have different definitions of what constitutes a high-priority email, or more specifically, an important or urgent email, this disclosure includes methods for developing customized models (i.e., models suitable for use with a specific type of business or product line, etc.). As will be seen, this type of modeling provides the flexibility to allow organizations to leverage various NLP text analyses to customize the definition of which emails have high and low priority. Using the results of NLP text analyses, different features and classifiers from those results can be provided as input to the prioritization model. The prioritization model can include both an urgency component (i.e., the urgency model) that generates an urgency score and an importance component (i.e., the importance model) that generates an importance score. The priority score can then be determined via a combination of the urgency and importance scores. As discussed in more detail below, the urgency and importance scores can be weighted to produce the desired result. In some cases, urgency may be weighted more than importance when calculating the priority score. In other cases, the opposite may be true. Therefore, the priority score can then be determined from the prioritization model by combining the results of various NLP models. This "priority score" can then be used as a decision point to sort or prioritize emails in the queue. This process will be explained further below.
[0063] According to exemplary embodiments, this prioritization can be combined with capabilities such as contact center workforce management, strategic capabilities and tactical planning, modeling and optimization to produce optimized agent workflow plans, particularly related to how to balance the allocation of immediate and deferred work. Referring to U.S. Patent 9,906,648, this can include mathematical programming optimization, queuing theory, simulation modeling, etc. In a multi-skilled world where agents are trained to handle different types of interactions and media types, it is necessary to consider agent utilization, preferences, and skill proficiency. Furthermore, in cases where both deferred and immediate work are mixed, it is important that the prioritization of inbound calls and chat (i.e., immediate work) relative to email (i.e., deferred work) must be trained and measured. To this end, appropriate email allocation and management for routing purposes must also take agent availability into account. In a preferred embodiment, the invention deferred the routing of emails to a given agent until it is determined that the agent has completed their current task or has available bandwidth. Furthermore, when routing assignments to agents, their expected workload in the near future can be considered; for example, emails are preferably deferred to a later time to avoid periods of expected peak inbound traffic. Therefore, using the system and method of this invention, the time or availability dimension of the agent is considered before the model infers that an email should be matched to a specific agent. In this way, the optimal time for the most suitable agent to handle the email can be determined and allocated accordingly. For this purpose, and to provide the system with optimized results and feedback loops, forecasts from workload forecasting and agent scheduling are used during the optimization process. Exemplary contact center workflows utilizing these principles will now be discussed with reference to three different specific implementation phases.
[0064] The first concrete implementation phase is model building. Model building typically involves developing and training the necessary models. For example, a contact center may initially need to create and train NLP models and prioritization models (which may include urgency and importance components) tailored to or applicable to a specific business or product line. It should be understood that the contact center can create such models for the different businesses it represents, where these models are trained to classify business-specific emails. To do this, the contact center can tag existing emails corresponding to NLP results and use these emails to train the NLP model. Once the NLP model is trained, a mechanism can also be provided for agents to mark the validity of the model output as part of their post-interaction workflow. This feedback loop can be used to improve the model's functionality. Furthermore, nightly batch or self-organizing model training mechanisms can be run, enabling the prioritization model to produce accurate scores for prioritizing deferred work interactions.
[0065] Once these models are developed and trained, a second phase can be implemented, which typically involves using the models to calculate or generate priority scores for inbound emails or other types of deferred tasks. This phase also includes collecting additional information needed to calculate the optimized deferred task workflow (i.e., email distribution and routing solutions) during the third phase. Within the second phase, inbound emails and other deferred task interactions can be processed as follows: First, the text of the incoming emails is scanned and / or otherwise entered into the system, and preprocessing is performed. Preprocessing may include removing personally identifiable information (PII), converting or formatting the email text into an ingestible format, etc. Second, the inbound emails are processed via an automated workflow that performs NLP, and the results are used to prioritize each email. A trained NLP model specified for a given enterprise is accessed, and each model is used to analyze the text derived from the emails and score the text relative to specific characteristics such as relevance, sentiment, etc. The output from the NLP models is then fed as input to a priori model, which then scores the urgency and / or importance of the emails. In this way, a priority score is assigned to each email based on a combined analysis derived from the NLP models. As a next step, email groups can be reordered based on their priority scores, with higher-priority emails typically moving up the queue and lower-priority emails typically moving down. As discussed in more detail below, the priority score for deferred work interactions (i.e., emails) can include both urgency and importance components.
[0066] As a next step within the second phase, the collected data (which may include priority scores and / or ratings and information derived from NLP analytics (e.g., identified intent, sentiment, relevance to a specific topic, subject matter, or product)) can be provided as input to other provided modules to automatically derive additional information that will be used to optimize the workflow. First, the collected data can be provided to a next best action module, which can be used to generate a recommended next action for each email. It should be understood that such recommended actions can be actions that agents can recommend or implement to address the issues identified in the email and / or to respond to the email. Second, the collected data can be used by a predictive router to derive preferred agent characteristics, which can be used to identify candidate agents considered to have a better chance of effectively handling responses to a particular email. According to an example implementation, data collected from NLP analytics for identifying one or more candidate agents for handling deferred work interactions includes identifying preferred agent characteristics for each of these deferred work interactions. The identified preferred agent characteristics are then matched against the known actual agent characteristics to determine one or more suitable or optimal matches. Multiple candidate agents can be identified to allow greater flexibility during workflow optimization, where candidate agents are narrowed down to selected agents assigned to handle specific deferred work interactions.
[0067] Additionally, other information modules can be consulted to determine the necessary data. For example, the workload forecasting module can be consulted to obtain a forecast of the expected level of inbound workload for one or more future work cycles. It should be understood that this forecast may include the expected level of inbound immediate workload (i.e., voice or chat interaction) in the contact center, which can be provided for several shifts, days, or weeks. This information can be used to determine peak and trough inbound traffic, enabling the determination of agent availability. Specifically, the timing of when to route or assign emails to agents for processing can be optimized towards more appropriate times (i.e., when agents are not overwhelmed with immediate workloads). Furthermore, along with a preferred set of agent characteristics for handling emails, information can be collected from the agent scheduling module to obtain the future workload scheduling of agents in the contact center within the relevant work cycle. This provides insight into when specific agents will work and the periods within these shifts when these agents may have available bandwidth to accept deferred work.
[0068] In the third phase of implementation, the accumulated information is used during the optimization process to generate an optimized workflow for deferred tasks. As part of the optimization, deferred task assignments can be performed, matching specific emails to one or more preferred agents. Each such assignment can also include a target timeframe for the assignment to be routed to the agent and a target timeframe for the response to be completed by the agent. Optimization of such deferred task assignments can consider several factors and criteria discussed, which may include, for example, considerations of: 1) the expected workload of future immediate tasks; 2) the expected time agents will have available to handle deferred tasks; and / or 3) which agents are better suited to handle specific deferred task interactions. Therefore, deferred task assignments can be reordered based on their priorities and assignments made according to optimizations that take into account agent availability, available bandwidth, and other constraints.
[0069] We will now focus further on natural language processing (NLP) for analyzing and scoring deferred work interactions such as emails. As already described, the results or scores provided by NLP can be used as input to a prioritization model, which then scores or categorizes deferred work interactions based on priority levels. As part of this discussion, an exemplary scenario will be used where a customer receives an email requesting the rescheduling of a previously booked flight. The request is due to an event such as a natural disaster in the country the customer is traveling to. It should be understood that in such cases, it is desirable for this type of email to be processed quickly and accurately identified as having high priority (because the email is of high importance and, depending on the time remaining before the flight can be scheduled, of high urgency). Therefore, this email should be prioritized in the email backlog and assigned / routed to a qualified agent for rapid processing.
[0070] As an initial step in this process, the email text can be preprocessed. Preprocessing can be performed to improve the functionality and accuracy of the model. As an example of preprocessing, the text can be cleaned by removing HTML tags, PII information, and / or stop words. Additionally, word forms can be restored to the same lexical base. Other preprocessing steps can be performed depending on the requirements of the NLP model used.
[0071] According to this disclosure, processed email text can then be provided as input for one or more NLP models. According to a preferred embodiment, the invention proposes using several NLP models, each of which analyzes different aspects or characteristics of the processed email text and produces output scores indicating measures of the corresponding characteristics. Specifically, NLP models are proposed that analyze along the following components: custom classification; entity extraction; topic localization; and sentiment. Details of each of these components will now be discussed.
[0072] An NLP model trained for custom classification determines whether an email is relevant or irrelevant to a general topic at an advanced or course-level. For example, using processed email text as input, a custom classification model can determine whether an email is relevant to a specific market, business, or product. Therefore, in the example scenario, custom classification can determine whether an email is relevant to a labeled domain, such as the travel domain. It should be understood that a custom classification model used in another domain will be adapted to determine relevance to a generalized topic corresponding to that domain. In the example scenario, the custom classification model can be trained via a first dataset including customer emails verified to be in the travel domain (representing the relevant category) and a second dataset including customer emails verified to be not in the travel domain (representing the irrelevant category).
[0073] NLP models used for entity extraction typically function by extracting entities from processed email text. Examples of extracted entities include places or locations, dates, organizations, businesses, and / or people. For instance, an entity extraction model extracts entities from text and generates a score from the text based on the frequency of occurrence of entities from a predefined list of entities. In an example scenario, matching with a specific country where a natural disaster has occurred could produce an output score that is configured to increase the likelihood that an email urgency model would classify the email as urgent.
[0074] Using an NLP model trained for topic localization, one or more topics can be identified in an email. It should be understood that the topics covered in an email can be useful in scoring its urgency. Some examples of such topics are: balance inquiry; billing issues; service cancellation; address change; status check; etc.
[0075] Once entities are extracted and topics are located, methods such as Term Frequency-Inverse Document Frequency (TF-IDF) and / or Latent Semantic Analysis (LSF) can be used to obtain sparse vector representations of documents. TF-IDF and LSF analyses can also be used to identify or classify topics from a predefined list of topics. Other types of classification are also possible. For example, emails can be classified based on complaint categories, such as unreasonable charges, late payment fees, or account problems. Email topics can also be classified based on intent. To improve this type of classification system over time, pointwise ranking systems can be implemented. For example, agents can mark emails as "match" (1) or "not match" (0) after processing them and update the system's recommended category. Binary classification algorithms using random forest techniques can be used to classify each email-category combination as a match based on user-trained data for predicted new emails, and the predicted category will be returned based on the highest score for that category.
[0076] As another step in the natural language processing of email, sentiment analysis can be performed to determine the sentiment rating or score of the email. Sentiment analysis can be performed using a trained sentiment model and, for example, used to classify a given email as positive, negative, neutral, or mixed. Sentiment analysis can also score the magnitude of the expressed sentiment. For example, the sentiment model can be trained via a training dataset of emails reviewed by human reviewers for certain attributes and validated for specific levels of sentiment. According to some implementations, the sentiment model can be based on detecting the sentiment of one or more email attributes within the email. These attributes can include: greetings; backstory; justification; outburst; gratitude; and expression of emotion. Regarding the detection of such attributes, the sentiment model can develop mapping statements or rules that apply the detection of such attributes to the probability of emotion. For example, an example mapping statement could include a statement in which an outburst expressing emotion is detected indicating negative or strong negative sentiment. The degree of sentiment can be judged relative to the length of the email, making the length of the email positively correlated with the degree of sentiment. Another example mapping statement could include a statement in which gratitude is detected indicating positive sentiment. Another example mapping statement could include a statement indicating the applied multiplier for a positive or negative fraction, with a well-founded backstory.
[0077] This disclosure will now focus on the scoring, sorting, queuing, and routing of deferred work interactions as part of an optimized workflow. Typically, all interactions (immediate and deferred) are scored using the same function limited to considering urgency. Interactions scored as having the highest urgency are moved to the front of the queue and processed first. This method can work in relation to immediate work interactions, but as will be seen, it is not efficient for queues involving deferred work interactions.
[0078] According to an exemplary embodiment of the present invention, an improved deferred work scoring function is proposed, which is optimized based on several specific factors that can be represented as part of an overall priority score. The first factor among these factors is the urgency of the email and can be represented as an urgency score. As mentioned above, the urgency score is an indication of how quickly a response needs to be provided. The urgency score can be based on the results of the aforementioned NLP analysis, where the input provided from the analysis indicates the level of urgency learned from the training dataset. The second factor among these factors is the importance of the email and can be represented as an importance score. The third factor is a time-to-threshold factor. As used herein, the time-to-threshold factor is a measure of the amount of remaining time a contact center must process deferred work interactions while still within the requirements of a management SLA that specifies response time constraints. The fourth factor is referred to as the overall standing factor. As used herein, the overall standing factor is a measure of the contact center's real-time or current overall standing regarding the multiple service requirements defined in the management SLA. Therefore, the overall residency factor not only considers the contact center's residency regarding responding to pending emails, but also indicates the contact center's overall residency regarding, for example, terms related to multiple channels or media types, each of which may have different requirements or restrictions. If a contact center performs poorly in defining service requirements for a particular media or channel (such as email) regarding how the SLA defines those requirements, a certain value can be used to score the overall residency factor to increase the priority of handling interactions from that particular channel.
[0079] Of course, prioritizing contact center backlogs or queues that have both immediate and deferred tasks can become quite complex. According to example implementations, certain assumptions can be made to provide shortcuts to facilitate this process. For example, as discussed, a distinction can be made between urgency and importance. That is, a particular email response may be very significant or important, thus giving it high importance, but its urgency may be relatively low due to the fact that customers do not expect an immediate response. Queue ranking can include settings that prioritize urgency over importance, and vice versa. Furthermore, immediate tasks can be automatically assigned high urgency scores, so that in most cases, immediate tasks are processed before deferred tasks. Additionally, regarding service categories and requirements defined in SLAs, the system of the present invention can have an operation whereby, for any two interactions that can be distinguished as belonging to different SLA categories, the interaction in the category being performed by the contact center is the one that is prioritized. Relatedly, the benefits received by the contact center can be calculated to prioritize each of these interactions. Then, according to the SLA requirements, the priority that will bring the greatest benefit to the performance of the contact center will be the priority to process cases earlier.
[0080] Furthermore, according to various embodiments of the invention, the processing of deferred jobs concerns not only the processing of sequential interactions but also when these sequential interactions are processed. For example, the following considerations can be used to determine the timing of when an interaction is routed to an agent and when a response is completed. Such timing can include target time frames for scheduling assigned routes and time frames for when agents are expected to process deferred job assignments. A first consideration among these is immediate occupancy. As used herein, immediate occupancy refers to the ratio of the predicted number of available agents to the amount of immediate work. According to a preferred embodiment, deferred jobs are scheduled when the value of this ratio indicates that agents have sufficient time to process both the anticipated immediate work and a certain level of deferred work. Furthermore, the timing of deferred job assignments should keep agents busy rather than idle, while also preventing the backlog of deferred jobs from growing. Additionally, once the time for a particular deferred job assignment (such as an email) reaches a certain threshold factor (e.g., equal to or less than 15 minutes), that particular assignment may be considered an immediate job assignment by the system of the invention.
[0081] The following discussion provides a more detailed explanation of an exemplary scoring function that can be used by the system of the present invention to prioritize deferred work interactions, which are then used to optimize related workflows. According to one method, interactions are scored via a scoring function that calculates a modified queuing time (or "modified TIQ"). Using this method, the actual time an interaction spends in the queue is tracked, and then that duration is modified (via addition, subtraction, multiplication, etc.) according to a quantity indicating the level of importance. For example, the scoring formula could be that the modified queuing time equals the actual queuing time (or "actual TIQ") plus an importance multiplier multiplied by 60 seconds, or:
[0082] Modified TIQ = (Actual TIQ) + (Importance Multiplier * 60s)
[0083] Importance multipliers can range from 1 to 10. Therefore, when the importance multiplier for an interaction is equal to 4, the result is to add 240 seconds to the actual queuing time to determine the modified queuing time.
[0084] According to alternative implementations, the priority scoring function can be modified to further include an urgency score. For example, the scoring function could be:
[0085] Modified TIQ = (Actual TIQ) + (Importance Multiplier * 60s) + (Urgency Multiplier * 600s)
[0086] In this scenario, the urgency multiplier can include high, medium, and low ratings, or 4, 2, and 0. With this configuration, interactions with high urgency generally outperform those with high importance. According to other implementations, the relative values assigned to importance and urgency can be altered to produce the desired results. Furthermore, the scoring system can incorporate other factors, including time-to-threshold factors and / or overall residency factors. According to an exemplary implementation, the scoring function can be configured to operate based on the service requirements outlined in the SLA.
[0087] The systems and methods disclosed herein offer several benefits over conventional systems. Accurate categorization of deferred tasks based on urgency improves overall contact center performance. The systems and methods of this invention also enable performance to be prioritized according to requirements defined in SLAs to improve overall performance. Furthermore, by ensuring that the most urgent emails are processed, customer satisfaction scores and net promoter scores are improved. More consistent occupancy levels and backlog management are also facilitated. Finally, more even and timely distribution of emails to agents should improve agent performance and job satisfaction while also reducing staff turnover.
[0088] refer to Figure 4Method 350 is provided according to a preferred embodiment. Method 350 relates to optimizing workflows in a contact center where deferred work interactions are prioritized and assigned to agents for processing. Deferred work interactions may, for example, be email communications of a customer's request and a response from the contact center.
[0089] At step 355, method 350 includes the steps of multiple natural language processing (NLP) models and a prioritization model. Each NLP model can be configured to accept text from a given deferable job interaction as input and generate an NLP score indicating how the given deferable job interaction should be rated according to features. The prioritization model can be configured to accept the scores generated by the multiple NLP models as input and generate a priority score related to priority features, indicating how the given deferable job interaction should be prioritized for processing relative to other deferable job interactions among these deferable job interactions.
[0090] At step 360, method 350 may include receiving a deferred job interaction. This may include the preprocessing steps discussed earlier.
[0091] At step 365, method 350 may include using text derived from deferred work interactions as input to the plurality of NLP models to generate an NLP score for each of the deferred work interactions. The plurality of NLP models may include models trained to determine relevance to at least one of a particular enterprise or product. The plurality of NLP models may include one or more models trained to extract entities and / or identify topics in the deferred work interactions. In such cases, the step of generating NLP scores further includes generating a sparse vector representation of each of the deferred work interactions from the extracted entities or identified topics, and classifying the deferred work interactions based on the sparse vector representations according to a predefined list of topic categories or complaint categories. The plurality of NLP models may include models trained to provide sentiment scores that classify deferred work interactions as having positive, negative, neutral, or mixed sentiments and a magnitude associated with that sentiment.
[0092] At step 370, method 350 may include using the generated NLP score as input to a prioritization model to generate a priority score for each of these deferable work interactions. The prioritization model may include an urgency component that provides an urgency score and an importance component that provides an importance score. The priority score may be derived from a weighted combination of the urgency score and the importance score.
[0093] At step 375, method 350 may include using the generated NLP score to identify one or more candidate agents among the agents for handling each of the deferred job interactions. The step of using the generated NLP score to identify the one or more candidate agents for handling each of the deferred job interactions may include: identifying preferred agent characteristics for each of the deferred job interactions; and comparing the identified preferred agent characteristics with the actual agent characteristics of the agents, and determining the one or more candidate agents as the agents with the most favorable match among the agents. Preferred agent characteristics are defined as agent characteristics that, given the characteristics of a given deferred job interaction, are more likely to produce a favorable outcome.
[0094] At step 380, method 350 may include receiving inbound job forecasts for a contact center, the inbound job forecasts predicting inbound job levels and agent job scheduling data covering one or more future job cycles. Specifically, inbound job forecasts for the contact center may be received, predicting the expected inbound job levels within the one or more future job cycles. Inbound job forecasts may include predictions of inbound job levels regarding expected real-time work interactions within the one or more future job cycles. Real-time work interactions may be defined as synchronous interactions involving a real-time exchange of text or voice between one of the agents and a customer. Furthermore, agent job scheduling data describing the expected work scheduling for agents, as associated with the one or more future job cycles, may be received.
[0095] At step 385, method 350 may include the following steps: using the received data and priority scores as input to an optimization process to generate an optimized workflow for deferred job interactions. For each of these deferred job interactions, the generated optimized workflow may include allocation, wherein selected agents are chosen from candidate agents for handling the deferred job interaction, and a target time frame for handling the deferred job interaction is scheduled. The optimization process may be configured to optimize based on: the priority score generated for each of these deferred job interactions; and the expected availability of the one or more candidate agents identified for each of these deferred job interactions within the one or more future work cycles. Expected availability may be determined based on: agent work scheduling data within the one or more future work cycles; and the predicted level of inbound work within the one or more future work cycles, given an inbound work forecast. Once this final step is completed, the process may terminate with routing of the deferred job interactions based on the allocation of the optimized workflow.
[0096] According to alternative implementations, other factors may be considered in the optimization process. For example, in some implementations, the method further includes the step of determining a response deadline for each of these deferred work interactions, indicating a threshold for responding to the deferred work interaction. In such cases, the factors considered in the optimization process may also include the response deadline determined for each of these deferred work interactions. In some implementations, the method further includes the step of determining the negative economic impact on the contact center for each of these deferred work interactions due to failure to respond to the deferred work interaction before the threshold. In such cases, the factors considered in the optimization process may also include the negative economic impact determined for each of these deferred work interactions. The response deadline and negative economic impact may be determined according to the terms defined in a Service Level Agreement (SLA) that governs requirements regarding how the contact center should respond to deferred work interactions.
[0097] In some implementations, the method may further include the step of sorting deferable work interactions according to the relative values of their priority scores. In such cases, the optimization process also considers factors such as the order of deferable work interactions given the sorting. Additionally, the optimization process may also consider factors such as the current backlog level of deferable work interactions.
[0098] In some implementations, the method may further include: for each of these deferred work interactions, receiving a priority score provided by an agent assigned to handle the response; and updating the training of the priority model using a comparison between the priority score provided by the agent and the priority score of the deferred work interaction.
[0099] Those skilled in the art will understand that many of the different features and configurations described above in conjunction with several exemplary embodiments can be selectively applied to form other possible embodiments of the invention. For the sake of brevity and considering the capabilities of those skilled in the art, not every possible iteration of the possible iterations is provided or discussed in detail, but all combinations and possible embodiments contained in the following claims or otherwise are intended to be part of this application. Furthermore, improvements, changes, and modifications will occur to those skilled in the art from the foregoing description of several exemplary embodiments of the invention. Such improvements, changes, and modifications within the scope of the art are also intended to be covered by the appended claims. Moreover, it should be apparent that the foregoing relates only to the embodiments described in this application, and many changes and modifications may be made herein without departing from the spirit and scope of this application as defined by the following claims and their equivalents.
Claims
1. A computer-implemented method for optimizing workflows in a contact center, wherein deferred work interactions are prioritized and assigned to agents for processing, wherein the method includes the following steps: Multiple natural language processing (NLP) models are provided, each NLP model being configured to accept text from a given deferable work interaction as input and generate an NLP score indicating how the given deferable work interaction is rated according to features, wherein the NLP score is generated from a sparse vector representation of the deferable work interaction; A priority model is configured to accept the scores generated by the plurality of NLP models as input and generate priority scores related to priority characteristics, the priority scores indicating how a given deferable work interaction should be prioritized for processing relative to other deferable work interactions in the deferable work interactions; Receive the deferred work interaction; Using the text derived from the deferable work interactions as input to the plurality of NLP models, the NLP score is generated for each deferable work interaction in the deferable work interactions; The generated NLP score is used as input to the priority model to generate the priority score for each deferable work interaction in the deferable work interaction. The generated NLP scores are used to identify one or more candidate agents among the agents for handling each of the deferred work interactions. Receive inbound workload forecasts for the contact center, the inbound workload forecasts predicting the expected inbound workload levels over one or more future workload cycles; Receive agent work scheduling data describing the expected work schedule for the agent in relation to the one or more future work cycles; An optimization process is used to generate an optimized workflow for the deferred work interactions, wherein, for each deferred work interaction, the optimized workflow includes allocation, wherein a selected agent is selected from the candidate agents for processing the deferred work interaction, and a target time frame for processing the deferred work interaction is scheduled; and Each deferred task interaction in the deferred task interaction is routed according to the allocation of the optimized workflow; wherein the optimization process is configured to optimize based on the following factors: The priority score generated for each of the deferable work interactions; For each of the deferable work interactions, the expected availability of the one or more candidate agents identified during the one or more future work cycles is determined as follows: The agent work scheduling data within the one or more future work cycles; and Given the inbound work forecast, the predicted inbound work level within the one or more future work cycles.
2. The method of claim 1, wherein each of the deferable work interactions comprises an email communication of a request sent by a customer to a response from the contact center.
3. The method according to claim 2, further comprising the following steps: For each of the deferable work interactions, a response deadline is determined that indicates a threshold for responding to the deferable work interaction. The factors considered in the optimization process also include the response deadline determined for each of the deferred work interactions.
4. The method according to claim 3, further comprising the following step: For each of the deferable work interactions, a negative economic impact on the contact center is determined due to failure to respond to the deferable work interaction before the threshold is reached; wherein the factors considered in the optimization process also include the negative economic impact determined for each of the deferable work interactions.
5. The method of claim 4, wherein the response deadline and the negative economic impact are determined according to terms defined in a Service Level Agreement (SLA), the SLA governing requirements regarding how the contact center should respond to the deferred work interaction.
6. The method of claim 2, wherein the priority model comprises: An urgency component that provides an urgency score; and Importance component, which provides an importance score; The priority score is derived from a weighted combination of the urgency score and the importance score.
7. The method of claim 2, wherein the inbound work prediction includes a prediction of the inbound work level regarding anticipated real-time work interactions within the one or more future work cycles; wherein real-time work interaction is defined as a synchronous interaction involving a real-time exchange of text or voice between one of the agents and a customer.
8. The method of claim 2, wherein the step of using the generated NLP score to identify the one or more candidate agents for processing each of the deferred work interactions comprises: Identify the preferred agent characteristics for each of the deferred work interactions; as well as The identified preferred seat characteristics are compared with the actual seat characteristics of the seats, and the one or more candidate seats are determined as the seats with the most favorable match among the seats; The preferred agent characteristics are defined as the agent characteristics that are more likely to produce favorable results given the characteristics of a given deferred work interaction.
9. The method according to claim 2, wherein the factors considered in the optimization process further include: The current backlog level of the deferred work interactions.
10. The method of claim 2, wherein the plurality of NLP models include a model trained to determine relevance to at least one of a particular firm or product.
11. The method of claim 2, wherein the plurality of NLP models comprises one or more models trained to extract entities and identify at least one of topics in the deferable work interactions; wherein the step of generating the NLP score further comprises generating a sparse vector representation of each deferable work interaction from the extracted entities or identified topics, and classifying the deferable work interactions based on the sparse vector representations according to a predefined list of topic categories or complaint categories.
12. The method of claim 2, wherein the plurality of NLP models includes a model trained to provide an emotion score that classifies the deferable work interaction as having positive, negative, neutral, or mixed emotions and a magnitude associated with the emotions.
13. The method according to claim 2, further comprising the following steps: For each of the deferable work interactions, a priority score is provided by the agent assigned to handle the response. as well as The training of the priority model is updated by comparing the priority score provided by the agent with the priority score of the deferred work interaction.
14. The method according to claim 2, further comprising the following steps: The deferable work interactions are sorted according to the relative values of the priority scores; wherein the factors considered in the optimization process also include the order of the deferable work interactions given the sorting.
15. A system related to optimizing workflows in a contact center, wherein deferred work interactions are prioritized and assigned to agents for processing, the system comprising: processor; and A memory, wherein the memory stores instructions that, when executed by the processor, cause the processor to perform the following steps: Multiple natural language processing (NLP) models are provided, each NLP model being configured to accept text from a given deferable work interaction as input and generate an NLP score indicating how the given deferable work interaction is rated according to features, wherein the NLP score is generated from a sparse vector representation of the deferable work interaction; A priority model is configured to accept the scores generated by the plurality of NLP models as input and generate priority scores related to priority characteristics, the priority scores indicating how a given deferable work interaction should be prioritized for processing relative to other deferable work interactions in the deferable work interactions; Receive the deferred work interaction; Using the text derived from the deferable work interactions as input to the plurality of NLP models, the NLP score is generated for each deferable work interaction in the deferable work interactions; The generated NLP score is used as input to the priority model to generate the priority score for each deferable work interaction in the deferable work interaction. The generated NLP scores are used to identify one or more candidate agents among the agents for handling each of the deferred work interactions. Receive inbound workload forecasts for the contact center, the inbound workload forecasts predicting the expected inbound workload levels over one or more future workload cycles; Receive agent work scheduling data describing the expected work schedule for the agent in relation to the one or more future work cycles; An optimization process is used to generate an optimized workflow for the deferred work interactions, wherein, for each deferred work interaction, the optimized workflow includes allocation, wherein a selected agent is selected from the candidate agents for processing the deferred work interaction, and a target time frame for processing the deferred work interaction is scheduled; and Each deferred task interaction in the deferred task interaction is routed according to the allocation of the optimized workflow; wherein the optimization process is configured to optimize based on the following factors: The priority score generated for each of the deferable work interactions; For each of the deferable work interactions, the expected availability of the one or more candidate agents identified during the one or more future work cycles is determined as follows: The agent work scheduling data within the one or more future work cycles; and Given the inbound work forecast, the predicted inbound work level within the one or more future work cycles.
16. The system of claim 15, wherein each of the deferred work interactions comprises an email communication in which a customer requests a response from the contact center; wherein the memory further stores instructions that, when executed by the processor, cause the processor to perform the following steps: For each of the deferable work interactions, a response deadline is determined that indicates a threshold for responding to the deferable work interaction. For each of the deferred work interactions, a negative economic impact on the contact center due to failure to respond to the deferred work interaction before the threshold is determined; wherein the factors considered in the optimization process also include the response deadline determined for each of the deferred work interactions and the negative economic impact determined for each of the deferred work interactions.
17. The system of claim 15, wherein the priority model comprises: An urgency component that provides an urgency score; and Importance component, which provides an importance score; The priority score is derived from a weighted combination of the urgency score and the importance score.
18. The system of claim 15, wherein the inbound work prediction includes a prediction of the inbound work level regarding anticipated real-time work interactions within the one or more future work cycles; and wherein real-time work interaction is defined as a synchronous interaction involving the real-time exchange of text or voice between one of the agents and a customer.
19. The system of claim 15, wherein the step of using the generated NLP score to identify the one or more candidate agents for processing each of the deferred work interactions comprises: Identify the preferred agent characteristics for each of the deferred work interactions; as well as The identified preferred seat characteristics are compared with the actual seat characteristics of the seats, and the one or more candidate seats are determined as the seats with the most favorable match among the seats; The preferred agent characteristics are defined as the agent characteristics that are more likely to produce favorable results given the characteristics of a given deferred work interaction.
20. The system of claim 15, wherein the plurality of NLP models include a model trained to determine relevance to at least one of a particular enterprise or product; wherein the plurality of NLP models include one or more models trained to extract entities and identify at least one of topics in the deferable work interaction; and wherein the plurality of NLP models include a model trained to provide a sentiment score that classifies the deferable work interaction as having positive, negative, neutral, or mixed sentiment and a magnitude associated with the sentiment.