Abstract:
A method of enabling a legacy interactive voice response unit to accept multiple forms of user input can include associating dual tone multi-frequency selectable options of the legacy interactive voice response unit with non-dual tone multi-frequency user inputs. A non-dual tone multi-frequency user input can be received and processed to determine at least one dual tone multi-frequency selectable option that is associated with the received user input. Dual tone multi-frequency signals can be generated for selecting the at least one dual-tone multi-frequency selectable option associated with the user input. The dual tone multi-frequency signals can be provided to the legacy interactive voice response unit.

Description:
BACKGROUND OF THE INVENTION 
   1. Technical Field 
   The invention relates to the field of interactive voice response systems, and more particularly, to enabling interactive voice response systems to receive a variety of different forms of user input. 
   2. Description of the Related Art 
   Interactive voice response (IVR) units are used to automate call access to various application programs, database driven-applications, and information servers. For example, IVR units typically provide users with access to financial institutions, directory services, call center forwarding, and other selective information lookup services such as access to movie schedules and the like. IVR units can accept dual tone multi-frequency (DTMF) input, also referred to as touch tone input. Received DTMF input then can be translated to a data event which triggers a decision as to the proper response for the received user input. For example, the IVR unit can provide responses in the form of voice, facsimile, callback, electronic mail, as well as call processing information for directing a telephony switch as to how to handle a particular telephone call. 
   In an effort to provide callers with more flexibility in dealing with automated call access systems, many IVR providers are incorporating voice recognition functions within their IVR units. These state of the art IVR units can accept a combination of voice input and DTMF input, thereby providing users with several intuitive ways of interacting with an automated call access system. 
   Many legacy IVR units, which are still in service, lack the ability to process speech, and thus, are limited to processing only DTMF input signals. Presently, if an owner of a legacy IVR unit wishes to incorporate speech recognition functions to produce a more modern and intuitive application, the owner must purchase an upgraded IVR unit that is capable of performing speech recognition functions. Many computer system platforms upon which these legacy IVR systems operate, however, lack the required resources, or are incompatible with modern IVR units. In consequence, in addition to the expense of upgrading to a state of the art IVR unit, organizations may be faced with the added cost of upgrading an entire computer platform in support of a new IVR unit. 
   SUMMARY OF THE INVENTION 
   The invention disclosed herein provides a solution which enables a legacy interactive voice response (IVR) unit, one that lacks the ability to recognize speech, to receive a variety of different forms of user input. In particular, the present invention allows an IVR unit, for example one that is capable of receiving only dual tone multi-frequency (DTMF) signals, to receive speech input as well as other forms of data input. The present invention can intercept speech input and data input, and translate the input into DTMF signals that are understandable by the legacy IVR unit. Resulting DTMF translations of user speech and/or data input can be provided to the IVR unit for further processing. In consequence, organizations need not upgrade to new IVR systems and/or platforms in support of such systems. 
   One aspect of the present invention can include a method of enabling a legacy interactive voice response unit, for example one that is incapable of independently performing speech recognition, to accept multiple forms of user input. The method can include associating DTMF selectable options of the legacy interactive voice response unit with non-DTMF user inputs such as keystroke input, pointer input, user input generated from a visual browser, and a user spoken utterance. Non-DTMF user input can be received and processed to determine at least one DTMF selectable option that is associated with the received user input. 
   If the user input is a user spoken utterance, the processing step further can include speech recognizing the user spoken utterance to determine a textual representation of the user spoken utterance prior to determining the at least one DTMF selectable option. Notably, the format of the user input also can be determined. For example, the transport protocol and the markup language associated with the received user input can be determined. 
   DTMF signals for selecting the one or more DTMF selectable options associated with the user input can be generated. The DTMF signals can be provided to the legacy interactive voice response unit. A response can be received from the legacy interactive voice response unit which can be transcoded from a first modality to a second and different modality according to the identified format of the user input. If the response from the legacy interactive voice response unit is a call processing instruction, the call processing instruction can be routed to a node in a telecommunications network. 
   Another aspect of the present invention can include a system for enabling a legacy interactive voice response unit which is incapable of independently performing speech recognition to accept multiple forms of user input. The system can include at least one interface configured to receive user input, such as speech and data, which is directed to the legacy interactive voice response unit. A data store including possible non-DTMF user inputs and associated DTMF selectable options of the legacy interactive voice response unit also can be included. The system further can include a DTMF processor configured to determine DTMF selectable options from received user inputs according to the data store, and to generate DTMF signals understandable by the legacy interactive voice response unit for selecting the DTMF selectable option. 
   The system further can include a legacy interactive voice response unit which is incapable of independently performing speech recognition. For example, the legacy voice response unit may be capable of accepting only DTMF input. A transcoder can be included in the system. The transcoder can be configured to convert content from the legacy interactive voice response unit from one modality to at least a second and different modality. The transcoder also can transcode content from one markup language to another markup language. Additionally, the system can include a speech processing system configured to convert received user spoken utterances to text and to convert text to an audio stream. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     There are shown in the drawings embodiments which are presently preferred, it being understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown. 
       FIG. 1  is a schematic diagram illustrating a system which enables a legacy interactive voice response (IVR) unit to receive a variety of forms of user input in accordance with the inventive arrangements disclosed herein. 
       FIG. 2  is a flow chart illustrating a method of enabling a legacy IVR unit to accept various forms of user input. 
   

   DETAILED DESCRIPTION OF THE INVENTION 
   The invention disclosed herein provides a solution which enables a legacy interactive voice response (IVR) unit, one that lacks the ability to recognize speech, to receive a variety of different forms of user input. In particular, the present invention allows a legacy IVR unit, for example one that is capable of receiving only dual tone multi-frequency (DTMF) signals, to receive speech input as well as other forms of data input. Through the present invention, speech input and data input can be received and translated into DTMF signals that are understandable by legacy IVR units. Accordingly, the resulting DTMF translation of user speech and/or data input can be provided to the IVR unit for further processing. 
     FIG. 1  is a schematic diagram illustrating a system which enables a legacy IVR unit to receive a variety of forms of user input in accordance with the inventive arrangements disclosed herein. As shown, the system  100  can include an IVR processor  105 , an IVR unit  145 , a back-end system  150 , a computer communications network  110 , a telecommunications network  115 , and various network access devices such as a computer system  155  and a voice communications device  160 . 
   The IVR unit  145  can be a legacy unit which can accept touch-tone keypad input, referred to as DTMF input, and provide appropriate responses in the form of voice, fax, callback, electronic mail, as well as other media. For example, in addition to providing voice responses, the IVR  145  can provide directory dialer functions including directory assistance, call transfer, and call forwarding. The IVR unit  145  can be communicatively linked to the back-end system  150 . The back-end system  150  can include various applications, data, and logic for interacting with the IVR  145 . The applications can specify call flow information including recorded speech prompts, text responses, and call processing instructions. This information can be specified in extensible markup language (XML) format so that content provided to the IVR  145  can be more easily transcoded if necessary. 
   The IVR processor  105  can include a speech processor  120 , a transcoder  125 , a DTMF processor  130 , as well as a network interface  135  and a telephony interface  140 . The IVR processor  105  can operate as a mediator between users and the IVR unit  145 . Through its various interfaces, the IVR processor  105  can send and receive audio data such as user speech, recorded speech, and text-to-speech (TTS) generated audio. The IVR processor  105  also can send and receive data such as text and pointer manipulations, as well as receive any other data generated from a visual browser. For example, the IBM® WEBSPHERE® Voice Server 2.0 product which is available from International Business Machines Corporation of Armonk, N.Y., can provide the various functions of the IVR processor  105 , with the noted exception of the transcoder  125  to be discussed herein. IBM® WEBSPHERE® Voice Server 2.0 can provide speech recognition, TTS, connectivity to the Web, Voice Extensible Markup Language (VXML) and Java support, as well as a telephony platform connector providing a run-time platform for speech applications capable of connecting voice/audio streams from the telephony network to speech recognition and TTS engines. 
   The IVR processor  105  can be incorporated as a component within an organizations&#39;s established interactive voice response system. Alternatively, the IVR processor  105  can be remotely located from the IVR unit  145  with which the IVR processor  105  is to interact. In that case, organizations can access the functions of the IVR processor  105  on a fee for service basis. 
   The speech processor  120  can provide both speech recognition functions as well as text-to-speech processing. As is well known in the art, the speech processor  120  can include a speech recognition engine which can convert digitized speech to text. The speech processor  120  can perform an acoustic analysis upon the digitized speech to identify one or more potential text or word candidates. The speech processor  120  further can perform a contextual or linguistic analysis upon the potential word candidates to determine a final text representation of the digitized speech signal. The speech processor  120  can include a text-to-speech processor which can produce a speech audio stream for playback of text input that is provided by an application. Additionally, if necessary, recorded audio also can be played via the speech processor  120 . 
   The DTMF processor  130  can include program logic and a data store specifying relationships between text, whether speech recognized or keystroke derived, HTTP requests, pointer actions, and DTMF signals. In particular, associations between various text inputs and selections generated from a visual browser can be mapped to one or more DTMF signals which can be understood by the IVR  145 . Accordingly, the DTMF processor  130  can generate DTMF signals as determined from the program logic and data store of user input and DTMF signal relationships. 
   The transcoder  125  can dynamically filter and reformat content from one format or markup language to another, thereby permitting content to be converted from one modality to another. For example, material to be represented visually can be reformatted for audible presentation. Thus, content specified in extensible markup language (XML) format can be translated into hypertext markup language (HTML), voice extensible markup language (VXML), or other formats such as wireless application protocol (WAP). An example of a transcoder is the IBM® WebSphere® Transcoding Publisher application available from International Business Machines Corporation of Armonk, N.Y. 
   The network interface  135  can communicatively link the IVR processor  105  with the computer communications network  110 . Accordingly, through the network interface  135 , the IVR processor  105  can send and receive content such as audio data including voice prompts and/or recordings, for example using voice over IP (VoIP). Through the network interface  135 , a voice communications link can be established between the computer system  155  and the IVR processor  105  via the computer communications network  110 . The computer communications network  110  can include, for example, a local area network, a wide area network, and/or the Internet. As previously mentioned, the voice link can be established using Voice over IP (VoIP), or any other suitable voice communications protocol. 
   Content such as text, pointer manipulations, and other forms of data, including markup language documents and data generated by visual browsers, can be received and sent through the network interface  135 , for example using HTTP, instant messaging, or another suitable delivery protocol. The network interface  135  can facilitate the reception and transmission of data which may be sent to, or originate from, the computer system  155  through the computer communications network  110 . For example, a user can interact with an Internet Website using the computer system  155  such that the various user interactions with the Website can be received through the network interface  135 . 
   The telephony interface  140  can communicatively link the IVR processor  105  with the telecommunications network  115 . Specifically, the telephony interface  140  can connect the speech recognition engine and the TTS processor of the speech processor  120  with the telephony network  140 . Through the telephony interface  140 , a voice link between voice communications device  160  and the IVR processor  105  can be established via the telecommunications network  115 . The voice communications device  160  can be any of a variety of voice communications devices including, but not limited to, wired telephones, wireless telephones, voice-enabled personal digital assistants, and the like. The telecommunications network  115  can include, for example, one or more telephone switches or switching systems, private branch exchanges (PBX), service nodes, and the like. 
   Although the present invention can be implemented according to a variety of different computing architectures, according to one aspect, the present invention can be deployed using edge server technology. Edge server technology enables application processing and selected network content and components to be distributed or deployed to the edge of a network while still providing centralized administrative and application control. For example, IBM WebSphere® Edge Server V2.0 for Multiplatforms can be used to offload applications from application servers, deploy Web content to caches and “rehosting servers” throughout a network, and provide enhanced caching, load balancing, and security functions. 
   In operation, user spoken utterances can be received through either the computer communications network  105  or the telecommunications network  110 . The speech processor  120  can speech recognize received user spoken utterances thereby converting the user spoken utterances to text. User input including HTTP requests, text, and pointer manipulations, from a visual browser for example, can be received as well. The received data, whether a recognized user spoken utterance, keyed input, an HTTP request, or pointer manipulations, can be correlated to one or more associated DTMF signals using the DTMF processor  130 . The determined DTMF signals can be provided to the IVR unit  145 , which then can trigger a data event within the IVR unit  145 . Accordingly, the IVR unit  145  can interact with the back-end system  150  to access needed or requested information and to process the user request as specified by the DTMF signals. 
   After processing the received DTMF signals, the IVR unit  145  can provide a response to the IVR processor  105 . If the response is an audio or voice response, the IVR processor  105  can serve as a conduit through which the audio can be provided to the user. Alternatively, the IVR unit  145  can instruct the IVR processor  105  to generate or play an audio response for the user. If the IVR unit  145  response is call processing information, for example where a caller is requesting to be transferred to a particular party, the IVR processor  105  can serve as a conduit through which the call processing instructions can pass to an intended node of either the telecommunications network  115  and/or the computer communication network  110 . Notably, any content provided to the IVR processor  105  from the IVR unit  145  can be transcoded if necessary. For example, the IVR processor  105  can determine the format of incoming user requests and transcode the information being provided to the user to the same format and/or modality as the received request. 
     FIG. 2  is a flow chart illustrating a method  200  of enabling a legacy IVR unit to receive a variety of user inputs. The method can begin in step  205  where a user input can be received by the IVR processor. As mentioned, the user input can be a user spoken utterance, pointer manipulations, text, as well as data generated by a visual browser. In step  210 , the user input can be processed to determine the format of the output to be provided in response to the received input. For example, the input can be analyzed to determine the markup language and/or transport protocol of the received input so that the same formatting can be applied when responding to the received user input. Alternatively, the user input can explicitly specify the desired format of a response. 
   In step  215  the user input can be processed. For example, if the user input is speech, the speech can be recognized and converted to text for further processing. Received non-speech data can be parsed to determine relevant content. In step  220 , the processed user data can be analyzed to determine the DTMF signals which corresponds to the received data. In step  225 , the determined DTMF signals can be provided to the IVR. 
   Subsequently, a response can be received from the IVR in step  230 . In step  235 , a determination can be made as to whether the response specifies call processing instructions. If so, the method can proceed to step  240  where the call processing instructions can be forwarded to the telecommunications network. Thus, in cases where the IVR responds with instructions to transfer the caller to a particular directory number, for example, the instructions can be passed through the IVR processor and on to the intended telephone switching system which then can transfer the call in accordance with the IVR unit instructions. 
   If the response from the IVR does not specify call processing instructions, the method can proceed to step  245 . In step  245 , the content provided from the IVR can be transcoded according to the identified output format determined in step  210 . If no transcoding is necessary, then the method can proceed to step  250 . In step  250 , the resulting content can be provided to the user. Notably, the IVR processor can function as a conduit through which particular responses such as audio responses from the IVR unit can be passed without transcoding. For example, the IVR can provide an audio response specifying a user requested directory listing. In that case the IVR can generate a TTS response which can be passed through the voice server and on to a user. The IVR unit also can instruct the voice server to generate or provide the audio response. 
   In step  255 , if the call has finished, the method can end. For example, where the call has been successfully transferred or the call has been otherwise terminated, the method can end. If the call has not been terminated, for example where the caller requests additional information or further services, the method can continue to jump circle A and step  205  to receive further user input for processing. 
   The present invention can be realized in hardware, software, or a combination of hardware and software. The present invention can be realized in a centralized fashion in one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software can be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein. 
   The present invention also can be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which when loaded in a computer system is able to carry out these methods. Computer program in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form. 
   This invention can be embodied in other forms without departing from the spirit or essential attributes thereof. Accordingly, reference should be made to the following claims, rather than to the foregoing specification, as indicating the scope of the invention.