Method and system for dynamic adaptive routing of deferrable work in a contact center - Patent Application 20070122997
The method optimizes deferrable work in contact centers by using NLP to prioritize and route email interactions based on agent availability and workload predictions, addressing inefficiencies and improving service quality.
Patent Information
- Application Number
- JP2023519797
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-09-30
- Filing Date
- 2021-09-30
- Publication Date
- 2025-12-11
- Estimated Expiration
- 2041-09-30
AI Technical Summary
Contact centers face challenges in efficiently managing deferrable work, such as email interactions, due to issues like unmanaged backlogs, agent availability, and inefficient prioritization, leading to suboptimal use of resources and customer service quality.
A computer-implemented method using natural language processing (NLP) models to analyze deferrable work interactions, generate priority scores, and optimize workflow by considering agent availability and inbound work forecasts, ensuring timely and prioritized assignment of tasks to agents.
Enhances the efficiency and quality of handling deferrable work by optimizing agent allocation, reducing backlogs, and improving customer service through adaptive routing based on interaction significance and urgency.
Smart Images

Figure 0007784425000001 
Figure 0007784425000002 
Figure 0007784425000003
Abstract
Description
[Technical Field]
[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS) This application is related to U.S. Provisional Patent Application No. 63 / 085,373, entitled "METHOD AND SYSTEM FOR DYNAMIC ADAPTIVE ROUTING OF DEFERRABLE WORK IN A CONTACT CENTER," filed with the U.S. Patent and Trademark Office on September 30, 2020, which has been converted into pending U.S. patent application __, entitled "METHOD AND SYSTEM FOR DYNAMIC ADAPTIVE ROUTING OF DEFERRABLE WORK IN A CONTACT CENTER," filed on September 30, 2021. [Background technology]
[0002] The present invention relates generally to telecommunications systems in the field of customer relationship management, including call or contact centers and customer assistance via internet-based service options. More particularly, but not by way of limitation, the present invention relates to systems and methods for dynamic, adaptive routing of deferrable work, such as email, in contact centers. The present invention further relates to optimizing workflow with respect to factors such as priority scores for deferrable work interactions and agent availability. Summary of the Invention
[0003] Accordingly, the present invention includes a computer-implemented method for optimizing workflow in a contact center in which deferrable work interactions are prioritized and assigned to agents for handling.The method includes providing a plurality of natural language processing (NLP) models, each NLP model configured to accept as input text from a given deferrable work interaction and to generate an NLP score indicating how the given deferrable work interaction evaluates according to a characteristic; a priority model configured to accept as input scores generated from the plurality of NLP models and to generate a priority score associated with a priority characteristic indicating how the given deferrable work interaction should be prioritized for processing relative to other ones of the deferrable work interactions; receiving the deferrable work interactions; using the text derived from the deferrable work interactions as input to the plurality of NLP models to generate an NLP score for each of the deferrable work interactions; and using the generated NLP scores as input to the priority model to generate a priority score for each of the deferrable work interactions. The method may include using the generated NLP scores to identify one or more candidate agents among the agents for handling each of the deferrable work interactions, receiving an inbound work forecast for the contact center that predicts expected inbound work levels over one or more future work periods, receiving agent work schedule data that describes expected work schedules of agents associated with the one or more future work periods, generating an optimized workflow for the deferrable work interactions using an optimization process, where for each of the deferrable work interactions, the optimized workflow includes an assignment in which a selected agent is selected from the candidate agents to handle the deferrable work interaction and a target time slot is scheduled for handling the deferrable work interaction, and routing each of the deferrable work interactions according to the optimized workflow assignment. The optimization process may be configured to optimize according to the following factors:a priority score generated for each of the deferrable work interactions; the predicted availability over one or more future work periods of one or more candidate agents identified for each of the deferrable work interactions, determined from agent work schedule data over one or more future work periods and a predicted inbound work level over one or more future work periods given the inbound work forecast;
[0004] These and other features of the present application will become more apparent from a consideration of the following detailed description of exemplary embodiments taken in conjunction with the drawings and the appended claims. [Brief explanation of the drawings]
[0005] A more complete understanding of the present invention will be more readily apparent as the invention becomes better understood by reference to the following detailed description when considered in conjunction with the accompanying drawings in which like reference characters indicate like components and in which: [Figure 1] 1 depicts a schematic block diagram of a computing device according to an exemplary embodiment of the present invention and / or on which an exemplary embodiment of the present invention may be enabled or practiced. [Figure 2] 1 depicts a schematic block diagram of a communications infrastructure or contact center according to and / or in which exemplary embodiments of the present invention may be enabled or implemented; [Figure 3] 1 is a schematic diagram of an exemplary deferrable work module in accordance with an exemplary embodiment of the present invention; [Figure 4] 1 is a method for providing an optimized workflow for deferrable work according to an exemplary embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0006] For the purposes of promoting an understanding of the principles of the present invention, reference will now be made to exemplary embodiments illustrated in the drawings and specific language will be used to describe the same. However, it will be apparent to those skilled in the art that the detailed materials provided in the examples may not be required to practice the invention. In other instances, well-known materials or methods have not been described in detail to avoid obscuring the invention. Additionally, further modifications in the provided examples or applications of the principles of the present invention as presented herein are contemplated as would normally occur to one skilled in the art.
[0007] As used herein, language designating non-limiting examples and illustrations includes "eg," "ie," "for example," "for instance," and the like. Furthermore, throughout this specification, references to "an embodiment," "one embodiment," "the present embodiment," "an exemplary embodiment," "a particular embodiment," and the like mean that a particular feature, structure, or characteristic described in connection with a given example may be included in at least one embodiment of the invention. Thus, appearances of the phrases "embodiment," "one embodiment," "the present embodiment," "an exemplary embodiment," "a particular embodiment," and the like do not necessarily refer to the same embodiment or example. Furthermore, particular features, structures, or characteristics may be combined in any suitable combinations and / or subcombinations in one or more embodiments or examples.
[0008] Those skilled in the art will recognize from this disclosure that various embodiments may be computer-implemented using many different types of data processing equipment, and that embodiments may be implemented as an apparatus, a method, or a computer program product. Accordingly, exemplary embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Exemplary embodiments may also take the form of a computer program product embodied by computer-usable program code in any tangible medium of expression. In either case, exemplary embodiments may be generally referred to as a "module," a "system," or a "method."
[0009] The flowcharts and block diagrams provided in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to exemplary embodiments of the present invention. In this regard, it will be understood that each block of the flowcharts and / or block diagrams, or a combination of blocks thereof, may represent a module, segment, or portion of program code having one or more executable instructions for implementing the specified logical function(s). Similarly, it will be understood that each block of the flowcharts and / or block diagrams, or a combination of blocks thereof, may be implemented by a dedicated hardware-based system or a combination of dedicated hardware and computer instructions that performs particular operations or functions. Such computer program instructions may also be stored in a computer-readable medium that can instruct a computer or other programmable data processing apparatus to function in a particular manner to generate an article of manufacture containing instructions that implement the functions or operations specified in each block of the flowcharts and / or block diagrams, or a combination of blocks thereof.
[0010] Computing Devices It will be appreciated that the systems and methods of the present invention may be computer-implemented using many different forms of data processing equipment, such as digital microprocessors and associated memory, executing appropriate software programs. By way of background, Figure 1 illustrates a schematic block diagram of an exemplary computing device 100 in accordance with and / or on which embodiments of the present invention may be enabled or practiced. It should be understood that Figure 1 is provided as a non-limiting example.
[0011] Computing device 100 may be implemented, for example, via firmware (e.g., an application-specific integrated circuit), hardware, or a combination of software, firmware, and hardware. It will be understood that each of the servers, controllers, switches, gateways, engines, and / or modules (which may collectively be referred to as servers or modules) in the following figures may be implemented via one or more of computing devices 100. As an 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 various functionality described herein. Unless otherwise limited, functionality described in the context of multiple computing devices may be integrated into a single computing device, or various functionality described in the context of a single computing device may be distributed across several computing devices. Furthermore, with respect to the computing systems described in the following figures, such as the contact center system 200 of FIG. 2, the various servers and computer devices thereof may be located on a local computing device 100 (i.e., on-site or in the same physical location as the contact center agents), a remote computing device 100 (i.e., off-site or in a cloud computing environment, e.g., in a remote data center connected to the contact center via a network), or some combination thereof.Functionality provided by a server located on an off-site computing device may be accessed and provided via a virtual private network (VPN) as if such a server were on-site, or functionality may be provided using software as a service (SaaS) accessed over the internet using various protocols, such as by exchanging data via extensible markup language (XML), JSON, etc.
[0012] As shown in the illustrated embodiment, computing device 100 may include a central processing unit (CPU) or processor 105 and main memory 110. Computing device 100 may also include a storage device 115, a removable media interface 120, a network interface 125, an I / O controller 130, and one or more input / output (I / O) devices 135, which, as depicted, may include a display device 135A, a keyboard 135B, and a pointing device 135C. Computing device 100 may further include additional elements, such as a memory port 140, a bridge 145, an I / O port, one or more additional input / output devices 135D, 135E, 135F, and a cache memory 150 in communication with processor 105.
[0013] Processor 105 may be any logic circuit that responds to and processes instructions fetched from main memory 110. For example, process 105 may be implemented by an integrated circuit, such as a microprocessor, microcontroller, or graphics processing unit, or in a field programmable gate array or application-specific integrated circuit. As depicted, processor 105 may communicate directly with cache memory 150 via a secondary bus or backside bus. Cache memory 150 typically has a faster response time than main memory 110. Main memory 110 may be one or more memory chips capable of storing data and allowing the stored data to be directly accessed by central processing unit 105. Storage device 115 may provide storage for an operating system and other software that controls scheduling tasks and access to system resources. Unless otherwise limited, computing device 100 may include an operating system and software capable of performing the functionality described herein.
[0014] As depicted in the illustrated embodiment, computing device 100 may include a wide variety of 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 a pointing device 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 to enable the use of 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 computer-readable media. More generally, I / O devices 135 may include any conventional device for performing the functionality described herein.
[0015] Computing device 100 may be, but is not limited to, any workstation, desktop computer, laptop or notebook computer, server machine, virtual machine, mobile or smartphone, portable telecommunications device, media playback device, gaming system, mobile computing device, or any other type of computing, telecommunications, or media device capable of performing the operations and functionality described herein.
[0016] Contact Center Referring now to Figure 2, a communications infrastructure or contact center system 200 according to an exemplary embodiment of the present invention and / or in which exemplary embodiments of the present invention may be enabled or implemented is shown. It should be understood that, as used herein, the term "contact center system" will refer to the systems and / or components thereof depicted in Figure 2, while the term "contact center" will be used more generally to refer to contact center systems, the customer service providers that operate these systems, and / or the organizations or businesses associated therewith. Thus, unless otherwise limited, the term "contact center" will generally refer to contact center systems (e.g., contact center system 200), associated customer service providers (e.g., a particular customer service provider that provides customer service through contact center system 200), and the organizations or businesses on behalf of which customer service is provided.
[0017] By way of background, customer service providers generally provide many types of services through contact centers. Such contact centers may be staffed with employees or customer service agents (or simply “agents”), who serve as an interface between a company, enterprise, government agency, or organization (hereinafter interchangeably referred to as an “organization” or “enterprise”) and people, such as users, individuals, or customers (hereinafter interchangeably referred to as “individuals” or “customers”). For example, contact center agents may assist customers in making purchasing decisions, placing orders, or resolving issues with products or services they have already received. Within a contact center, such interactions between contact center agents and external entities or customers may occur over a variety of communication channels, such as via voice (e.g., telephone calls or voice over IP, i.e., VoIP calls), video (e.g., video conferencing), text (e.g., email and text chat), screen sharing, co-browsing, etc.
[0018] Operationally, contact centers generally strive to provide high-quality service to customers while minimizing costs. For example, one way contact centers operate is to handle all customer interactions with live agents. While this approach may be entirely successful from a service quality perspective, it would likely be prohibitively expensive due to the high cost of agent labor. For this reason, most contact centers utilize some level of automated processes, such as interactive voice response (IVR) systems, interactive media response (IMR) systems, Internet robots, or "bots," and automated chat modules, or "chatbots," in place of live agents. In many cases, this has proven to be a successful strategy, as automated processes can be highly efficient at handling certain types of interactions and effective in reducing the need for live agents. Such automation allows contact centers to target the use of human agents to more difficult customer interactions, while the automated processes handle more repetitive or routine tasks. Furthermore, automated processes can be structured in a way that optimizes efficiency and promotes repeatability. Although human agents, i.e., live agents, may forget to answer certain questions or follow up on certain details, such errors are typically avoided through the use of automated processes. While customer service providers increasingly rely on automated processes to interact with customers, the use of such technologies by customers remains far less developed. Thus, on the contact center side of the interaction, IVR systems, IMR systems, and / or bots are used to automate parts of the interaction, while actions on the customer side remain manually performed by the customer.
[0019] With specific reference to FIG. 2 , the contact center system 200 may be used by a customer service provider to provide various types of services to customers. For example, the contact center system 200 may be used to participate in and manage interactions in which automated processes (or bots) or human agents communicate with customers. As will be appreciated, the contact center system 200 may be an in-house facility of a business or enterprise for performing sales and customer service functions related to products and services available through the enterprise. In another aspect, the contact center system 200 may be operated by a third-party service provider contracted to provide services on behalf of another organization. Furthermore, the contact center system 200 may be deployed on equipment dedicated to the enterprise or third-party service provider and / or in a remote computing environment, such as, for example, a private or public cloud environment with infrastructure to support multiple contact centers for multiple enterprises. The contact center system 200 may include software applications or programs that may be executed on-premise, remotely, or some combination thereof. Furthermore, it should be understood that various components of the contact center system 200 may be distributed across various geographic locations and not necessarily contained in a single location or computing environment.
[0020] Furthermore, unless specifically limited otherwise, it should be understood that any of the computing elements of the present invention may be implemented within 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, applications, and services) that can be rapidly provisioned through virtualization, released with minimal management effort or service provider interaction, and then scaled appropriately. Cloud computing can consist of a variety of characteristics (e.g., on-demand self-service, wide area network access, resource pooling, rapid elasticity, scalable service, 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, etc.). Cloud execution models, often referred to as "serverless architectures," generally involve a service provider dynamically managing the allocation and provisioning of remote servers to achieve desired functionality.
[0021] According to the illustrated embodiment of FIG. 2 , the components or modules of contact center 200 include a plurality of customer devices 205A, 205B, 205C, a communications 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, a plurality of agent devices 230A, 230B, 230C each including a workbin 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 interaction (or “iXn”) server 244, and a universal contact server 246. 2, or in any of the following figures, may be implemented via a type of computing device such as computing device 100 of FIG. 1. As will be appreciated, contact center system 200 generally manages resources (e.g., personnel, computers, telecommunications equipment, etc.) to enable delivery of services via telephone, email, chat, or other communications mechanisms. Such services may vary depending on the type of contact center and may include, for example, customer service, help desk functionality, emergency response, telemarketing, order taking, etc.
[0022] Customers desiring to receive service from the contact center system 200 may initiate inbound communications (e.g., phone calls, emails, chats, etc.) to the contact center system 200 via customer devices 205. While FIG. 2 shows three such customer devices, namely, customer devices 205A, 205B, and 205C, it should be understood that any number may be present. The customer devices 205 may be communication devices such as, for example, telephones, smartphones, computers, tablets, or laptops. According to the functionality described herein, customers may generally use the customer devices 205 to initiate, manage, and conduct communications with the contact center system 200, such as telephone calls, emails, chats, text messages, web browsing sessions, and other multimedia transactions.
[0023] Inbound and outbound communications to customer device 205 may typically traverse a network 210, the nature of which depends on the type of customer device and mode of communication being used. By way of example, network 210 may include a telephone, cellular, and / or data service communications network. 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.
[0024] With regard to the switch / media gateway 212, it may be coupled to the network 210 to receive and transmit telephone calls between customers and the contact center system 200. The switch / media gateway 212 may include a telephone switch or a communication switch configured to function as a central switch for agent-level routing within the center. The switch may be a hardware switching system or may be implemented via software. For example, the switch 215 may include an automatic call distributor, a private branch exchange (PBX), an IP-based software switch, and / or any other switch having dedicated hardware and software configured to receive Internet-sourced and / or telephone network-sourced interactions from a customer and route these interactions to, for example, one of the agent devices 230. Thus, in general, the switch / media gateway 212 establishes a connection between the customer device 205 and the agent device 230, thereby establishing a voice connection between the customer and the agent.
[0025] As further shown, the switch / media gateway 212 may be coupled to a call controller 214, which functions, for example, as 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 process PSTN calls, VoIP calls, etc. For example, the call controller 214 may include computer-telephone integration (CTI) software for interfacing with the switch / media gateway and other components. The call controller 214 may include a session initiation protocol (SIP) server for processing SIP calls. The call controller 214 may also extract data about incoming interactions, such as the customer's phone number, IP address, or email address, and then communicate this with other contact center components when processing the interaction.
[0026] Regarding the interactive media response (IMR) server 216, it can be configured to enable self-help or virtual assistant functionality. 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 cover various media channels. In an example illustrating voice, the IMR server 216 can be configured with an IMR script to query a customer about their needs. For example, a bank contact center may tell a customer via an IMR script to "press 1" if they want to retrieve their account balance. Through ongoing interaction with the IMR server 216, the customer can receive service without having to speak with an agent. The IMR server 216 can also be configured to verify the reason the customer is contacting the contact center so that the communication can be routed to the appropriate resource.
[0027] With respect to the routing server 218, it may function to route incoming interactions. For example, once it is determined that an inbound communication should be handled by a human agent, functionality within the routing server 218 may select the most appropriate agent and route the communication to that agent. This agent selection may be based on which available agent is best suited to handle the communication. More specifically, the selection of the appropriate agent may be based on a routing strategy or algorithm implemented by the routing server 218. In doing so, the routing server 218 may query data related to the incoming interaction, such as data related to the particular customer, available agents, and type of interaction, which may be stored in a particular database, as described more below. Once an agent is selected, the routing server 218 may interact with the call controller 214 to route (i.e., connect) the incoming interaction to a corresponding agent device 230. As part of this connection, information about the customer may be provided to the selected agent via their agent device 230. This information is intended to enhance the services that agents can provide to their customers.
[0028] With respect to 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 contact center's functions. 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 particular customers, including the nature of the previous interactions, disposition data, wait times, handling times, and actions taken by the contact center to resolve the customer's 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, handling times, etc. As another example, storage device 220 may store interaction data in interaction database 224. The interaction data may include data related to numerous past interactions between customers and the contact center. More generally, unless otherwise specified, it should be understood that storage device 220 may include databases and / or be configured to store data related to any of the types of information described herein, and that these databases and / or data may be accessible to other modules or servers of contact center system 200 in a manner that facilitates the functionality described herein. For example, a server or module of contact center system 200 may query such a database to retrieve data stored therein or to transmit data thereto for storage. Storage device 220 may take the form of, for example, any conventional storage medium and may be housed locally or operated from a remote location.
[0029] With respect to stat server 226, it may be configured to record and aggregate data related to the performance and operational aspects of contact center system 200. Such information may be compiled by stat server 226 and made available to other servers and modules, such as reporting server 248, which may then use the data to generate reports used to manage operational aspects of the contact center and perform automated actions in accordance with the functionality described herein. Such data may relate to the status of contact center resources, such as average wait times, abandon rates, agent occupancy, and others as may be required by the functionality described herein.
[0030] The agent devices 230 of the contact center 200 may be communication devices configured to interact with the various components and modules of the contact center system 200 in a manner that facilitates the functionality described herein. For example, the agent devices 230 may include telephones adapted for regular telephone calls or VoIP calls. The agent devices 230 may further include computing devices configured to communicate with the servers of the contact center system 200, perform data processing associated with operations, and interface with customers via voice, chat, email, and other multimedia communication mechanisms in accordance with the functionality described herein. While FIG. 2 shows three such agent devices, namely, agent devices 230A, 230B, and 230C, it should be understood that any number may be present.
[0031] With respect to the multimedia / social media server 234, it may be configured to facilitate media interactions (other than voice) with the customer device 205 and / or server 242. Such media interactions may relate to, for example, email, voicemail, chat, video, text messaging, web, social media, co-browsing, etc. The multimedia / social media server 234 may take the form of any IP router conventional in the art having dedicated hardware and software for receiving, processing, and forwarding multimedia events and communications.
[0032] With respect to knowledge management server 234, it may be configured to facilitate interactions between customers and knowledge system 238. Generally, knowledge system 238 may be a computer system capable of receiving questions, i.e., queries, and providing answers in response. Knowledge system 238 may be included as part of contact center system 200 or may be operated remotely by a third party. Knowledge system 238 may include an artificial intelligence computer system capable of answering questions posed in natural language by retrieving information from sources such as encyclopedias, dictionaries, newswire articles, literary works, or other documents submitted as references to knowledge system 238, as known in the art. As an example, knowledge system 238 may be embodied as IBM Watson or a similar system.
[0033] With respect to chat server 240, it may be configured to conduct, orchestrate, and manage electronic chat communications with customers. Generally, chat server 240 is configured to implement and maintain chat conversations and generate chat transcripts. Such chat communications may be conducted by chat server 240 in a manner such that customers communicate with automated chatbots, human agents, or both. In an exemplary embodiment, chat server 240 may function as a chat orchestration server that dispatches chat conversations between chatbots and available human agents. In such cases, the processing logic of chat server 240 may be rule-driven to leverage intelligent workload distribution among available chat resources. Chat server 240 may also implement, manage, and facilitate user interfaces (UIs) associated with the chat functionality, including those generated on either customer device 205 or agent device 230. The chat server 240 may be configured to transfer chats between automated and human sources within a single chat session with a particular customer, for example, so that the chat session moves from a chatbot to a human agent or from a human agent to a chatbot. The chat server 240 may also be coupled to the knowledge management server 234 and the knowledge system 238 to receive suggestions and answers to inquiries posed by the customer during the chat, for example, so that links to related articles may be provided.
[0034] With respect to web server 242, such a server may be included to provide site hosts for various social interaction sites to which customers subscribe, such as Facebook, Twitter, and Instagram. While depicted as part of contact center system 200, it should be understood that web server 242 may be provided by a third party and / or maintained remotely. Web server 242 may also host web pages for businesses or organizations supported by contact center system 200. For example, customers may browse web pages to receive information about a particular business's products and services. Within such business web pages, mechanisms may be provided for initiating interactions with contact center system 200, for example, via web chat, voice, or email. One example of such a mechanism is a widget that may be deployed on a web page or website hosted on web server 242. As used herein, a widget refers to a user interface component that performs a specific function. In some implementations, a widget may include a graphical user interface control that may be overlaid on a web page displayed to customers over the Internet. A widget may include buttons or other controls that display information, such as in a window or text box, or allow a user to access specific functionality, such as sharing or opening a file or initiating a communication. In some implementations, a widget includes a user interface component with a portable portion of code that can be installed and executed within a separate web page without compilation. Some widgets may include corresponding or additional user interfaces and may be configured to access various local resources (e.g., calendar or contact information on the customer device) or remote resources over a network (e.g., instant messaging, email, or social networking updates).
[0035] With respect to the interaction (iXn) server 244, it may be configured to manage the contact center's deferrable activities and their routing to human agents for completion. As used herein, deferrable activities include back-office work that can be performed offline, such as responding to email, participating in training, and other activities that do not involve real-time communication with customers. As an example, the interaction (iXn) server 244 may be configured to interact with the routing server 218 to select an appropriate agent to handle each deferrable activity. Once assigned to a particular agent, the deferrable activity is pushed to the selected agent so that it appears on the selected agent's agent device 230. The deferrable activity may appear in the work bin 232 as a task for the selected agent to complete. The functionality of the work bin 232 may be implemented via any conventional data structure, such as, for example, a linked list, an array, or the like. Each of the agent devices 230 may include a work bin 232, with work bins 232A, 232B, and 232C maintained on the agent devices 230A, 230B, and 230C, respectively. As an example, the work bins 232 may be maintained in a buffer memory of the corresponding agent device 230.
[0036] With respect to universal contact server (UCS) 246, it may be configured to retrieve information stored in customer database 222 and / or transmit information thereto for storage. For example, UCS 246 may be utilized as part of a chat function to facilitate maintaining a history of how chats with particular customers were handled, which history may then be used as a reference for how future chat communications should be handled. More generally, UCS 246 may be configured to facilitate maintaining a history of customer preferences, such as preferred media channels and best times to contact. To do this, UCS 246 may be configured to identify data related to each customer's interaction history, such as, for example, data regarding comments from agents, customer communication history, etc. Each of these data types may then be stored in customer database 222 or other modules and retrieved as required by the functionality described herein.
[0037] With respect to reporting server 248, it may 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 may relate to the status of contact center resources and performance characteristics, such as average wait times, abandon rates, agent occupancy, etc. Reports may be generated automatically or in response to specific requests from requestors (e.g., agents, administrators, contact center applications, etc.). The reports may then be used to manage the operation of the contact center in accordance with the functionality described herein.
[0038] With regard to media services server 249, it may be configured to provide audio and / or video services to support contact center functions. According to the functionality described herein, such functions may include IVR or IMR system prompts (e.g., playing audio files), music on hold, voicemail / single-party recording, multi-party recording (e.g., 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, coaching (e.g., support for a coach to eavesdrop on an interaction between a customer and an agent and for the coach to provide comments to an agent without the customer hearing the comments), call analysis, keyword spotting, etc.
[0039] With respect to analytics module 250, it may be configured to provide systems and methods for performing analytics on data received from multiple different data sources, as may be required by the functionality described herein. According to an exemplary embodiment, analytics module 250 may also generate, update, train, and modify predictors or models 252 based on collected data, such as, for example, customer data, agent data, and interaction data. Models 252 may include customer or agent behavioral models. Behavioral models may be used to predict, for example, customer or agent behavior in various situations, thereby enabling embodiments of the present invention to adjust interactions based on such predictions or allocate resources in preparation for predicted characteristics of future interactions, thereby improving overall contact center performance and customer experience. While analytics module 250 is depicted as being part of a contact center, it will be understood that such behavioral models may also be implemented in customer systems (or, as used herein, the “customer side” of an interaction) and used to the benefit of the customer.
[0040] According to an example embodiment, analytics module 250 may have access to data stored in storage device 220, including customer database 222 and agent database 223. Analytics module 250 may also have access to interaction database 224, which stores data related to interactions and interaction content (e.g., transcripts of interactions and events detected therein), interaction metadata (e.g., customer identifier, agent identifier, interaction medium, interaction length, interaction start and end times, department, tagged categories), and application settings (e.g., interaction path through the contact center). Additionally, as discussed more below, analytics module 250 may be configured to search data stored in storage device 220 for use in developing and training algorithms and models 252, for example, by applying machine learning techniques.
[0041] One or more of the included models 252 may be configured to predict customer or agent behavior and / or aspects related to contact center operation and performance. Additionally, one or more of the models 252 may be used for natural language processing, including, for example, intent recognition. The models 252 may be developed based on 1) known first-principles equations describing the system, 2) data resulting in an empirical model, or 3) a combination of known first-principles equations and data. When developing models for use in the present embodiments, first-principles equations are often not available or easily derived, so building empirical models based on collected and stored data may generally be preferred. To adequately capture the relationships between manipulated / disturbance variables and controlled variables of a complex system, it may be preferable for the models 252 to be nonlinear. This is because nonlinear models may exhibit curvilinear relationships between manipulated / disturbance variables and controlled variables rather than the linear relationships common in complex systems such as those discussed herein. Given the aforementioned requirements, machine learning or neural network-based approaches are currently preferred for implementing the models 252. For example, neural networks can be developed based on empirical data using sophisticated regression algorithms.
[0042] Analysis module 250 may further include optimizer 254. As will be appreciated, an optimizer may be used to minimize a "cost function" subject to a set of constraints, where the cost function is a mathematical expression of a desired objective or system behavior. Because model 252 may be nonlinear, optimizer 254 may be a nonlinear programming optimizer. However, it is contemplated that the present invention may be implemented using a variety of different types of optimization approaches, individually or in combination, including, but not limited to, linear programming, quadratic programming, mixed-integer nonlinear programming, stochastic programming, global nonlinear programming, genetic algorithms, particle / swarm techniques, etc.
[0043] According to some demonstrative embodiments, model 252 and optimizer 254 may be used together in optimization system 255. For example, analytics module 250 may utilize optimization system 255 as part of an optimization process in which aspects of contact center performance and operations are optimized, or at least enhanced. This may include, for example, aspects related to customer experience, agent experience, interaction routing, natural language processing, intent recognition, or other functionality related to automated processes.
[0044] With respect to deferrable work module 260, as discussed further below, workflows associated with deferrable work or deferrable work interactions may be optimized. As will be appreciated, aspects of analysis module 250 may be included within deferrable work module 260, but to avoid repetition, unless needed, will not be discussed further with respect to deferrable work module 260.
[0045] The invention of this disclosure will now be considered more directly with reference to Figures 3 and 4. As shown in Figure 3, the invention may include a deferrable workflow module 260. As shown, the deferrable workflow module 260 may accept input derived from emails 262 (or other deferrable work interactions) and then process those emails through a plurality of natural language processing (NLP) models 263. Output from the NLP models 262 may be directed as input to a priority model 264. The output of the models 264 is then provided to an optimization module 270. This optimization module may receive other data and information, such as inbound work predictions from an inbound work prediction module 268 and agent work schedules from an agent work schedule module 266. The optimization module 270 may then generate an optimized workflow for the deferrable work interactions. This optimized workflow may include an optimized workflow assignment directed to a router 272 for routing to the identified agent. Functionality associated with this system is discussed further below. First, some background is provided so that the challenges associated with processing deferrable work may be more fully understood.
[0046] As will be appreciated, contact centers handle many different types of customer interactions. One way that work associated with these interactions can be categorized is based on the required immediacy of the response. Work associated with responses that can be deferred (“deferrable work” or “deferrable work interactions”) is generally work associated with customer interactions that do not need to be handled immediately. This type of work generally includes asynchronous interactions involving text communications between customers and agents. Because such work primarily involves responding to customer emails, this type of work may be referred to as “email work” or simply “email.” However, it should be understood that deferrable work may also include other types of back-office work. In any event, for deferrable work, response time is generally measured in hours or days. In contrast, immediate work, such as work associated with incoming calls or chats involving synchronous voice or text exchanges, is more urgent in that the communications must be handled immediately.
[0047] Given these differences, planning how deferrable work is handled within a contact center differs substantially from planning for immediate work. Unlike the nature of immediate work, where unhandled interactions are abandoned and directly correlate to how tolerant customers are in the queue, unhandled emails are not abandoned but rather passed as backlog from one work period to the next. In addition, customers typically have much more patience waiting for a response due to the deferrable nature of emails. However, due to this deferrable nature, measuring performance characteristics associated with deferrable work from an operational and optimization perspective can be difficult, leading to complex and problematic staffing issues.
[0048] Generally, to effectively meet performance objectives for deferrable work, such as email, three performance characteristics must be understood and managed. The first of these characteristics is "response time." As used herein, "response time" refers to the time between when a customer initiates an interaction with a contact center, such as when a customer email is received, and when the customer receives a response from an agent. The second performance characteristic is "backlog management." As used herein, "backlog management" refers to how the backlog of deferrable work is managed. A "backlog" of deferrable work refers to the cumulative total of emails requiring a response. As will be appreciated, it is good practice to maintain a constant level of backlog from one work period to the next, rather than completely clearing the backlog. The third performance characteristic is "email steady-state slew rate." 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, on-time processing.
[0049] Several issues hinder the efficient processing of deferrable work. Typically, agents in contact centers are busy handling immediate work, such as calls and chats, and deferrable work is ignored. That is, incoming calls and chats "cut in" before emails, which are pushed further back in the queue. Email backlogs can grow rapidly. This rapid growth, if left unchecked, can create an unmanageable email backlog. When the email backlog becomes too large, agents must scramble to clear the backlog, which can result in emails that would otherwise be considered important or urgent being overlooked or not processed. As a result, it is highly desirable to accurately characterize such emails in advance. However, agents are generally required to process such deferrable work in a "first-in, first-out" (FIFO) manner, which hinders the efficient processing of more important or urgent emails. The FIFO rule, if extended to apply equally to all types of media or channels, can further hinder the management of deferrable work. Another issue with deferrable work relates to how agents typically schedule their days. Agents typically allocate blocks of time at the beginning or end of a shift or week to process email backlogs, rather than steadily working through them throughout their entire work period. Finally, agents' ability to handle multiple emails and chats simultaneously makes monitoring and managing their workload more complex and difficult.
[0050] To address these issues, the present disclosure teaches adaptive prioritization of emails that leverages aspects of natural language processing (NLP) using workload predictions and agent availability to direct optimal workflow for deferrable work. As will be appreciated, these practices can be used to promote optimal delivery of service to customers and efficient use of agents. To accomplish this, a smart system is devised in which each deferrable work interaction, such as an email, is "read" and analyzed before being assigned and routed to an agent. This includes, for example, analyzing the email's text using an NLP model to generate a measure of the email's significance or importance and urgency. Embodiments of the present invention then include using this gained contextual knowledge to integrate assignments into an agent's work day in an optimized manner.
[0051] More specifically, a method is disclosed for ranking or scoring priorities, which may include aspects of importance and / or urgency, of deferrable work interactions or emails. This type of scoring may be referred to herein as a "priority score," or more specifically, an "urgency score" or an "importance score." One way to do this is to create training data (i.e., emails that have already been verified as having a particular priority score) and then train a model so 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.
[0052] As an example, according to a preferred embodiment, the priority model is trained to score levels of urgency. In such a case, the urgency model may be trained such that classification of whether an email is urgent is simplified by limiting urgency scoring to two levels: whether the email has high urgency or low urgency. The model may be trained according to the presence of keywords. Once trained, a keyword search of incoming emails is then used to classify the emails according to two urgency categories. Thus, in a simplified example, if the keywords "urgent" or "stolen" or "lost" appear in an incoming email, the email is given a "high urgency" score and is thereby considered urgent. If no keywords are found, the email is given a "low urgency" score and is thereby considered not urgent. According to an exemplary embodiment, the priority model may similarly be trained to score levels of importance. The importance levels may be learned based on topics or intents found to be expressed in the emails, for example, using relevant data output from NLP analysis. As will be appreciated, once this priority scoring, including urgency and / or importance scoring, is complete, the present invention translates this enhanced contextual understanding into agent workflow improvements. In doing so, difficult questions such as "How far ahead should high-urgency emails be advanced in the email backlog queue?" or "How does the contact center ensure that agents are still responding to low-urgency emails?" must still be addressed.
[0053] As will be appreciated, contact centers generally prompt agents to handle urgent or important emails before less urgent or important emails because overlooked urgent emails pose a greater risk of negative consequences. However, when routing such deferrable work interactions, the present invention takes into account a more complete set of criteria that can change how emails are prioritized and handled. As an example, it is commonly understood that contact centers often operate under some kind of service level agreement (SLA). As used herein, an SLA is a contract or other formalized agreement that defines what services a service provider offers and the required level or standard for the delivery of those services. In the present context, an SLA may define contractual response time targets or requirements and the negative financial consequences of not meeting them. That is, in contact center operations, an SLA may define stringent response time requirements for emails that, if not met, will have a negative financial impact on the contact center. In some instances, when SLA requirements and associated economic impacts are taken into account, an email rated as less urgent may actually be more urgent (in terms of direct economic impact) than an email rated as more urgent, at least from the contact center's perspective. This may be the case when the less urgent email is closer to a defined limit or threshold for response. Embodiments of the present invention take such factors into account when assigning priorities to emails in the backlog and optimizing the associated workflow.
[0054] Furthermore, from an efficiency perspective, embodiments of the present invention include ranking emails according to their difficulty of response (or "response difficulty"), as it has been found to be advantageous to group emails of similar difficulty. For example, some inbound emails may be less difficult in that responses to them can be provided in batches (i.e., batch responses) or an agent can use pre-canned responses in their responses. Other inbound emails may be more difficult in that an agent must formulate a personal response or the subject matter is more complex. In grouping such emails, for example, an agent may decide to batch some of the less difficult emails before separating out the more difficult emails. According to another aspect of the present disclosure, emails may be grouped according to topic, which may act to minimize context switching and increase an agent's response speed.
[0055] Additionally, because organizations or businesses may have different definitions of what constitutes high-priority email, and more specifically, important or urgent email, the present disclosure includes a methodology for developing custom models, i.e., models tailored for use with particular types of businesses or product lines, etc. As described below, this type of modeling provides flexibility, allowing organizations to utilize various NLP text analyses to customize the definition of which emails have high and low priority. Using the NLP text analysis results, the priority model can be provided with different features and classifiers from those results as inputs. The priority model can include both an urgency component (i.e., an urgency model) that generates an urgency score and an importance component (i.e., an importance model) that generates an importance score. The priority score can be determined through a combination of the urgency score and the importance score. As discussed further below, the urgency and importance scores can be weighted to produce desired results. In some cases, business urgency can be weighted more heavily than importance when calculating the priority score. In other cases, the opposite can be true. Thus, a priority score can be determined from the priority model by combining various NLP model results. This "priority score" can then be used as a decision point by which emails in the queue are sorted or prioritized, a process covered further below.
[0056] According to exemplary embodiments, such prioritization may be coupled with capabilities such as contact center workforce management, strategic and tactical planning, modeling, and optimization to generate optimized agent workflow plans, particularly with regard to how the allocation of immediate and deferrable work is balanced. See U.S. Pat. No. 9,906,648, which may include mathematical programming optimization, queuing theory, simulation modeling, and the like. In a multi-skilled world where agents are trained to handle different types of interactions and media types, it is essential that agent utilization, preferences, and skill proficiency are considered. Also, in a mix of both deferrable and immediate work, it is important that the prioritization of incoming calls and chats (i.e., immediate work) relative to email (i.e., deferrable work) be taught and measured. To this end, proper email allocation and management for routing purposes must also consider agent availability. In a preferred embodiment, the present invention defers the routing of email to a given agent until the agent has completed their current task or is determined to have available bandwidth. Additionally, the workload expected in the near future can be taken into account when routing assignments to agents; for example, it may be preferable to postpone emails to a later time that avoids anticipated periods of peak inbound volume. Thus, in the present system and method, the agent's time or availability factor is taken into account before model inference matches an email to a particular agent. In this way, the best time for the most suitable agent to handle the email can be determined, and assignments made accordingly. To do this, and to provide optimized results and a feedback loop to the system, predictions from the workload forecast and agent schedules are used during the optimization process. An exemplary contact center workflow utilizing these principles will now be discussed with reference to three distinct phases of implementation.
[0057] The first implementation stage is model building. Model building generally involves developing and training the necessary models. For example, a contact center may first need to create and train NLP and priority models (which may include urgency and importance components) that are customized or applicable to a specific business or product line. As will be appreciated, a contact center may create such models for the different businesses it represents, and the models are trained to classify business-specific emails. To do this, the contact center may label existing emails that correspond to NLP results and use these emails to train the NLP model. Once the NLP model is trained, a mechanism may also be provided for agents to label the validity of the model output as part of their post-interaction workflow. This feedback loop may be used to improve the model's functionality. Furthermore, an overnight batch or ad hoc model training mechanism may be run so that the priority model produces accurate scores that optimize the priority ratings of deferrable work interactions.
[0058] Once the model is developed and trained, a second phase can be established, which generally involves using the model to calculate or generate priority scores for inbound emails or other types of deferrable work. This phase also includes collecting other information needed during the third phase to calculate an optimized deferrable workflow (i.e., email assignment and routing solution). Within the second phase, inbound emails and other deferrable work-type interactions can be processed as follows: First, the text of the incoming email is scanned and / or otherwise entered into the system, and preprocessing is performed. Preprocessing can include removing personal identification information (PII), converting or formatting the email text into an ingestible format, etc. Second, the incoming emails are processed through an automated workflow in which NLP is performed, and the results are used to score the priority of each email. Trained NLP models designated for a given business are accessed, each used to analyze text derived from the email and score the text with respect to specific characteristics (e.g., relevance, sentiment, etc.). The output from the NLP model is then provided as input to a priority model, which then scores the urgency and / or importance of the emails. In this manner, each email is assigned a priority score based on the combined analysis derived from the NLP model. As a next step, the group of emails may be resorted based on the emails' priority scores, with emails having higher priorities generally being moved up in the queue and emails having lower priorities generally being moved down in the queue. As discussed in more detail below, the priority score of a deferrable work interaction (i.e., an email) may include both an urgency and an importance component.
[0059] As a next step within the second phase, the collected data, which may include the priority score and / or scoring and information derived from the NLP analysis (e.g., determined intent, sentiment, relevance to a particular topic, subject, or product), may be provided as input to other provided modules to automatically derive other information used to optimize workflow. First, the collected data may be provided to a next-best action module, which may be used to generate a recommended next action for each email. As will be appreciated, such recommended actions may be actions that an agent can recommend or implement toward resolving issues identified in the email and / or responding to the email. Second, the collected data may be used by a predictive router to derive preferred agent characteristics, which may be used to identify candidate agents who are more likely to effectively handle responses to a particular email. According to an exemplary embodiment, the collected data from the NLP analysis is used to identify one or more candidate agents for handling deferrable work interactions. This may include identifying preferred agent characteristics for each deferrable work interaction. The identified preferred agent characteristics are then matched against the agent's known actual agent characteristics to determine one or more suitable or best matches. Multiple candidate agents may be identified to allow for greater flexibility during workflow optimization, where candidate agents are narrowed down to selected agents assigned to handle particular deferrable work interactions.
[0060] To determine the necessary data, additional information modules may be queried. For example, a workload forecasting module may be consulted to obtain a forecast of expected inbound work levels for one or more future work periods. As will be appreciated, this forecast may include the expected level of inbound immediate work (i.e., voice or chat interactions) for the contact center that may be provided over the next few shifts, days, or weeks. This information may be used to determine peaks and valleys in inbound volume so that agent availability may be determined. Specifically, the timing of when emails are routed or assigned to agents for handling may be optimized toward more appropriate times (i.e., when agents are not overly busy handling immediate work). Information may also be gathered from an agent scheduling module to obtain future work schedules for agents at the contact center over the relevant work period, along with a set of preferred agent characteristics for agents handling emails. From this, insight may be gained into when particular agents are working, as well as the periods within their shifts, when they may have available bandwidth to accept deferrable work.
[0061] In a third phase of implementation, the accumulated information is used in an optimization process in which an optimized workflow for deferrable work is generated. As part of the optimization, a particular email can be matched to one or more preferred agents to create a deferrable work assignment. Each such assignment can also include a targeted time frame in which the assignment is routed to the agent and a targeted time frame in which the response is completed by the agent. Optimization of such deferrable work assignments can take into account several factors and criteria, which can include, for example, consideration of the following aspects: 1) the expected workload of future immediate work; 2) the expected time when an agent will be available to handle deferrable work; and / or 3) which of the agents is more favorable for handling a particular deferrable work interaction. Thus, deferrable work assignments can be re-sorted based on their priority, with the assignments made following optimization taking into account agent availability, available bandwidth, and other constraints.
[0062] We now turn our attention to natural language processing, which is used to analyze and score deferrable work interactions, such as emails. As previously described, the results or scoring provided by natural language processing can be used as input for a priority model, which then scores or classifies deferrable work interactions according to their level of priority. As part of this discussion, an exemplary scenario will be used in which an email is received from a customer requesting a rescheduling of a flight the customer previously booked. The rescheduling is required due to an event, such as a natural disaster, occurring in the country to which the customer is traveling. As will be appreciated, in such cases, it is desirable for this type of email to be processed quickly and accurately identified as having a high priority (in that the email has a high importance and, depending on where in the future the flight is scheduled, a high urgency). As a result, the email should be prioritized in the email backlog and assigned / routed to a qualified agent for prompt processing.
[0063] As a first step in this process, the text of the email may be preprocessed. Preprocessing may be performed to improve the model's capabilities and accuracy. As an example of preprocessing, the text may be cleaned by removing HTML tags, PII information, and / or stop words. Furthermore, word lemmatization to the same base may be performed. Other preprocessing steps may be performed depending on the requirements of the NLP model used.
[0064] According to the present disclosure, the processed email text may then be provided as input for one or more NLP models. According to a preferred embodiment, the present invention proposes using several NLP models, each of which analyzes a different aspect or characteristic of the processed email text and generates an output score indicating a measure of the corresponding characteristic. Specifically, NLP models are proposed that analyze along the following components: custom classification; entity extraction; topic spotting; and sentiment. Each of these is discussed in more detail below.
[0065] An NLP model trained for custom classification determines whether an email is relevant or not relevant to a general subject at a high or low level. For example, using processed email text as input, the custom classification model may determine whether the email is relevant to a particular market, business, or product. Thus, in an exemplary scenario, the custom classification model may determine whether the email is relevant to a marked domain, such as the travel domain. As will be appreciated, a custom classification model used in another domain is directed to determining relevance to a generalized subject corresponding to that domain. In an exemplary scenario, the custom classification model may be trained using a first dataset including customer emails verified to be within the travel domain, which would represent a related category, and a second dataset including customer emails verified not to be within the travel domain, which would represent a non-related category.
[0066] NLP models for entity extraction generally function by extracting entities from processed email text. Examples of extracted entities include places or locations, dates, organizations, businesses, and / or people. For example, using an entity extraction model, entities are extracted from text and a score is generated from the text based on the occurrence of the entity from a predefined list of entities. In an exemplary scenario, a match with a particular country where a natural disaster occurred may generate an output score that is configured to increase the likelihood that an email urgency model will classify the email as urgent.
[0067] Using an NLP model trained for topic spotting, one or more topics of the email can be determined. As can be appreciated, the topics covered in the email can be useful in scoring its urgency. Some examples of such topics are: balance inquiry; billing; cancel service; change of address; check status; etc.
[0068] Once entities are extracted and topics are identified, techniques such as term frequency-inverse document frequency (TF-IDF) and / or latent semantic analysis (LSF) can be used to obtain a sparse vector representation of the document. TF-IDF and LSF analysis can be further used to identify or classify topics from a list of predefined topics. Other types of classification are also possible. For example, emails can be classified based on complaint categories, including complaint categories such as incorrect billing, late payment, or account problems. The subject of an email can be further classified according to intent. To improve this type of classification system over time, a point-wise ranking system can be implemented. For example, an agent can mark an email as a "match" (1) or "no match" (0) after processing it and update the category recommended by the system. A binary classification algorithm leveraging random forest techniques can be used to classify whether each email-category combination is a match based on user training data for predicted new emails, and the predicted category will be returned based on the category's highest score.
[0069] As another step in natural language processing of emails, sentiment analysis may be performed to determine a sentiment rating or score for the email. Sentiment analysis may be performed by a trained sentiment model and may be used, for example, to classify a given email as positive, negative, neutral, or mixed. Sentiment analysis may also score the magnitude of the expressed sentiment. For example, the sentiment model may be trained via a training dataset of emails that are reviewed for certain attributes and verified for a particular level of sentiment by human reviewers. According to some embodiments, the sentiment model may base sentiment on the detection of one or more email attributes within the email. These attributes may include: greeting; backstory; justification; verbal abuse; gratitude; and emotional expression. Upon detecting such attributes, the sentiment model may construct a mapping statement or rule that applies the detection of such attributes to the likelihood of sentiment. For example, an exemplary mapping statement may include: verbal abuse detected along with an emotional index indicates a negative or strong negative sentiment. The magnitude of sentiment may be determined in relation to the length of the email, such that the length of the email is positively correlated with the magnitude of sentiment. Another example mapping statement may include one in which detecting gratitude indicates a positive emotion. Another example mapping statement may include one in which a backstory detected in a justification indicates a multiplier for positive or negative scoring to be applied.
[0070] Here, this disclosure focuses on scoring, ranking, queuing, and routing of deferrable work interactions as part of an optimized workflow. Typically, all interactions, both immediate and deferrable, 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. While this approach may work in connection with immediate work interactions, it is not efficient for queues with deferrable work interactions, as will be explained below.
[0071] According to an exemplary embodiment of the present invention, an improved deferrable work scoring function is proposed that optimizes according to several specific factors that can be expressed as part of an overall priority score. The first of these factors is the urgency of the email, which can be expressed as an urgency score. As described above, the urgency score is an indicator of how quickly a response needs to be provided. The urgency score can be based on the results of the NLP analysis described above, and the input provided from this analysis indicating the urgency level is learned from a training dataset. The second of these factors is the importance of the email, which can be expressed as an importance score. The third factor is a time-to-threshold factor. As used herein, the time-threshold factor is a measure that takes into account the amount of remaining time the contact center has to process deferrable work interactions while still being within the requirements of the governing SLA that specifies response time limits. The fourth factor is referred to as an overall performance factor. As used herein, the overall ranking factor is a measure that indicates the real-time or current overall ranking the contact center has with respect to the multiple service requirements defined in the governing SLA. Thus, the overall ranking factor not only looks at the contact center's ranking with respect to responding to one of the pending emails, but also indicates the contact center's overall ranking with respect to provisions for multiple channels or media types, each of which may have different requirements or limitations, for example. If the contact center is performing poorly with respect to how its SLAs define service requirements for a particular media or channel, such as email, the overall ranking factor may be scored with a value that increases the priority of handling interactions from that particular channel.
[0072] Of course, prioritizing a contact center backlog or queue that has both immediate and deferrable work can become very complicated. According to exemplary embodiments, certain assumptions may be formulated that provide shortcuts to facilitate this process. For example, as discussed, a distinction may be made between urgency and importance. That is, a particular email response may be highly important or critical, making the response highly important, but the urgency of the response may be very low due to the fact that the customer does not expect a response immediately. Queue sorting may include a setting where urgency outweighs importance in the sort, or vice versa. Furthermore, immediate work may automatically be given a high urgency score so that, in most circumstances, it is processed before deferrable work. Also, in conjunction with service categories and requirements defined in SLAs, the system may have the behavior that, for any two interactions that can be distinguished as being in different SLA categories, the interaction in the category that the contact center is currently executing is the prioritized interaction. In this regard, calculations may be made regarding the benefits received by the contact center for prioritizing each of the interactions. Therefore, the prioritization that provides the greatest benefit to contact center performance per SLA requirements is the one that is prioritized for faster processing.
[0073] Furthermore, according to embodiments of the present invention, the handling of deferrable work is not only related to the order in which interactions are handled, but also to when interactions are handled. For example, the following considerations may be used in determining the timing of when an interaction is routed to an agent and when the response is completed. Such timing may include a target time frame within which the assignment is scheduled to be routed and a time frame within which the agent is expected to handle deferrable work assignments. The first of these considerations is immediate occupancy. As used herein, immediate occupancy refers to the predicted ratio of the number of available agents to the amount of immediate work. According to preferred embodiments, deferrable work is scheduled when the ratio value indicates that agents have sufficient time to handle both the expected immediate work and a certain level of deferrable work. Additionally, the timing of deferrable work assignments should keep agents busy rather than idle while maintaining a backlog of deferrable work from growing. Furthermore, when the time-to-threshold factor for a particular deferrable work assignment, such as email, reaches a certain level, e.g., 15 minutes or less, that particular assignment may be treated by the system as an immediate work assignment.
[0074] The following discussion provides some further explanation regarding exemplary scoring functions that may be used by the system to prioritize deferrable work interactions used to optimize the associated workflow. According to one approach, interactions are scored by a scoring function that calculates a modified time-in-queue (or "modified time-in-queue, TIQ"). In this approach, the actual time an interaction spends in the queue is tracked, and that duration is modified (by addition, subtraction, multiplication, etc.) by an amount that indicates its importance level. For example, the scoring formula may be modified time-in-queue equals actual time-in-queue (or "actual TIQ") plus 60 seconds multiplied by an importance multiplier, i.e., Corrected TIQ = (Actual TIQ) + (Importance Multiplier * 60)
[0075] The importance multiplier can be, for example, between 1 and 10. Thus, an importance multiplier equal to 4 for an interaction would result in 240 seconds being added to the actual time in queue to determine the corrected time in queue.
[0076] According to an alternative embodiment, the priority scoring function may be modified to further include an urgency score. For example, the scoring function may be as follows: Corrected TIQ = (Actual TIQ) + (Importance Multiplier * 60)+(urgency multiplier * 600)
[0077] In this case, the urgency multipliers may include high, medium, and low score values, or 4, 2, and 0, respectively. In this configuration, interactions with high urgency generally trump interactions with high importance. According to other embodiments, the relative values assigned to importance and urgency may be modified to produce desired results. Additionally, the scoring system may incorporate other factors, including time-of-day threshold factors and / or overall ranking factors. According to exemplary embodiments, the scoring function may be configured to function in accordance with the service requirements outlined in the SLA.
[0078] The disclosed system and method offers several advantages over conventional systems. Accurate classification of deferrable work by urgency improves overall contact center performance. The present system and method further allows for performance emphasis per requirements defined in SLAs to improve performance. Additionally, by ensuring the most urgent emails are processed, customer satisfaction scores and net promoter scores improve. More consistent occupancy levels and backlog management are also promoted. Finally, more uniform and timely allocation of emails to agents should improve agent performance and job satisfaction while reducing turnover.
[0079] 4, a method 350 according to a preferred embodiment is provided. The method 350 relates to optimizing workflow in a contact center in which deferrable work interactions are prioritized and assigned to agents for handling. A deferrable work interaction may be, for example, an email communication sent by a customer requesting a response from the contact center.
[0080] In step 355, method 350 includes a plurality of natural language processing (NLP) models and a priority model. Each of the NLP models may be configured to accept as input text from a given deferrable work interaction and generate an NLP score indicating how the given deferrable work interaction evaluates according to the characteristic. The priority model may be configured to accept as input scores generated from the plurality of NLP models and generate a priority score associated with the priority characteristic indicating how the given deferrable work interaction should be prioritized for processing relative to other ones of the deferrable work interactions.
[0081] In step 360, the method 350 may include receiving a deferrable work interaction, which may include the pre-processing steps discussed above.
[0082] In step 365, method 350 may generate an NLP score for each of the deferrable work interactions using the text derived from the deferrable work interactions as input to multiple NLP models. The multiple NLP models may include a model trained to determine relevance to at least one of a particular business or product. The multiple NLP models may include one or more models trained to extract entities and / or identify topics in the deferrable work interactions. In such cases, generating an NLP score further includes generating a sparse vector representation of each of the deferrable work interactions from the extracted entities or identified topics, and classifying the deferrable work interactions according to a predefined list of topic categories or complaint categories based on the sparse vector representation. The multiple NLP models may include a model trained to provide a sentiment score that classifies the deferrable work interactions as having a positive, negative, neutral, or mixed sentiment and associated magnitude.
[0083] At step 370, method 350 may include generating a priority score for each deferrable work interaction using the generated NLP scores as inputs to a priority model. The priority 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 both the urgency score and the importance score.
[0084] In step 375, method 350 may include using the generated NLP scores to identify one or more candidate agents for handling each of the deferrable work interactions. Using the generated NLP scores to identify one or more candidate agents for handling each of the deferrable work interactions may include identifying preferred agent characteristics for each of the deferrable work interactions and comparing the identified preferred agent characteristics with the agents' actual agent characteristics to determine one or more candidate agents as agents having the most favorable match. Preferred agent characteristics are defined as agent characteristics that are known to be more likely to produce a favorable outcome given the characteristics of a given deferrable work interaction.
[0085] At step 380, method 350 may include receiving an inbound work forecast for the contact center that predicts inbound work levels and agent work schedule data covering one or more future work periods. Specifically, an inbound work forecast for the contact center that predicts expected inbound work levels over one or more future work periods may be received. The inbound work forecast may include a prediction regarding expected inbound work levels of immediate work interactions over the one or more future work periods. An immediate work interaction may be defined as a synchronous interaction involving a real-time exchange of text or voice between one of the agents and a customer. Additionally, agent work schedule data may be received that describes expected work schedules of agents associated with the one or more future work periods.
[0086] In step 385, method 350 may include generating an optimized workflow for the deferrable work interactions using the received data and priority scores as inputs to an optimization process. The generated optimized workflow may include, for each deferrable work interaction, an assignment in which a selected agent is selected from the candidate agents to handle the deferrable work interaction and a target time slot is scheduled for handling the deferrable work interaction. The optimization process may be configured to optimize according to the following factors: the generated priority score for each deferrable work interaction; and the expected availability over one or more future work periods of one or more candidate agents identified for each deferrable work interaction. The expected availability may be determined from agent work schedule data over one or more future work periods and predicted inbound work levels over one or more future work periods given the inbound work forecast. Upon completion of that final step, the process may conclude with routing the deferrable work interactions according to the optimized workflow assignment.
[0087] According to alternative embodiments, other factors may be considered in the optimization. For example, in certain embodiments, the method further includes determining, for each deferrable work interaction, a response deadline indicating a threshold for responding to the deferrable work interaction. In such cases, the factors considered by the optimization process may further include the response deadline determined for each deferrable work interaction. In certain embodiments, the method further includes determining, for each deferrable work interaction, a negative economic impact for not responding to the deferrable work interaction before the threshold. In such cases, the factors considered by the optimization process may further include the negative economic impact determined for each deferrable work interaction. The response deadline and negative economic impact may be determined in accordance with clauses defined in a service level agreement (SLA) that govern requirements regarding how the contact center responds to deferrable work interactions.
[0088] In certain embodiments, the method may further include sorting the deferrable work interactions according to the relative values of the priority scores. In such cases, the factors considered by the optimization process may further include the ordering of the deferrable work interactions, if any. Furthermore, the factors considered by the optimization process may further include the current backlog level of the deferrable work interactions.
[0089] In particular embodiments, the method may further include receiving, for each of the deferrable work interactions, an agent-provided priority score from an agent assigned to handle the response, and updating training of the priority model using a comparison between the agent-provided priority score and the priority score of the deferrable work interaction.
[0090] As will be understood by those skilled in the art, many of the various features and configurations described above in connection with certain exemplary embodiments can be further selectively applied to form other possible embodiments of the present invention. For the sake of brevity and in consideration of the capabilities of those skilled in the art, each possible iteration will not be provided or discussed in detail, but all combinations and possible embodiments encompassed by the following certain claims or otherwise are intended to be part of this application. Furthermore, from the above description of various exemplary embodiments of the present invention, those skilled in the art will recognize improvements, changes, and modifications. Such improvements, changes, and modifications within the skill of those skilled in the art are also intended to be covered by the appended claims. Furthermore, the above relates only to the described embodiments of the present application, and it will be apparent that numerous changes and modifications can be made herein without departing from the spirit and scope of the present application, as defined by the following claims and their equivalents.
Claims
1. 1. A computer-implemented method for optimizing workflow in a contact center in which deferrable work interactions are prioritized and assigned to agents for handling, the method comprising: a plurality of natural language processing (NLP) models, each configured to take text derived from a given deferrable work interaction as input and generate an NLP score indicating how the given deferrable work interaction is rated according to characteristics, the NLP score being generated from a sparse vector representation of the deferrable work interaction; a priority model configured to accept as input the scores generated from the plurality of NLP models and to generate a priority score associated with a priority characteristic indicating how the given deferrable work interaction should be prioritized for processing relative to other ones of the deferrable work interactions; and providing a receiving the deferrable work interaction; using text derived from the deferrable work interactions as input to the plurality of NLP models to generate the NLP score for each of the deferrable work interactions; using the generated NLP scores as inputs to the priority model to generate the priority scores for each of the deferrable work interactions; using the generated NLP scores to identify one or more candidate agents among the agents for handling each of the deferrable work interactions; receiving an inbound work forecast for the contact center that forecasts expected inbound work levels over one or more future work periods; receiving agent work schedule data describing an expected work schedule for the agent associated with the one or more future work periods; generating an optimized workflow for the deferrable work interactions using an optimization process, where for each of the deferrable work interactions, the optimized workflow includes an assignment in which a selected agent is selected from the candidate agents to handle the deferrable work interaction and a target time slot is scheduled for handling the deferrable work interaction; routing each of the deferrable work interactions according to the assignment of the optimized workflow; The optimization process comprises: the priority score generated for each of the deferrable work interactions; projected availability over the one or more future work periods of the one or more identified candidate agents for each of the deferrable work interactions; the agent work schedule data spanning the one or more future work periods; and a predicted inbound work level over the one or more future work periods given the inbound work forecast. Computer-implemented methods.
2. The method of claim 1 , wherein the deferrable work interactions each comprise an email communication sent by a customer requesting a response from the contact center.
3. determining, for each of the deferrable work interactions, a response deadline indicating a threshold for responding to the deferrable work interaction; The method of claim 2 , wherein the factors considered by the optimization process further include the response deadline determined for each of the deferrable work interactions.
4. determining, for each of the deferrable work interactions, a negative economic impact to the contact center for not responding to the deferrable work interaction before the threshold, wherein the negative economic impact is determined in accordance with a clause regarding negative economic consequences of not meeting response requirements defined in a service level agreement (SLA) governing requirements regarding how the contact center responds to the deferrable work interactions; The method of claim 3 , wherein the factors considered by the optimization process further include the negative economic impact determined for each of the deferrable work interactions.
5. The method of claim 4 , wherein the response deadline is determined according to a clause regarding response time requirements defined in the service level agreement (SLA).
6. The priority model is an urgency component that provides an urgency score; an importance component that provides an importance score; The method of claim 2 , wherein the priority score is derived from a weighted combination of both the urgency score and the importance score.
7. the inbound work forecast includes a forecast regarding expected inbound work levels of immediate work interactions over the one or more future work periods; The method of claim 2 , wherein the immediate 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. using the generated NLP scores to identify the one or more candidate agents for handling each of the deferrable work interactions, identifying preferred agent characteristics for each of the deferrable work interactions; comparing the identified preferred agent characteristics with the agent's actual agent characteristics and determining the one or more candidate agents as being one of the agents having a most preferred match; The method of claim 2 , wherein the preferred agent trait is defined as an agent trait that is known to be more likely to produce a preferred outcome given the characteristics of a given deferrable work interaction.
9. The method of claim 2 , wherein the factors considered by the optimization process further include a current backlog level of the deferrable work interactions.
10. The method of claim 2 , wherein the plurality of NLP models includes a model trained to determine relevance to at least one of a particular business or product.
11. the plurality of NLP models include one or more models trained to perform at least one of entity extraction and topic identification in the deferrable work interactions; 3. The method of claim 2, wherein generating the NLP score further comprises generating a sparse vector representation of each of the deferrable work interactions from the extracted entities or the identified topics, and classifying the deferrable work interactions according to a predefined list of topic categories or complaint categories based on the sparse vector representation.
12. 3. The method of claim 2, wherein the plurality of NLP models includes a model trained to provide a sentiment score that classifies the deferrable work interaction as having a positive, negative, neutral, or mixed sentiment and associated magnitude.
13. receiving, for each of the deferrable work interactions, an agent-offered priority score from an agent device used by the agent assigned to handle the response; and updating training of the priority model using a comparison between the agent-provided priority score and the priority score of the deferrable work interaction.
14. further comprising sorting the deferrable work interactions according to the relative values of the priority scores; The method of claim 2 , wherein the factors considered by the optimization process further include an ordering of the deferrable work interactions in the presence of the sorting.
15. 1. A system for optimizing workflow in a contact center in which deferrable work interactions are prioritized and assigned to agents for handling, comprising: a processor; a memory storing instructions that, when executed by the processor, cause the processor to: a plurality of natural language processing (NLP) models, each configured to take text derived from a given deferrable work interaction as input and generate an NLP score indicating how the given deferrable work interaction is rated according to characteristics, the NLP score being generated from a sparse vector representation of the deferrable work interaction; a priority model configured to accept as input the scores generated from the plurality of NLP models and to generate a priority score associated with a priority characteristic indicating how the given deferrable work interaction should be prioritized for processing relative to other ones of the deferrable work interactions; and providing a receiving the deferrable work interaction; using text derived from the deferrable work interactions as input to the plurality of NLP models to generate the NLP score for each of the deferrable work interactions; using the generated NLP scores as inputs to the priority model to generate the priority scores for each of the deferrable work interactions; using the generated NLP scores to identify one or more candidate agents among the agents for handling each of the deferrable work interactions; receiving an inbound work forecast for the contact center that forecasts expected inbound work levels over one or more future work periods; receiving agent work schedule data describing expected work schedules of agents with respect to one or more future work periods; generating an optimized workflow for the deferrable work interactions using an optimization process, where for each of the deferrable work interactions, the optimized workflow includes an assignment in which a selected agent is selected from the candidate agents to handle the deferrable work interaction and a target time slot is scheduled for handling the deferrable work interaction; routing each of the deferrable work interactions according to the assignment of the optimized workflow; The optimization process comprises: the priority score generated for each of the deferrable work interactions; projected availability over the one or more future work periods of the one or more identified candidate agents for each of the deferrable work interactions; the agent work schedule data spanning the one or more future work periods; and a predicted inbound work level over the one or more future work periods given the inbound work forecast. system.
16. the deferrable work interactions each include an email communication sent by a customer requesting a response from the contact center; The memory further stores instructions that, when executed by the processor, cause the processor to: determining, for each of the deferrable work interactions, a response deadline indicating a threshold for responding to the deferrable work interaction; for each of the deferrable work interactions, determining a negative economic impact to the contact center for not responding to the deferrable work interaction before the threshold, wherein the negative economic impact is determined in accordance with clauses regarding negative economic consequences of not meeting response requirements defined in a service level agreement (SLA) governing requirements for how the contact center responds to the deferrable work interactions; 16. The system of claim 15, wherein the factors considered by the optimization process further include the response deadline determined for each of the deferrable work interactions and the negative economic impact determined for each of the deferrable work interactions.
17. The priority model is an urgency component that provides an urgency score; an importance component that provides an importance score; The system of claim 15 , wherein the priority score is derived from a weighted combination of both the urgency score and the importance score.
18. the inbound work forecast includes a forecast regarding expected inbound work levels of immediate work interactions over the one or more future work periods; The system of claim 15 , wherein the immediate 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.
19. using the generated NLP scores to identify the one or more candidate agents for handling each of the deferrable work interactions, identifying preferred agent characteristics for each of the deferrable work interactions; comparing the identified preferred agent characteristics with the agent's actual agent characteristics and determining the one or more candidate agents as being one of the agents having a most preferred match; 16. The system of claim 15, wherein the preferred agent trait is defined as an agent trait that is known to be more likely to produce a preferred outcome given the characteristics of a given deferrable work interaction.
20. the plurality of NLP models includes a model trained to determine relevance to at least one of a particular business or product; the plurality of NLP models include one or more models trained to perform at least one of entity extraction and topic identification in the deferrable work interactions; 16. The system of claim 15, wherein the plurality of NLP models includes a model trained to provide a sentiment score that classifies the deferrable work interaction as having a positive, negative, neutral, or mixed sentiment and associated magnitude.
Citation Information
Patent Citations
Electronic mail sorting system, customer service system, server system and method for sorting electronic mail
JP2002135296A
E-mail processor and program
JP2007274547A
Priority control device
JP2009295061A
Systems and methods for multichannel routing of work items in a contact center
US20150207937A1