1. Field of the Invention
The field of the invention is data processing, or, more specifically, methods, apparatus, and products for dynamically publishing directory information for a plurality of interactive voice response (‘IVR’) systems.
2. Description of Related Art
Despite the pervasiveness of other types of devices, telephones remain the most popular devices through which people obtain information when they are on the go. As a result, more and more service providers are adding or enhancing IVR systems for their businesses to provide customers with twenty four hour automated access to information and services. To access an IVR system, however, callers first need to know the phone number to dial that allows the caller to establish a connection with the IVR system. Unfortunately, the phone numbers for many IVR systems are unknown to callers, especially new or recently deployed IVR systems. Furthermore, typical telephones only store a relatively small number of frequently dialed phone numbers and therefore may not contain the phone number for the IVR system desired by a caller.
Methods, apparatus, and products are generally disclosed for dynamically publishing directory information for a plurality of interactive voice response (‘IVR’) systems that include: providing, by an IVR directory service, a description of a web services publication interface for the IVR directory service; receiving, by the IVR directory service on behalf of one or more IVR systems requesting publication, web services publication requests through the web services publication interface for the IVR directory service; determining, by the IVR directory service in response to the web services publication requests, directory information for each IVR system requesting publication; adding, by the IVR directory service, the directory information for each IVR system to an IVR system directory; generating, by the IVR directory service, a voice mode user interface to reflect the directory information for each IVR system added to the IVR system directory; and interacting, by the IVR directory service using the voice mode user interface, with a caller to identify a particular IVR system in dependence upon the IVR system directory and query information provided by the caller and to connect the caller with the identified IVR system.
The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular descriptions of exemplary embodiments of the invention as illustrated in the accompanying drawings wherein like reference numbers generally represent like parts of exemplary embodiments of the invention.
Exemplary methods, apparatus, and products for dynamically publishing directory information for a plurality of IVR systems according to embodiments of the present invention are described with reference to the accompanying drawings, beginning with
Each IVR system (120) of
The exemplary system of
The IVR directory service (102) of
In the example of
The grammars (113) of
In this example, the elements named <command>, <name>, and <when> are rules of the grammar. Rules are a combination of a rule name and an expansion of a rule that advises a speech engine or a voice interpreter which words presently can be recognized. In this example, expansion includes conjunction and disjunction, and the vertical bars ‘|’ mean ‘or.’ A speech engine or a voice interpreter processes the rules in sequence, first <command>, then <name>, then <when>. The <command> rule accepts for recognition ‘call’ or ‘phone’ or ‘telephone’ plus, that is, in conjunction with, whatever is returned from the <name> rule and the <when> rule. The <name> rule accepts ‘bob’ or ‘martha’ or ‘joe’ or ‘pete’ or ‘chris’ or ‘john’ or ‘artoush’ or ‘tom’, and the <when> rule accepts ‘today’ or ‘this afternoon’ or ‘tomorrow’ or ‘next week.’ The command grammar as a whole matches utterances like these, for example:
The IVR directory application (112) of
In the example of
In addition to providing a web services interface through which the IVR systems (120) may provide directory information to the IVR directory service (102), the IVR directory application (112) also generates the voice dialogs (114) and the grammar (113) based on the directory information stored in the IVR system directory (118). Typically as the IVR system directory (118) is updated as IVR systems are added or removed from the IVR system directory (118), the IVR directory application (112) creates or modifies the voice dialogs (114) and the grammar (113) that the IVR browser (110) processes during interactions with callers. The IVR directory application (112) of
The exemplary system of
In the example of
The VoIP phone (140) is a telephone that operates using a packet switched network such as networks (100, 130) of
Many protocols are used to effect VoIP. The two most popular types of VoIP are effected with the IETF's Session Initiation Protocol (‘SIP’) and the ITU's protocol known as ‘H.323.’ SIP clients use TCP and UDP port 5060 to connect to SIP servers. SIP itself is used to set up and tear down calls for speech transmission. VoIP with SIP then uses RTP for transmitting the actual encoded speech. Similarly, H.323 is an umbrella recommendation from the standards branch of the International Telecommunications Union that defines protocols to provide audio-visual communication sessions on any packet data communications network.
In the example of
The packet switched networks (100, 130) of
The circuit switched network (128) of
The arrangement of the devices (152, 122, 124, 132, 134, 136, 140, 142) and the networks (100, 128, 130) making up the exemplary system illustrated in
Dynamically publishing directory information for a plurality of IVR systems according to embodiments of the present invention may be implemented with one or more computers, that is, automated computing machinery. For further explanation, therefore,
Stored in RAM (168) of
Also stored in RAM (168) is a speech engine (153). The speech engine (153) of
The acoustic models (108) associate speech waveform data representing recorded pronunciations of speech with textual representations of those pronunciations, which are referred to as ‘phonemes.’ The speech waveform data may be implemented as a Speech Feature Vector (‘SFV’) that may be represented, for example, by the first twelve or thirteen Fourier or frequency domain components of a sample of digitized speech waveform. Accordingly, the acoustic models (108) may be implemented as data structures or tables in a database, for example, that associates these SFVs with phonemes representing, to the extent that it is practically feasible to do so, all pronunciations of all the words in various human languages, each language having a separate acoustic model (108). The lexicons (106) are associations of words in text form with phonemes representing pronunciations of each word; the lexicon effectively identifies words that are capable of recognition by an ASR engine. Each language has a separate lexicon (106).
The grammars (104) of
The lexicon associates with phonemes all the words that the ASR engine can recognize. The grammar communicates the words currently eligible for recognition. The set of words currently eligible for recognition and the set of words capable of recognition may or may not be the same.
Also stored in RAM (168) is an operating system (154). Operating systems useful in voice servers according to embodiments of the present invention include UNIX™, Linux™, Microsoft Vista™, IBM's AIX™, IBM's i5/OS™, and others as will occur to those of skill in the art. Operating system (154), speech engine (153), grammar analysis module (132), grammar reliability table (134), and background noises (142) in the example of
IVR directory server (152) of
IVR directory server (152) of
The example IVR directory server of
The exemplary IVR directory server (152) of
For further explanation,
The method of
The exemplary web services publication interface description above informs other web services that an ‘IVR411Service,’ which is an implementation of an IVR directory service according to embodiments of the present application, is provided at the URI: http://some.domain.com/Test/services/IVR411. The exemplary web services publication interface description above then goes on to describe the type of messages that the IVR411Service can receive from web service components of other IVR systems that want to publish directory information using the IVR411Service. Using web services message described in the example above, a web service component of an IVR system may register that IVR system's company name, phone number, products, and keywords with the IVR411Service.
The method of
The method of
The IVR directory service (102) may determine (306) directory information (308) for each IVR system according to the method of
The method of
The method of
The IVR directory service (102) may create the voice dialogs (324) and the grammars (322) by querying the IVR system directory (118) using some predefined queries and incorporating the query results in a one or more voice dialog templates and one or more grammar templates. The queries may be implemented using a Structured Query Language (‘SQL’) such as, for example, SQL:2006 promulgated by the International Organization for Standardization (‘ISO’). Consider for example that the IVR system directory (118) contains the following exemplary directory information:
Based on the exemplary IVR system directory above in Table 1, the IVR directory service (102) may perform queries and incorporate the query results into a voice dialog template to form the following exemplary voice dialog:
In a similar manner, based on the exemplary IVR system directory above in Table 1, the IVR directory service (102) may perform queries and incorporate the query results into a voice dialog template to form the following exemplary grammars used in the exemplary dialog above:
Readers will note that generating (320) a voice mode user interface to reflect the directory information (308) for each IVR system in the IVR system directory (118) according to embodiments of the present invention advantageously allows an IVR system to dynamically publish itself to callers that utilize the IVR directory service (102). That is, the voice mode user interface of the IVR directory service is updated shortly after the directory information for a new IVR system is added to the directory (118) rather than having to wait extended periods of time such as weeks or months before callers are able to discover or use the IVR system's directory information. Reader will further note that the exemplary voice dialog and the exemplary grammars above are for explanation only and not for limitation.
The method of
The IVR directory service (102) utilizes a speech engine to identify the caller's response as ‘key word,’ ‘product,’ or ‘company.’ When the caller's response to the initial prompt is ‘key word,’ the IVR directory service (102) renders this subsequent prompt:
The IVR directory service (102) uses the exemplary keyword grammar and a speech engine to identify the caller's response. If the caller's response is ‘electronics,’ then the IVR directory service (102) queries the IVR system directory (118) for records having ‘electronics’ as a keyword. Because ACME electronics is the only business associated with the keyword ‘electronics,’ the IVR directory service (102) transfers the caller to the IVR system for ACME Electronics using the telephone number associated with ACME Electronics in the directory (118). If the caller's response is ‘food,’ then the IVR directory service (102) renders the following prompt to the caller:
The IVR directory service (102) then uses the exemplary food keyword grammar and a speech engine to identify the caller's response. If the caller's response is “Mom and Pop's Pizza,” then the IVR directory service (102) queries the IVR system directory (118) for the phone number associated with “Mom and Pop's Pizza” and transfers the caller to the IVR system for Mom and Pop's Pizza using that telephone number. If the caller's response is “Western Steakhouse,” then the IVR directory service (102) queries the IVR system directory (118) for the phone number associated with “Western Steakhouse” and transfers the caller to the IVR system for Western Steakhouse using that telephone number.
When the caller's response to the initial prompt of “Do you want to search by key word, product, or company name?” is ‘product,’ the IVR directory service (102) renders this subsequent prompt:
The IVR directory service (102) uses the exemplary product grammar and a speech engine to identify the caller's response. The IVR directory service (102) then queries the IVR system directory (118) for the companies associated with the products specified by the caller. If the caller's response is ‘television’ or ‘radio,’ then the IVR directory service (102) queries the IVR system directory (118) and determines that only ACME Electronics is associated with ‘television’ or ‘radio.’ Accordingly, the IVR directory service (102) transfers the caller to the IVR system for ACME Electronics using the telephone number associated with ACME Electronics in the directory (118). If the caller's response is ‘pizza oven,’ then the IVR directory service (102) queries the IVR system directory (118) and determines that only Mom and Pop's Pizza is associated with ‘pizza oven.’ Accordingly, the IVR directory service (102) transfers the caller to the IVR system for Mom and Pop's Pizza using the telephone number associated with Mom and Pop's Pizza in the directory (118).
When the caller's response to the initial prompt of “Do you want to search by key word, product, or company name?” is ‘company name,’ the IVR directory service (102) renders this subsequent prompt:
The IVR directory service (102) uses the exemplary company grammar and a speech engine to identify the caller's response. When the caller's response is ‘ACME Electronics,’ the IVR directory service (102) queries the IVR directory repository (118) for the telephone number associated with ACME Electronics and transfers the caller to the IVR system of ACME Electronics using that telephone number. When the caller's response is “Mom and Pop's Pizza,” the IVR directory service (102) queries the IVR directory repository (118) for the telephone number associated with Mom and Pop's Pizza and transfers the caller to the IVR system of Mom and Pop's Pizza using that telephone number. When the caller's response is ‘Western Steakhouse,’ the IVR directory service (102) queries the IVR directory repository (118) for the telephone number associated with Western Steakhouse and transfers the caller to the IVR system of Western Steakhouse using that telephone number. Readers will note that the exemplary use case above is for explanation only and not for limitation.
The description with reference to
The method of
The method of
The method of
The method of
Readers will note that generating (410) an updated voice mode user interface to reflect the updated IVR system directory (118) with the updated directory information (406) according to embodiments of the present invention advantageously allows an IVR system to dynamically update publication information provided by the IVR directory server (102) to callers. That is, the voice mode user interface of the IVR directory service is updated shortly after the directory (118) is updated with updated directory information for an IVR system rather than having to wait extended periods of time such as weeks or months before callers are able to discover or use the IVR system's updated directory information.
Exemplary embodiments of the present invention are described largely in the context of a fully functional computer system for dynamically publishing directory information for a plurality of IVR systems. Readers of skill in the art will recognize, however, that the present invention also may be embodied in a computer program product disposed on computer readable media for use with any suitable data processing system. Such computer readable media may be transmission media or recordable media for machine-readable information, including magnetic media, optical media, or other suitable media. Examples of recordable media include magnetic disks in hard drives or diskettes, compact disks for optical drives, magnetic tape, and others as will occur to those of skill in the art. Examples of transmission media include telephone networks for voice communications and digital data communications networks such as, for example, Ethernets™ and networks that communicate with the Internet Protocol and the World Wide Web. Persons skilled in the art will immediately recognize that any computer system having suitable programming means will be capable of executing the steps of the method of the invention as embodied in a program product. Persons skilled in the art will recognize immediately that, although some of the exemplary embodiments described in this specification are oriented to software installed and executing on computer hardware, nevertheless, alternative embodiments implemented as firmware or as hardware are well within the scope of the present invention.
It will be understood from the foregoing description that modifications and changes may be made in various embodiments of the present invention without departing from its true spirit. The descriptions in this specification are for purposes of illustration only and are not to be construed in a limiting sense. The scope of the present invention is limited only by the language of the following claims.
Number | Name | Date | Kind |
---|---|---|---|
5577165 | Takebayashi et al. | Nov 1996 | A |
5584052 | Gulau et al. | Dec 1996 | A |
5969717 | Ikemoto | Oct 1999 | A |
6208972 | Grant et al. | Mar 2001 | B1 |
6243375 | Speicher | Jun 2001 | B1 |
6275806 | Pertrushin | Aug 2001 | B1 |
6301560 | Masters | Oct 2001 | B1 |
6513011 | Uwakubo | Jan 2003 | B1 |
6606599 | Grant et al. | Aug 2003 | B2 |
6856960 | Dragosh et al. | Feb 2005 | B1 |
6920425 | Will et al. | Jul 2005 | B1 |
6999930 | Roberts et al. | Feb 2006 | B1 |
7035805 | Miller | Apr 2006 | B1 |
7150399 | Barrus et al. | Dec 2006 | B2 |
7171243 | Watanabe et al. | Jan 2007 | B2 |
7180985 | Colson et al. | Feb 2007 | B2 |
7188067 | Grant et al. | Mar 2007 | B2 |
7330890 | Partovi et al. | Feb 2008 | B1 |
7376586 | Partovi et al. | May 2008 | B1 |
7487085 | Cross | Feb 2009 | B2 |
20010055370 | Kommer | Dec 2001 | A1 |
20020065944 | Hickey et al. | May 2002 | A1 |
20020092019 | Marcus | Jul 2002 | A1 |
20020098891 | Graham et al. | Jul 2002 | A1 |
20020099553 | Brittan et al. | Jul 2002 | A1 |
20020120554 | Vega | Aug 2002 | A1 |
20020147593 | Lewis et al. | Oct 2002 | A1 |
20020184610 | Chong et al. | Dec 2002 | A1 |
20030039341 | Burg et al. | Feb 2003 | A1 |
20030046316 | Gergic et al. | Mar 2003 | A1 |
20030046346 | Mumick et al. | Mar 2003 | A1 |
20030101451 | Bentolila et al. | May 2003 | A1 |
20030125945 | Doyle | Jul 2003 | A1 |
20030179865 | Stillman et al. | Sep 2003 | A1 |
20030182622 | Sibal et al. | Sep 2003 | A1 |
20030195739 | Washio | Oct 2003 | A1 |
20030217161 | Balasuriya | Nov 2003 | A1 |
20030229900 | Reisman | Dec 2003 | A1 |
20030235282 | Sichelman et al. | Dec 2003 | A1 |
20040019487 | Kleindienst et al. | Jan 2004 | A1 |
20040025115 | Sienel et al. | Feb 2004 | A1 |
20040031058 | Reisman | Feb 2004 | A1 |
20040044516 | Kennewick et al. | Mar 2004 | A1 |
20040049390 | Brittan et al. | Mar 2004 | A1 |
20040059705 | Wittke et al. | Mar 2004 | A1 |
20040083109 | Halonen et al. | Apr 2004 | A1 |
20040120472 | Popay et al. | Jun 2004 | A1 |
20040120476 | Harrison et al. | Jun 2004 | A1 |
20040138890 | Farrans et al. | Jul 2004 | A1 |
20040153323 | Charney et al. | Aug 2004 | A1 |
20040179038 | Blattner et al. | Sep 2004 | A1 |
20040216036 | Chu et al. | Oct 2004 | A1 |
20040236574 | Ativanichayaphong | Nov 2004 | A1 |
20040260562 | Kujirai | Dec 2004 | A1 |
20050075884 | Badt, Jr. | Apr 2005 | A1 |
20050091059 | Lecoeuche | Apr 2005 | A1 |
20050131701 | Cross | Jun 2005 | A1 |
20050138219 | Bou-Ghannam | Jun 2005 | A1 |
20050138647 | Boughannam | Jun 2005 | A1 |
20050154580 | Horowitz et al. | Jul 2005 | A1 |
20050160461 | Baumgartner et al. | Jul 2005 | A1 |
20051888412 | Dacosta | Aug 2005 | |
20050203729 | Roth et al. | Sep 2005 | A1 |
20050203747 | Lecoeuche | Sep 2005 | A1 |
20050261908 | Cross | Nov 2005 | A1 |
20050273769 | Eichenberger | Dec 2005 | A1 |
20050283367 | Cross | Dec 2005 | A1 |
20060047510 | Cross | Mar 2006 | A1 |
20060064302 | Cross | Mar 2006 | A1 |
20060069564 | Allison et al. | Mar 2006 | A1 |
20060074680 | Cross | Apr 2006 | A1 |
20060075120 | Smit | Apr 2006 | A1 |
20060111906 | Cross | May 2006 | A1 |
20060122836 | Cross | Jun 2006 | A1 |
20060123358 | Lee et al. | Jun 2006 | A1 |
20060136222 | Cross | Jun 2006 | A1 |
20060146728 | Engelsma et al. | Jul 2006 | A1 |
20060168095 | Sharma et al. | Jul 2006 | A1 |
20060168595 | McArdle | Jul 2006 | A1 |
20060184626 | Agapi | Aug 2006 | A1 |
20060190264 | Jaramillo | Aug 2006 | A1 |
20060218039 | Johnson | Sep 2006 | A1 |
20060224430 | Butt | Oct 2006 | A1 |
20060229880 | White | Oct 2006 | A1 |
20060235694 | Cross | Oct 2006 | A1 |
20060287845 | Cross et al. | Dec 2006 | A1 |
20060287865 | Cross et al. | Dec 2006 | A1 |
20060287866 | Cross et al. | Dec 2006 | A1 |
20060288309 | Cross et al. | Dec 2006 | A1 |
20070201677 | Bates et al. | Aug 2007 | A1 |
20070265851 | Cross et al. | Nov 2007 | A1 |
20070274296 | Cross et al. | Nov 2007 | A1 |
20070274297 | Cross et al. | Nov 2007 | A1 |
20070288241 | Cross et al. | Dec 2007 | A1 |
20070294084 | Cross | Dec 2007 | A1 |
20080065386 | Cross et al. | Mar 2008 | A1 |
20080065387 | Cross et al. | Mar 2008 | A1 |
20080065388 | Cross et al. | Mar 2008 | A1 |
20080065389 | Cross et al. | Mar 2008 | A1 |
20080065390 | Ativanichayaphong et al. | Mar 2008 | A1 |
20080086564 | Putman et al. | Apr 2008 | A1 |
20080140410 | Cross et al. | Jun 2008 | A1 |
20080162136 | Ativanichayaphong et al. | Jul 2008 | A1 |
20080177530 | Cross et al. | Jul 2008 | A1 |
20080177611 | Sommers et al. | Jul 2008 | A1 |
20080195393 | Cross et al. | Aug 2008 | A1 |
20080208584 | Cross et al. | Aug 2008 | A1 |
20080208585 | Ativanichayaphong et al. | Aug 2008 | A1 |
20080208586 | Ativanichayaphong et al. | Aug 2008 | A1 |
20080208587 | Cross et al. | Aug 2008 | A1 |
20080208588 | Ativanichayaphong et al. | Aug 2008 | A1 |
20080208589 | Cross et al. | Aug 2008 | A1 |
20080208590 | Cross et al. | Aug 2008 | A1 |
20080208591 | Ativanichayaphong et al. | Aug 2008 | A1 |
20080208592 | Cross et al. | Aug 2008 | A1 |
20080208593 | Ativanichayaphong et al. | Aug 2008 | A1 |
20080208594 | Cross et al. | Aug 2008 | A1 |
20080228494 | Cross et al. | Sep 2008 | A1 |
20080228495 | Cross et al. | Sep 2008 | A1 |
20080235021 | Cross et al. | Sep 2008 | A1 |
20080235022 | Cross et al. | Sep 2008 | A1 |
20080235027 | Cross | Sep 2008 | A1 |
20080235029 | Cross et al. | Sep 2008 | A1 |
20080249782 | Ativanichayaphong et al. | Oct 2008 | A1 |
20080255850 | Cross et al. | Oct 2008 | A1 |
20080255851 | Ativanichayaphong et al. | Oct 2008 | A1 |
20090094233 | Marvit et al. | Apr 2009 | A1 |
20090204465 | Pradhan | Aug 2009 | A1 |
20090234921 | Dudley | Sep 2009 | A1 |
20090287685 | Charnock et al. | Nov 2009 | A1 |
Number | Date | Country |
---|---|---|
1385783 | Dec 2002 | CN |
1385783 | Dec 2002 | CN |
1564123 | Jan 2005 | CN |
0794670 | Sep 1997 | EP |
1450350 | Aug 2004 | EP |
0507148.5 | Apr 2005 | GB |
2000155529 | Jun 2000 | JP |
2003140672 | May 2003 | JP |
WO 9948088 | Sep 1999 | WO |
WO 0051106 | Aug 2000 | WO |
WO 0232140 | Apr 2002 | WO |
WO 2004062945 | Jul 2004 | WO |
WO2006108795 | Oct 2006 | WO |
Number | Date | Country | |
---|---|---|---|
20090268883 A1 | Oct 2009 | US |