Dynamic video generation in interactive voice response systems

A method and apparatus are disclosed that enable an interactive voice response (IVR) system to generate video content in addition to audio content (e.g., synthesized speech, etc.). The video content is based on the state of the IVR system, the video display capacity of the calling telecommunications terminal, and information supplied by the user via a telecommunications terminal. The illustrative embodiment generates video content based on the text from which the audio content is generated. In particular, the video content comprises an abridged version of this text that is suitable for display at the telecommunications terminal. In the illustrative embodiment, the abridged version of the text is generated via syntactic and semantic processing. In addition, an abridged version of user-supplied information is generated and incorporated into the video content.

FIELD OF THE INVENTION

The present invention relates to telecommunications in general, and, more particularly, to generating video content in interactive voice response (IVR) systems.

BACKGROUND OF THE INVENTION

Many enterprises employ an interactive voice response (IVR) system that handles calls from telecommunications terminals. An interactive voice response system typically presents a hierarchy of menus to the caller, and prompts the caller for input to navigate the menus and to supply information to the IVR system. For example, a caller might touch the “3” key of his terminal's keypad, or say the word “three”, to choose the third option in a menu. Similarly, a caller might specify his bank account number to the interactive voice response system by inputting the digits via the keypad, or by saying the digits. In many interactive voice response systems the caller can connect to a person in the enterprise by either selecting an appropriate menu option, or by entering the telephone extension associated with that person.

FIG. 1depicts telecommunications system100in accordance with the prior art. Telecommunications system100comprises telecommunications network105, private branch exchange (PBX)110, and interactive voice response system120, interconnected as shown.

Telecommunications network105is a network such as the Public Switched Telephone Network [PSTN], the Internet, etc. that carries a call from a telecommunications terminal (e.g., a telephone, a personal digital assistant [PDA], etc.) to private branch exchange110. A call might be a conventional voice telephone call, a text-based instant messaging (IM) session, a Voice over Internet Protocol (VoIP) call, etc.

Private branch exchange110receives incoming calls from telecommunications network105and directs the calls to interactive voice response (IVR) system120or to one of a plurality of telecommunications terminals within the enterprise, accordingly. Private branch exchange110also receives outbound signals from telecommunications terminals within the enterprise and from interactive voice response system120, and transmits the signals on to telecommunications network105for delivery to the caller's terminal.

As described above, interactive voice response system120is a data-processing system that presents one or more menus to the caller and receives input from the caller (e.g., speech signals, keypad input, etc.) via private branch exchange110. Interactive voice response system120is capable of hosting one or more applications, of submitting commands to the applications, of forwarding caller input to the applications, and of receiving output from the applications. In some embodiments interactive voice response system120might be a general-purpose server that hosts software applications, while in some other embodiments interactive voice response system120might be an “appliance” in which the applications are implemented in hardware (e.g., field-programmable gate arrays [FPGAs], application-specific integrated circuits [ASICs], etc.).

SUMMARY OF THE INVENTION

As video displays become ubiquitous in telecommunications terminals, it would be advantageous if audio content received at a terminal from an interactive voice response (IVR) system were accompanied by relevant video content. For example, menu options that are “spoken” by synthesized speech of an interactive voice response system might also be displayed as text. However, because the video display of a mobile telecommunications terminal is typically limited in size, delivering a textual version of audio content spoken by an interactive voice response system can be problematic. For example, the textual equivalent of “Please say or type your 12-digit account number, found in the yellow box in the upper-lefthand corner of your monthly statement” would be cumbersome to read and understand by the user, particularly on smaller video displays. It would be advantageous, therefore, if video content, and in particular text, were generated such that it could be compactly and neatly displayed on a user's terminal, and therefore more easily read and understood. Moreover, it would be especially advantageous if the generation of such video content were performed automatically by the interactive voice response system, rather than requiring manual human effort (e.g., by a software developer, webpage content producer, etc.).

In the illustrative embodiment of the present invention, an interactive voice response (IVR) system generates video content to accompany the generated audio content, where the video content is based on the state of the IVR system, the video display capacity of the calling telecommunications terminal, and information supplied by the user via the terminal. The illustrative embodiment generates video content based on the text from which audio content is generated. In particular, the video content comprises an abridged version of this text that is suitable for display at the telecommunications terminal. In the illustrative embodiment, the abridged version of the text is generated via syntactic and semantic processing. In addition, an abridged version of user-supplied information is generated and incorporated into the video content.

The illustrative embodiment comprises: generating video content during a call that involves an interactive voice response system and a telecommunications terminal, wherein the video content is based on (i) the state of the interactive voice response system, and (ii) the video display capacity of the telecommunications terminal.

DETAILED DESCRIPTION

The terms appearing below are given the following definitions for use in this Description and the appended claims.

For the purposes of the specification and claims, the term “call” is defined as an interactive communication involving one or more telecommunications terminal users. A call might be a traditional voice telephone call, an instant messaging (IM) session, a video conference, etc.

For the purposes of the specification and claims, the term “video display capacity” is defined as the quantity of information (e.g., text, icons, etc.) that can be rendered in the video display such that the information is readable and understandable to a user. As will be appreciated by those skilled in the art, video display capacity is based on the physical size of the video display, the resolution of the video display, the fonts and font sizes available for rendering text in the video display, the color capabilities of the video display, and so forth.

FIG. 2depicts telecommunications system200in accordance with the illustrative embodiment of the present invention. As shown inFIG. 2, telecommunications system200is the same as telecommunications system100except that interactive voice response (IVR) system120of the prior art is replaced with interactive voice response (IVR) system220.

Interactive voice response (IVR) system220has all the functionality of interactive voice response (IVR) system120, plus additional functionality as described below and with respect toFIGS. 5 through 9. In particular, this additional functionality comprises the following capabilities: receiving, transmitting, and processing of Voice over Internet Protocol (VoIP) packets; storage and processing associated with Voice Extensible Markup Language (VXML) documents (VXML is described below and with respect toFIG. 3); syntactic and semantic processing of natural language; and generating and transmitting video content.

The Extensible Markup Language, abbreviated XML, is a specification that enables the creation of customized tags, which in turn enables the definition, transmission, validation, and interpretation of data between two applications, organizations, etc. Voice Extensible Markup Language (abbreviated VoiceXML or VXML) is an application of the Extensible Markup Language (XML) that enables dialogs featuring synthesized speech, digitized audio, recognition of spoken and keyed input, recording of spoken input, and telephony. The primary objective of VXML is to bring the advantages of web-based development and content delivery to interactive voice response applications.

FIG. 3depicts an exemplary Voice Extensible Markup Language (VXML) document, in accordance with the illustrative embodiment of the present invention. The VXML document presents a menu with two options for retrieving a user's records; the first option enables the user to identify himself by entering his social security number, while the second option enables the user to identify his account number. The text between the <prompt> and </prompt> tags is used to generate the audio content (i.e., synthesized speech) for this menu.

FIG. 4depicts exemplary video content displayed at a telecommunications terminal, in accordance with the illustrative embodiment of the present invention. The video content ofFIG. 4corresponds to the menu of the VXML document depicted inFIG. 3. As shown inFIG. 4, the text of the prompt tag has been greatly abridged for display at the terminal by reducing the text to its essentials and by using abbreviations. The method by which the illustrative embodiment generates such video content from a VXML document is described below and with respect toFIGS. 5 through 7.

FIG. 5depicts a flowchart of the salient tasks of interactive voice response (IVR) system220, in accordance with the illustrative embodiment of the present invention. It will be clear to those skilled in the art which tasks depicted inFIG. 5can be performed simultaneously or in a different order than that depicted.

At task501, interactive voice response (IVR) system220receives a call from a telecommunications terminal via telecommunications network105and private branch exchange (PBX)110, in well-known fashion.

At task502, interactive voice response (IVR) system220determines the video display capacity of the calling terminal. In the illustrative embodiment, the video display capacity is determined via the VoIP Session Initiation Protocol (SIP), which conveys information about the terminal type of the calling device when establishing a session.

At task503, interactive voice response (IVR) system220determines its current state based on its previous state, user input (if any), and the time elapsed since the most recent state change.

Task504checks whether the current state determined at task503corresponds to a change in state; if so, execution proceeds to task505, otherwise execution goes back to task503.

At task505, interactive voice response (IVR) system220retrieves, based on its current state, the appropriate VXML document element(s), in well-known fashion. In the illustrative embodiment of the present invention, such elements might include a menu prompt, a grammar for parsing the contents of the menu prompt (as described below and with respect toFIG. 7), etc.

At task506, interactive voice response (IVR) system220generates audio content (e.g., synthesized speech, etc.) in accordance with the VXML document element(s) of task505and information specified by the user (e.g., social security number, etc.), if any, in well-known fashion.

At task507, interactive voice response (IVR) system220generates video content based on the VXML elements of task505(including a grammar, if specified), the video display capacity of the calling terminal, user-specified information, and an estimate of the time remaining in the current state. Task507is described in detail below and with respect toFIGS. 6 and 7.

After task507is completed, execution loops back to task503.

FIG. 6depicts a detailed flowchart of task507, in accordance with the illustrative embodiment of the present invention. It will be clear to those skilled in the art which tasks depicted inFIG. 6can be performed simultaneously or in a different order than that depicted.

At task601, interactive voice response (IVR) system220initializes variable S to a set of text strings comprising the VXML elements of task505and the user-specified information.

At task602, interactive voice response (IVR) system220generates a set S′ of abridged versions of the text strings of set S. Task602is described in detail below and with respect toFIG. 7.

At task603, interactive voice response (IVR) system220divides set S′ into one or more non-empty subsets based on: the video display capacity of the calling terminal; and an estimate of the time remaining in the current state, which can determined by factors such as the size of set S, the length of user input timeouts, etc. Dividing S′ into subsets enables a staggered presentation of text blocks that are too long to fit in their entirety in the video display of the calling terminal (for example, displaying options1-4of a menu for five seconds, then clearing the screen and displaying options5-7of the menu).

At task604, interactive voice response (IVR) system220generates video content based on subsets S′, in well-known fashion. After task604is completed, execution loops back to task503.

FIG. 7depicts a detailed flowchart of task602, in accordance with the illustrative embodiment of the present invention. It will be clear to those skilled in the art which tasks depicted inFIG. 7can be performed simultaneously or in a different order than that depicted.

At task702, interactive voice response (IVR) system220selects and removes a text string s from set S. The selection of any particular text string is immaterial, and therefore can be performed in the simplest manner possible for the data structure used for set S.

At task703, interactive voice response (IVR) system220performs syntactic processing on text string s. As will be appreciated by those skilled in the art, in some embodiments the syntactic processing might comprise parsing the text string based on a grammar, while in some other embodiments, the syntactic processing might comprise a simple keyword search based on a vocabulary, or some other technique well-known in the art. In the illustrative embodiment, the text string is parsed based on a grammar that is specified in the VXML document. As will be appreciated by those skilled in the art, the grammar might be defined within the VXML document itself, or might be an external grammar specified by a uniform resource identifier (URI).

At task704, interactive voice response (IVR) system220performs semantic processing on text string s. As will be appreciated by those skilled in the art, there are many techniques known in the art for extracting meaning from and reasoning about text, including semantic interpreters, knowledge-based systems, theorem provers, etc. In some alternative embodiments of the present invention, task704might not be performed; in such embodiments, the syntactic processing of task703can be used in conjunction with syntax-based heuristics for generating abridged text strings, as described below.

At task705, interactive voice response (IVR) system220generates an abridged version s′ of text string s based on the syntactic processing of task703, the semantic processing of task704(if performed), and the video display capacity of the calling terminal. As will be appreciated by those skilled in the art, word abbreviations (e.g., “tel.” for telephone, “SS#” for social security number, etc.) can be used as one method of abridging text string s, whether syntactic processing is employed alone or in conjunction with semantic processing. If syntactic processing is employed alone, a variety of techniques well-known in the art can be employed such as searching for key words or phrases, using only the object of a parsed sentence (e.g., the sentence “Please say or type your account number” would be reduced to the noun phrase “account number”, etc.), and so forth. If semantic processing is also employed, then abridged text string s′ can be generated based also on the meaning of text string s. For example, if a user calls Motorola's IVR system and says “I want to buy a Motorola Razr”, the abridged string “Buy phone” might be displayed at the user's terminal (while the user is forwarded to the sales department), while if the user says “I want to buy 100 shares of Motorola”, the abridged string “Buy stock” might be displayed at the user's terminal (while the user is forwarded to the investors relations department).

After task705is completed, execution continues at task603.

FIG. 8depicts the salient elements of a first implementation of interactive voice response (IVR) system220, in accordance with the illustrative embodiment of the present invention. IVR system220comprises receiver801, processor802, memory803, and transmitter804, interconnected as shown.

Receiver801receives signals from private branch exchange (PBX)110and forwards the information encoded in the signals to processor802, in well-known fashion. It will be clear to those skilled in the art, after reading this specification, how to make and use receiver801.

Processor802is a general-purpose processor that is capable of receiving information from receiver801, of executing instructions stored in memory803(including, in particular, instructions corresponding to the tasks ofFIG. 5 through 7), of reading data from and writing data into memory803, and of transmitting information to transmitter804. In some alternative embodiments of the present invention, processor802might be a special-purpose processor. In either case, it will be clear to those skilled in the art, after reading this specification, how to make and use processor802.

Memory803stores data and executable instructions, as is well-known in the art, and might be any combination of random-access memory (RAM), flash memory, disk drive memory, etc. It will be clear to those skilled in the art, after reading this specification, how to make and use memory803.

Transmitter804receives information from processor802and transmits signals that encode this information (including audio and video signals) to private branch exchange (PBX)110, in well-known fashion. It will be clear to those skilled in the art, after reading this specification, how to make and use transmitter804.

FIG. 9depicts the salient elements of a second implementation of interactive voice response system220, in accordance with the illustrative embodiment of the present invention. As shown inFIG. 9, the second implementation of IVR system220comprises multiple “boxes” (i.e., computers) and as such is illustrated at the “system” level, rather than at the “component” level as employed inFIG. 8.

Interactive voice response (IVR) system220comprises voice portal910, video server920, and application server930, interconnected as shown.

Voice portal910is a server-hosted application that receives Voice over Internet Protocol (VoIP) audio streams from telecommunications terminals via private branch exchange (PBX)110, transmits VoIP audio content to telecommunications terminals via PBX110, receives VXML documents from application server930, transmits VXML documents to application server930, performs VXML core services and processing (e.g., speech recognition, speech generation, etc.), and transmits VXML application state to video server920.

Video server920is a server that receives VXML application state from voice portal910, generates video content in accordance with the methods ofFIGS. 5 through 7, and transmits video content to telecommunications terminals via private branch exchange (PBX)110.

Application server930hosts one or more web-based applications (e.g., for retrieving customer account records, etc.) and stores data for these applications, receives VXML documents from voice portal910, renders VXML documents, and transmits VXML documents to voice portal910.

As will be appreciated by those skilled in the art, in some embodiments of the present invention each of voice portal910, video server920, and application server930might be on separate physical servers, while in some other embodiments two or all three of these might be on a common physical server.

It is to be understood that the above-described embodiments are merely illustrative of the present invention and that many variations of the above-described embodiments can be devised by those skilled in the art without departing from the scope of the invention. For example, in this Specification, numerous specific details are provided in order to provide a thorough description and understanding of the illustrative embodiments of the present invention. Those skilled in the art will recognize, however, that the invention can be practiced without one or more of those details, or with other methods, materials, components, etc.

Furthermore, in some instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the illustrative embodiments. It is understood that the various embodiments shown in the Figures are illustrative, and are not necessarily drawn to scale. Reference throughout the specification to “one embodiment” or “an embodiment” or “some embodiments” means that a particular feature, structure, material, or characteristic described in connection with the embodiment(s) is included in at least one embodiment of the present invention, but not necessarily all embodiments. Consequently, the appearances of the phrase “in one embodiment,” “in an embodiment,” or “in some embodiments” in various places throughout the Specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, materials, or characteristics can be combined in any suitable manner in one or more embodiments. It is therefore intended that such variations be included within the scope of the following claims and their equivalents.