Abstract:
Techniques for routing a telephone call are provided. A call interface device of an interactive voice response system is configured to receive the telephone call from a caller. A level one agent processing module routes the telephone all to a level one agent for an agent interview of the caller when level three and level two agents are not available. A level two agent processing module handles the telephone call when the level three agent is not available. A level three agent processing module facilitates the handling of the telephone call when the level three agent is available.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation application of U.S. application Ser. No. 13/545,382, filed on Jul. 10, 2012, (now U.S. Pat. No. 8,666,055), which is a continuation of U.S. application Ser. No. 11/191,756, filed on Jul. 28, 2005 (now U.S. Pat. No. 8,265,260), the disclosures of which are hereby incorporated by reference in their entirety. 
    
    
     BACKGROUND 
     Exemplary embodiments relate generally to call routing, and more particularly, to methods, systems and computer program products for providing multi-level natural language call routing. 
     Companies offering consumer products or services usually provide call center agents to assist consumers. After picking up the telephone, the agent asks the caller to describe the reason for the telephone call. If that agent cannot help the caller, the telephone call can then be transferred to another agent who is more qualified to help the caller. Because of high agent cost, companies would like to find a way to automate the agent tasks. Companies could reduce their cost per telephone call by utilizing an interactive voice response (IVR) system to respond to caller requests before transferring the telephone call to live agents. 
     Traditionally, consumers interact with an IVR system using the telephone keypad. The caller hears a few options, each having an associated key to press. Earlier services using speech recognition technology directly replaced touch-tone menus with speech menus. For example, a caller may hear: “for account balance, press one or say one.” Later speech recognition services allowed callers to say one of highly constrained spoken commands. For instance, a caller may hear: “for account balance, say balance.”More complex speech recognition services determine the caller&#39;s task by asking a series of questions, which is called a directed strategy. 
     There are several disadvantages of a menu system. If there are more than a few routing destinations, the menus will be arranged in hierarchical layers and it can take a relatively long time for the caller to get to the proper destination. A caller may misunderstand the options, and select a wrong key, which then causes the IVR to misdirect the telephone call. 
     SUMMARY 
     Exemplary embodiments relate to methods, systems, and computer program products for routing a telephone call. A system includes a call interface device on an IVR system for receiving a telephone call from a caller. The system also includes a level one agent processing module including instructions for routing the telephone call to a level one agent for an agent interview of the caller when a level three agent and a level two agent are not available to handle the telephone call, and when the telephone call is not directed by the interactive voice response system after an initial interaction between the caller and the interactive voice response system. The system further includes a level two agent processing module including instructions for handling the telephone call when the level three agent is not available, when the telephone call is not directed by the interactive voice response system after the initial interaction, and when the level two agent is available. 
     The level two agent processing module simultaneously initiates a second interaction between the caller and the interactive voice response system and determines availability of the level two agent. The level two agent processing module is configured to enable the level two agent to listen to the second interaction between the interactive voice response system and the caller, and the telephone call is routed to the level two agent for direct communication with the caller when the level two agent is unable to route the telephone call after listening to the second interaction. The system further includes a level three agent processing module including instructions for facilitating the handling of the telephone call when the level three agent is available. The handling of the telephone call includes enabling the level three agent to listen to the initial interaction, routing the telephone call to the level three agent in response to the initial interaction, and directly utilizing caller utterances of the telephone call to improve speech recognition accuracy of an automated recognizer of the interactive voice response system. 
     Computer-implemented methods for routing a telephone call are also provided. A method includes receiving the telephone call from a caller at a call interface device on an interactive voice response system. The method also includes processing the telephone call at a call routing module in the interactive voice response system. The processing includes performing level one agent processing when a level three agent and a level two agent are not available to handle the telephone call, and when the telephone call is not directed by the interactive voice response system after an initial interaction between the caller and the interactive voice response system. Performing the level one agent processing includes routing the telephone call to a level one agent for an agent interview of the caller. 
     The processing also includes performing level two agent processing when the level three agent is not available to handle the telephone call, when the telephone call is not directed by the interactive voice response system after the initial interaction, and when a level two agent is available. The level two agent processing module simultaneously initiates a second interaction between the caller and the interactive voice response system and determines availability of the level two agent. The level two agent processing module is configured to enable the level two agent to listen to the second interaction between the interactive voice response system and the caller, and the telephone call is routed to the level two agent for direct communication with the caller when the level two agent is unable to route the telephone call after listening to the second interaction. The processing also includes performing level three agent processing when a level three agent is available. The level three agent processing includes facilitating the handling of the telephone call, which includes enabling the level three agent to listen to the initial interaction, routing the telephone call to the level three agent in response to the initial interaction, and directly utilizing caller utterances of the telephone call to improve speech recognition accuracy of an automated recognizer of the interactive voice response system. 
     Computer program products for routing a telephone call are also provided. 
     Other systems, methods, and/or computer program products according to exemplary embodiments will be or become apparent to one with skill in the art upon review of the following drawings and detailed description. It is intended that all such additional systems, methods, and/or computer program products be included within this description, be within the scope of the present invention, and be protected by the accompanying claims. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Referring now to the drawings wherein like elements are numbered alike in the several FIGURES: 
         FIG. 1  is a block diagram of an exemplary system that may be utilized to provide human-assisted natural language call routing; 
         FIG. 2  is a flow diagram of an exemplary process for providing human-assisted natural language call routing; 
         FIG. 3  is a block diagram of an exemplary system that may be utilized to provide human-assisted natural language call routing; and 
         FIG. 4  is a flow diagram of an exemplary process for distributing call center agents among agent pools. 
     
    
    
     DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS 
     Exemplary embodiments provide a new dialog strategy for a natural language call routing application. The term “natural language call routing” refers to a telephone routing service that allows callers to describe what they want, such as information or problems, in natural spoken language. Exemplary embodiments are designed to maximize the human agent availability to reduce misrecognition and re-prompt rate. This dialog strategy seamlessly utilizes human agents to assist the natural language understanding system in routing telephone calls, especially when the system has problems recognizing the utterances of the caller. 
     Exemplary embodiments provide a call center architecture for maximizing the availability of human agents. According to one embodiment, the human agents are categorized into three skill sets or skill levels. The agents in the first level will interact with the caller directly by asking the user to repeat a request. The telephone call will be routed after the caller and agent agree on the domain the caller refers to. Basically, the first level agents are the typical call center agents in use today. 
     The agents in the second and third skill levels interact indirectly with the caller through a setup similar to a Wizard of Oz (WOz) framework. In a typical WOz framework, the subject talks to what appears to be an automatic system, but the system&#39;s responses are in fact generated by a human (the “wizard”) in the call center. The system will be set up so that the callers think that they are interacting with an IVR system. An agent in the second skill level will interact with the caller if the IVR system fails to recognize the caller utterance for whatever reasons. An agent in the third skill level will help the user from the beginning of the telephone call and allow the caller to bypass the automated recognizer portion of the IVR system. If the agent in these upper skill levels thinks that he/she needs to ask additional questions and/or get additional clarification from the caller, the agent can take over the telephone call and speak directly to the caller. 
     There are benefits for the agents in the third skill level to interact directly with the callers. First, the recorded caller&#39;s utterances may be directly utilized for training and improving the speech recognition accuracy of the automated recognizer and call routing software since callers think they are interacting with the IVR system. Second, callers typically talk less with the machine/system that with the human agent, so the agents will be free to help other callers faster. 
       FIG. 1  is a block diagram of an exemplary system that may be utilized to provide human-assisted natural language call routing. The system in  FIG. 1  includes an IVR system  104  for receiving a telephone call  102  from a caller. The IVR system  104  includes a call interface device  108  for receiving a telephone call, and call routing software  106  to route the telephone call  102  between the level three agent(s)  110 , the level two agent(s)  112  and the level one agent(s)  114  and the routing destinations  118 . When the telephone call  102  first comes in, the IVR system  104  interacts with the caller. 
     The telephone call  102  comes in to the IVR system  104  from a telephone network via a call interface device  108  such as a telephony card for a public switched telephone network (PSTN), and/or a network card for voice over Internet Protocol (VoIP). In exemplary embodiments, based on the dialed number identification service (DNIS) (i.e., the telephone number dialed by the caller), the call routing software  106  is activated to carry out the processing described below in reference to  FIGS. 2 and 4 . Other DNISs may be handled by the same IVR system  104  and cause the activation of other routing software (not shown) in the IVR system  104 . If a level one agent  114  is selected, the call routing software  106  will perform a plain call transfer. If a level three agent  110  is selected, the application will perform a special case of a three way conference, but the caller will not hear what the agent says (WoZ setup). The transfer to the level two agent  112  is similar to the level three agent  110 , but it happens only after the caller&#39;s utterance has not been recognized by the IVR system  104 . 
     The IVR system  104  may be implemented by any commercially available system such as, but not limited to: the Nortel Media Processing Server from Nortel; the NexusPoint platform from VoiceGenie; the HMIHY (How May I Help You) system from AT&amp;T; and the Call Director system from BBN. The level three agent(s)  110 , level two agent(s)  112  and level one agent(s)  114  are referred to collectively herein as call center operators. The level three agent(s)  110  are assigned to a level three agent pool, the level two agent(s)  112  are assigned to a level two agent pool, and the level one agent(s)  114  are assigned to a level three agent pool. See  FIG. 4  and the accompanying description for an exemplary embodiment of how the agents are assigned to the agent pools. 
     The system for routing telephone calls, the IVR system  104 , depicted in  FIG. 1  includes call routing software  106 . The call routing software  106  includes three modules: a level one agent processing module, a level two agent processing module and a level three agent processing module. The level one agent processing module facilitates the handling of the telephone call  102  when it is not directed by the IVR system  104  after an initial and second interaction between the caller and the IVR system  104 . In other words, after two attempts by the IVR system  104  to understand the utterances of the caller, the telephone call  102  is routed to a level one agent  114 . 
     The level two agent processing module facilitates the handling of the telephone call  102  when it is not directed by the IVR system  104  after the initial interaction with the IVR system  104 , and when a level two agent  112  is available (i.e., a level two agent  112  is idle in the level two agent pool). If a level two agent  112  is available, the level two agent  112  listens in on the second interaction between the IVR system  104  and the caller (and may also replay the initial interaction between the IVR system  104  and the caller) and routes the telephone call  102  (without the callers knowledge) based on what he or she hears. 
     The level three agent processing module in the call routing software  106  facilitates the handling of the telephone call  102  when a level three agent  110  is available/idle in the level three agent pool. If a level three agent  110  is available, the level three agent  110  listens in on the first interaction between the IVR system  104  and the caller and routes the telephone call  102  (without the callers knowledge) based on what he or she hears. 
     The level three agents  110 , level two agents  112  and level one agents  114  utilize telephone devices such as Natural Language Speech Assistant (NLSA) from Unisys. In exemplary embodiments, the telephone devices include a combination of telephony set up and software. The telephony is set up so that the call  102  is transferred to an agent, but whatever the agent says will not be heard by the caller. The recognizer portion of the IVR system  104  will not listen to the caller at that time either. After the caller repeats the request, or the agent replays the recorded utterance, the agent will select a destination. The caller will then be transferred to that selected destination, or routing destination  118 . 
     Functions performed by the telephone devices include listening to interactions between the IVR system  104  and the caller, communicating a routing destination  118  to the IVR system  104  and speaking directly to the caller. If an agent only has the skills to perform level one processing, the agent device would not need to include the ability to listen in to the initial and second interactions between the IVR system  104  and the caller. 
     Routing destinations  118  include any place where the telephone call  102  may be routed including, but not limited to: an agent in a particular department, an agent specialized in a particular subject, a recorded message, another IVR system  104 , and/or another automated call handling system. Based on information from the IVR system  104 , the level three agent  110 , the level two agent  112 , the level one agent  114  and instructions from the call routing software  106 , the telephone call  102  is routed to a particular routing destination  118 . The routing may be performed in any manner known in the art to transfer a telephone call  102  from one destination to another. 
       FIG. 2  is a flow diagram of a process for providing human-assisted natural language call routing using an IVR system  104 . In exemplary embodiments, this processing is performed by the call routing software  106 . At block  202  a telephone call  202  is received at the IVR system  104 . At block  204 , the call routing software  106  checks to determine if a level three agent  110  is available. If it is determined, at block  204 , that a level three agent  110  is available, then block  206  is performed and the level three agent  206  listens in (behind the scene and without the caller&#39;s knowledge) to the interaction (also referred to herein as the initial interaction) between the IVR system  104  and the caller that occurs at block  214 . The automated recognizer portion of the IVR system  104  is bypassed and the level three agent  110  attempts to direct the call. If the level three agent  110  can direct the call, as determined at block  208 , the call  102  is routed by the IVR system  104  to a routing destination  118  at block  210 . If the level three agent  110  does not know how to direct the call  102 , as determined at block  208 , the call is routed to the level three agent  110  at block  212 . At block  212 , the level three agent  110  speaks directly to the caller to determine how to route the telephone call  102 . The routing information is communicated to the IVR system  104  for routing the telephone call  102  to the specified routing destination  118 . 
     If a level three agent  110  is not available, as determined at block  204 , the automated recognizer portion of the IVR system  104  handles the call entrance at block  214 . If the IVR system understands the caller, as determined at block  216 , then the call is routed at block  218 . The call is routed by the IVR system  104  to a routing destination  118  based on instructions from the IVR system  104 . If the IVR system  104  does not understand the caller, as determined at block  216 , then the IVR system  104  makes another attempt, at block  220  to understand the caller. In parallel to block  220 , the call routing software  106  determines, at block  222  if a level two agent  112  is available. If a level two agent  112  is available, as determined at block  222 , then the automated recognizer portion of the IVR system  104  is bypassed and a level two agent  112  listens to the interaction (at block  220 ) between the IVR system  104  and the caller while the caller talks to the IVR system  104  at block  224 . In addition, the level two agent  112  may also listen to a recorded copy of the initial interaction between the IVR system  104  and the caller to get more information to be used for directing the telephone call  102 . 
     If the level two agent  112  can direct the call  102 , as determined at block  226 , the call  102  is routed by the IVR system  104  to a routing destination  118  at block  228 . If the level two agent  112  does not know how to direct the call, as determined at block  226 , the call  102  is routed to the level two agent  112  at block  230 . At block  230 , the level two agent  112  speaks directly to the caller to determine how to route the telephone call  102 . The routing information is communicated to the IVR for routing the telephone call  102  to the specified routing destination  118 . 
     If a level two agent  112  is not available, as determined at block  222 , then block  232  is performed. At block  232 , it is determined if the IVR system  104  can understand the caller and direct the telephone call  102 . If the IVR system  104  can direct the call  102 , as determined at block  232 , the call  102  is routed by the IVR system  104  to a routing destination  118  at block  234 . If the IVR system  104  does not know how to direct the call  102 , as determined at block  232 , the call  102  is routed to the level one agent  114  at block  236 . At block  236 , the level one agent  114  speaks directly to the caller to determine how to route the telephone call  102 . The routing information is communicated to the IVR system  104  for routing the telephone call  102  to the specified routing destination  118 . 
       FIG. 3  is a block diagram of a system that may be utilized to provide human-assisted natural language call routing in alternate exemplary embodiments. The system depicted in  FIG. 3  is a distributed implementation of an IVR system  104 . It includes one or more agent devices  306  through which call center operators at one or more geographic locations may communicate with the IVR system  104  to route telephone calls to routing destinations  118  at one or more geographic locations. In exemplary embodiments, the IVR system  104  executes the call routing software  106  to provide human-assisted natural language call routing. As depicted in  FIG. 3 , a network  308  (e.g., a LAN, the Internet, a cellular network, and an intranet) is utilized to communicate data and telephone calls between the caller device  304 , the routing destinations  118 , the agent devices  306  and the IVR system  104 . In exemplary embodiments, the network  308  carries both data and voice, and may be implemented as a single network or as multiple networks (e.g., one network for voice and one for data). In this manner, a call center  116  may be physically located in one or more geographic locations. For example, a group of operators may be located in one geographic location with backup operators located in an other geographic location. 
       FIG. 4  is a flow diagram of an exemplary process for distributing call center agents among agent pools. In exemplary embodiments, this processing is performed by the call routing software  106 . An exemplary embodiment includes three pools of call center operators: a level one agent pool, a level two agent pool and a level three agent pool. Call center operators are distributed among the three pools based on a first threshold of call center operators that are idle in the level one agent pool and a second threshold of call center operators that are idle in the level two agent pool. A level two agent is considered to be available when the level two agent pool includes at least one idle call center operator. Similarly, a level three agent is considered to be available when the level three agent pool includes at least one idle call center operator. 
     Call center operators may be redistributed among the three pools on a periodic basis, when specified events occur and/or when specified thresholds are met. In addition, the values of the first and second thresholds may be changed on a periodic basis. For example, first thing in the morning all of the call center operators may be located in the level one agent pool and then they may be moved to the level two and level three agent pools(e.g., based on the volume of calls to the call center). In the example process depicted in  FIG. 4 , the first and second thresholds each include a low water mark (the least number of idle agents desired in the pool) and a high water mark (the most number of idle agents desired in the pool). The processing in  FIG. 4  keeps the number of idle operators within the low water mark and the high water mark. 
     Referring to  FIG. 4 , processing begins with agent level one (i.e., the level one agent pool) at block  402 . At block  404 , the agent level management processing is activated for the level one agent pool (i.e., x=1). At block  406 , it is determined how many agents are idle in the level one agent pool, this number is referred to as “n.” At block  408 , it is determined if “n” is less than the low water mark for the level one agent pool. If “n” is less than the low water mark for the level one agent pool, then block  410  is performed to replenish the number of idle agents in the level one agent pool. At block  410 , the demotion of level two agents  112  from the level two agent pool is requested. The total requested agents is all of the level two agents  112 , or a number of level two agents  112  equal to the low water mark, whichever is smaller. 
     If “n” is not less than the low water mark for the level one agent pool, as determined at block  408 , then block  412  is performed. At block  412  it is determined if “n” is larger than the high water mark for the level one pool. If “n” is larger than the high water mark for the level one pool, then block  414  is performed. Block  414 , requests the promotion of level one agents  114  to level two agents  112  in the level two agent pool. The number of level one agents  114  promoted is equal to the difference between “n” and the high water mark for the level one pool. If “n” is not larger than the high water mark for the level one pool, as determined at block  412 , then block  416  is performed. At block  416 , it is determined if the processing in  FIG. 4  has been performed for call center agents in the first and second agent pools. If the processing has been performed for the first and second agent pools, then the processing is stopped at block  418 . If not, processing continues at block  420  which specifies that the processing should continue at block  404  for the second agent pool. 
     In this manner, the processing depicted in  FIG. 4  is performed for both the first agent pool and the second agent pool. Call center operators are distributed among the first agent pool, the second agent pool and the third agent pool. The low and high water marks may be the same values or different values for the first agent pool and the second agent pool. 
     In alternate exemplary embodiments, the call routing software  106  receives updates on how many active agent devices, or call center operators, are idle and which of the idle call center operators are level one agents  114 , level two agents  112  and/or level three agents  110 . In exemplary embodiments of the present invention, only some call center operators may be trained to operate as level two agents  112  and/or as level three agents  110 . In these embodiments, the call routing software  106  keeps track of which call center operators can be routed level two and/or level three agent telephone calls and attempts to maximize the use of the available agents (e.g., by routing all level one agent telephone calls to agents that can only operate as level one agents). 
     Exemplary embodiments may be utilized to maximize the human agent availability and to improve the performance of the automated call handling systems and automated recognizers (e.g., automated natural language call routing systems) by dividing them into multiple levels. The system may be utilized to generate good speech recognition and understanding rates while improving the re-prompt rate. The worse case scenario happens when no agents are available to be promoted from the first skill level into the second or third skill level. In this case, the system operates as a traditional natural language call routing system. If human agents from the second or third skill level are involved, the system performance may be improved. This may lead to a lower routing misdirect rate and a lower re-prompt rate which may result in increased caller satisfaction. 
     As described above, embodiments may be in the form of computer-implemented processes and apparatuses for practicing those processes. In exemplary embodiments, the invention is embodied in computer program code executed by one or more network elements. Embodiments include computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. Embodiments include computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing exemplary embodiments. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits. 
     While the invention has been described with reference to exemplary embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiments disclosed for carrying out this invention, but that the invention will include all embodiments falling within the scope of the claims.