Abstract:
Interactive voice response mapping used in a transaction between a waiting party and a queuing party includes the queuing party having a queuing calling system (QCS), and communications with the QCS to extract navigational information from the QCS and generating an IVR map. An editor corrects mistakes and removes text that is not relevant to navigational information. Audio communications from the QCS is processed and converted to text or graphical representation. The audio communications from the QCS is compared with an existing IVR map to validate and/or modify the existing IVR map.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of U.S. application Ser. No. 12/400,932 having file date of Mar. 10, 2009, which itself claims priority from U.S. Provisional Patent Applications having Ser. Nos. 61/035,195 and 61/035,204, both filed on Mar. 10, 2008 and to U.S. Utility patent application Ser. No. 12/396,603, filed Mar. 3, 2009, which itself claims priority to Provisional Application Ser. No. 61/033,856, filed Mar. 5, 2008 and is a Continuation-In-Part of U.S. application Ser. No. 12/276,621 filed Nov. 24, 2008, which itself claims the benefit of U.S. Provisional Patent Application Ser. No. 60/989,908, filed Nov. 23, 2007, the disclosures of which are hereby incorporated by reference herein in their entireties and all commonly owned. 
    
    
     FIELD OF INVENTION 
     The present invention generally relates to communication call management and, more particularly to Interactive Voice Response (IVR) systems. 
     BACKGROUND 
     Today, when a user (a waiting party) calls a large company or service center (a queuing party), it is very likely that the user will be connected to an Interactive Voice Response (IVR) system. Such IVR systems present the waiting party with information via a series of audio prompts and obtain input from the caller via dual tone multi-frequency (DTMF) tones (also known as “touch tones”) or verbal commands. 
     An “IVR map” is structured and lists all possible paths through a given IVR system, where each path includes one or more nodes. Each node in the map includes a prompt and possibly one or more commands. The prompt is the audio signal that is heard by the waiting party and is represented in the map by the corresponding text. A command allows the caller to navigate to another node. Examples of commands are DTMF tones and verbal commands. Each command will lead to another node in the IVR system, or will put the caller in a queue to speak to a live agent. 
     The strength of the IVR system is its universality. It works on any phone and is usable by even the least technically inclined people. IVR systems are favored by companies because they allow live agents to be used more effectively, which in turn reduces the costs of running call centers. Recent advances in technology are making IVR systems both easier to set up and more elaborate. Customer interactions that used to involve an agent, checking a bank balance or making a payment, by way of example, are being delegated more and more to the “automated attendant”. It&#39;s clear that IVRs are going to be used for the foreseeable future. 
     However, IVR systems can be very frustrating to the waiting party. By way of example, companies are putting more and more marketing messages into their IVRs, which provide no value to the waiting party and increase the time it takes the user to accomplish desired objectives. Further, for really long menus, it can be hard for the waiting party to remember all the options by the time the menu is completed. Yet further, often the waiting party simply wants to speak to an agent, but the path to get there is not obvious. In fact, sometimes companies make reaching an agent deliberately obtuse. 
     SUMMARY 
     Embodiments of the present invention provide in one aspect an interactive voice response mapping system (IVRMS) used in a transaction between a waiting party and a queuing party, the queuing party having a queuing calling system (QCS), the IVRMS adapted to communicate with the QCS and to build an IVR map of the QCS. 
     In another aspect, embodiments provide a method used in a transaction between a waiting party and a queuing party, the queuing party having a queuing calling system (QCS), the method comprising communicating with the QCS and building an IVR map of the QCS. 
     One embodiment may comprise an interactive voice response mapping system (IVRMS) used in a transaction between a waiting party and a queuing party, the queuing party having a queuing calling system (QCS), the IVRMS adapted to communicate with the QCS to extract navigational information from the QCS and at least partially build an IVR map of the QCS, the IVRMS comprising a computer-implemented editor, the editor adapted to correct a structure of the IVR by at least one of adding commands, removing commands, and changing commands for a node in the IVR. 
     A method aspect may comprise communicating with the QCS to extract navigational information from the QCS and at least partially generating an IVR map of the QCS, and further providing a map editing interface adapted to facilitate changes to the generated IVR map. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
       Embodiments of the invention are described by way of example with reference to the accompanying drawings, in which: 
         FIG. 1  is a flow chart illustrating an IVR map with commands and nodes; 
         FIG. 2  is a flow chart illustrating an exemplary embodiment of an IVR mapping system (IVRMS) using a network to communicate with a QCS system and build an IVR map; 
         FIG. 3  is a flow chart illustrating an exemplary IVRMS with a capability option of being edited by an editor through a visual map editor interface (MEI); 
         FIG. 4  illustrates an exemplary MEI screenshot; and 
         FIG. 5  illustrates an exemplary IVR database incorporating time-based IVR maps. 
     
    
    
     DETAILED DESCRIPTION OF EMBODIMENTS 
     The present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. 
     The embodiments presented herein provide a system and method which allows the waiting party to review the IVR map of a queuing party in, e.g. in a visual way, thus saving time during the navigation process in a transaction which might be through a land phone, mobile phone, web-based phone, softphone, and the like. 
     Referring initially to  FIG. 1 , the queuing party may have the IVR map as herein illustrated, by way of example, and the waiting party may want to reach technical support for a hardware problem. By way of non-limiting example, the illustration of  FIG. 1  makes it clear that after dialing, the waiting party needs to press “1” and then “2.” This approach is faster when compared to dialing the number without the IVR map as a reference and listening through the menus. Because this example is simplified, the time savings is minimal, but in real-world cases, it can be much more substantial. 
     One difficulty in creating an IVR map is that, typically, the queuing party does not make available the contents of its IVR map in any way other than through dialing their phone system. Further, the queuing party may change the content or structure of its IVR map at any time. There is currently no system for notifying a third party of this change, hence an IVR map may become out-of-date at any time, without notice. 
     The embodiments presented herein provide a communications system referred to as the IVR mapping System (IVRMS) that is independent of the queuing party and of any telephone network carriers.  FIG. 2  illustrates a functionality of an exemplary IVRMS  1 . The IVRMS  1  connects through the communication network  2  (e.g. PSTN) with the queuing calling system (QCS)  3  of the queuing party (typically an IVR). The IVRMS generates an IVR map  4  for a given QCS which is in turn stored in a database called the IVR map Database (IVRMDB)  5 . 
     It should be noted that present embodiments are applicable to landline phones, mobile and cellular phones, internet/web/IP-based phones or softphones etc. All the above devices could be identified with a voice address which could for example be a telephone number or an IP address. For instance, just as well as sending voice cues or composing numbers with a telephone, one could use data and software command transfer using internet/web/IP-based phones or softphones. It is therefore important to notice that the present embodiments relate to all these cases. 
     Functions of one IVRMS according to the teachings of the present invention may include: connection to the QCS over a communication network (e.g. PSTN); processing audio from the QCS and convert it to text or graphical representation; comparing the audio or text with existing IVR map, if one exists; extracting navigational information; and sending commands to the QCS (e.g. DTMF tones, voice cues, software commands, and the like). 
     The Editor 
     In some embodiments, the actions of the IVRMS are assisted by an editor. The tasks of the editor may include at least one correcting mistakes in the automated speech-to-text conversion process; removing text that is not relevant for visual navigation (e.g. “press star to repeat this menu”); correcting the structure of the IVR map by adding, removing or changing commands for particular nodes. 
     In some embodiments, the editor is presented with a visual interface, namely the map editing interface (MEI) that facilitates the editor&#39;s work.  FIG. 3  illustrates an illustrative example involving an MEI and other relevant components. 
       FIG. 4  illustrates an exemplary representation of an MEI screenshot that allows the editor to make appropriate changes to a node in the IVRMDB. 
     It should be noted that the editor might be a person, or it may also be a built-in software or hardware module inside the IVRMS, or an external software or hardware device interoperable with the IVRMS. 
     Map Validation 
     In some embodiments, the IVRMS performs a process called map validation, whereby it connects with the QCS and issues the appropriate commands to reach every node in the map. At each node, the IVRMS performs a process called node Validation whereby the incoming audio and/or text from a given node is compared with the stored audio and/or text for that node in the IVRMDB. If a certain threshold of matching is not met, then the node is flagged and, in some embodiments, an Editor is notified so that the node can be reviewed. The threshold levels may be set by the Editor on a per-node or per-map basis. 
     In some embodiments, map validation may be performed on a regular schedule for each queuing party. 
     In some embodiments, some queuing parties may be designated as “frequently changing”, and hence require more frequent map validation. 
     Regular Time-Based Map Changes 
     Some queuing parties may have regularly scheduled periods during which the IVR map is switched from the “primary IVR map” (the one heard the majority of the time) to a “supplementary IVR map”. For example, waiting party may be presented with a supplementary IVR map on weekends or outside the office hours of the queuing party. In order to avoid unnecessary mapping effort, it is important for the IVRMS to recognize these supplementary IVR maps and not discard the primary IVR map. Some embodiments presented herein allow for such regular time-based changes by storing in the IVRMDB the supplementary IVR maps along with the scheduling information associated with each map. Indeed a queuing party may have multiple IVR maps corresponding to different time periods or for any other reason and the IVRMS recognizes and builds multiple IVR maps correspondingly.  FIG. 5  illustrates an illustrative diagram of this relationship in the IVRMDB. 
     Non-Essential Text 
     Some queuing parties may have prompts in their IVR map where some of the text in the prompt changes frequently, even though the node&#39;s commands do not change. This text is referred to as “non-essential text”. Some embodiments presented herein allow the editor to designate blocks of text as non-essential text in order to avoid unnecessary mapping effort. 
     One benefit of the embodiments presented herein is to provide a system and method that allows the creation of an IVR map for a queuing party in a way that requires no changes to the communication system of the queuing party. 
     Another benefit of the embodiments presented herein is to provide such a system and method in a way that is transparent to the queuing party, requires no negotiation with the queuing party and requires no cooperation from the queuing party. 
     Another benefit of the embodiments presented herein is to provide such a system and method in a way that stays synchronized with any changes to the company&#39;s IVR map. 
     Further, it will be understood by those of skill in the art that flowcharts and block diagrams herein described may illustrate architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments. Therefore, it will be understood that each block in the flowchart or block diagram may represent a module, segment, or portion of code, which comprises one or more executable computer program instructions for implementing the specified logical function or functions. Further, some implementations may include the functions in the blocks occurring out of the order as herein presented. By way of non-limiting example, two blocks shown in succession may be executed substantially concurrently, or the blocks may at times be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and flowcharts, and combinations of blocks in the block diagram and flowchart illustrations, may be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer program instructions. 
     These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions or acts specified in the flowchart and/or block diagram. These computer program instructions may also be stored in a computer readable medium that may direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function or act specified in the flowchart and/or block diagram block or blocks. The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. 
     Aspects of various embodiments as herein presented, by way of example, may be embodied as a system, method or computer program product, and accordingly may take the form of a hardware embodiment, a software embodiment (including firmware, resident software, micro-code, and the like) or a combination thereof that may generally be referred to as a circuit, module or system. Furthermore, aspects of various embodiments may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon. 
     It is understood that a computer implemented method as may herein be described operates with readable media relating to non-transitory media, wherein the non-transitory computer-readable media comprise all computer-readable media, with the sole exception being a transitory, propagating signal. 
     Any combination of one or more computer readable media may be utilized. A computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, by way of non-limiting example, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific non-limiting examples of the computer readable storage medium may include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that may contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. 
     A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, by way of non-limiting example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that may communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. 
     Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, and the like, or any suitable combination thereof. Computer program code for carrying out operations for aspects of various embodiments may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the C programming language or similar programming languages. The program code may also be written in a specialized language. The program code may execute entirely on the user&#39;s computer, partly on the user&#39;s computer, as a stand-alone software package, partly on the user&#39;s computer and partly on a remote computer, or entirely on the remote computer or server. The remote computer may be connected to the user&#39;s computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer, by way of non-limiting example, through the Internet using an Internet Service Provider. 
     Many modifications and other embodiments of the invention will come to the mind of one skilled in the art having the benefit of the teachings presented in the foregoing descriptions and associated drawings. Therefore, it is understood that the invention is not to be limited to the specific embodiments disclosed, and that modifications and embodiments are intended to be included within the scope of the appended claims.