Abstract:
Embodiments of the present invention relate to a communication system comprising means to process identification data associated with a communication; and means, responsive to the identification data, to access a data base to invoke/execute at least one voice application arranged to provide assistance in relation to at least one program; the data base having been configured to comprise the at least one voice application in response to the at least one program being executable by the user equipment.

Description:
RELATED APPLICATIONS  
       [0001]     The present application is based on, and claims priority from, United Kingdom Application Number 0506196.5, filed Mar. 29, 2005, the disclosure of which is hereby incorporated by reference herein in its entirety.  
       FIELD  
       [0002]     The present invention relates to a communication system and method.  
       BACKGROUND  
       [0003]     Communication systems or computer aided telephony systems are examples of data-processing systems in which a series of automated voice menus prompt a caller or user to press the selective keys on their telephone to achieve a number of purposes. For example the purposes may be to obtain banking services or other financial services, billing queries, assistance or other support services.  
         [0004]     A caller is usually presented with a number of fixed voice menu options presented by a voice application that represents a first layer of options in a tree of voice menu options that, by appropriate selection, will lead the caller to the required assistance or other service automatically, that is, without human intervention. In essence, each layer of voice menu options aims to discover in a progressive manner a caller&#39;s intention. Alternatively, the various layers of voice menu options may lead the caller to a human assistant, which has the advantage of providing the human assistant with information relating to the caller&#39;s intention or reason for the call in preparation for meeting the caller&#39;s needs.  
         [0005]     It will be appreciated that in either circumstance the voice menu options presented are fixed, that is, a standard voice application is created to deal with all queries regardless of any a priori knowledge. It will be appreciated that traversing such a standard voice application can be time-consuming and even frustrating for the caller.  
         [0006]     It is an object of embodiments of the present invention to at least mitigate one or more of the problems of the prior art.  
       SUMMARY OF INVENTION  
       [0007]     Accordingly, embodiments of the present invention provide a communication system comprising means to process identification data associated with a communication; means, responsive to the identification data, to access a data base to invoke at least one voice application arranged to provide assistance in relation to at least one program; the data base having been configured to comprise the at least one voice application in response to at least one program being executable by the user equipment.  
         [0008]     Advantageously, it will be appreciated that the time taken to address a caller&#39;s likely reason for calling can be reduced by attempting to anticipate, in light of prevailing knowledge of, or relating to, programs used by the caller.  
         [0009]     Embodiments provide a communication system in which the data base is configured to comprise the voice application in response to a known problem associated with the application and in which the voice application provides support in relation to that problem. Suitably, prior knowledge of a fault associated with a program used, or accessible, by the caller can reasonably be expected to be behind the caller&#39;s motivation for calling. Therefore, configuring or constructing a voice application comprising an entry or entries relating to a known problem or problems of a program or programs respectively might further reduce the time taken for a caller to be directed to appropriate assistance.  
         [0010]     Many support services of companies or other enterprises are available via a telephone number known as, for example, a helpline. Accordingly, embodiments provide a communication system in which the communication is a telephone call. In such circumstances, the identification data comprises at least one of calling line identification data (CLID), dialed number identification service attribute values (DNIS), Calling Number Identification (CNI), AIN equipment or services or any other telephony identification data or identification data associated with the user or equipment accessible to, or used by, the user.  
         [0011]     Other companies or enterprises are known to provide assistance via a communication networks such as, for example, the Internet. Therefore, embodiments provide a communication system in which the communication comprises a data communication having at least one data packet. The at least one data packet may comprise the identification data. It will be appreciated that the identification data might comprise network data such as, for example, an Internet Protocol address or other address that can be associated uniquely with a caller.  
         [0012]     A voice application may comprise a single menu option or a number of menu options. The single menu option, in embodiments of the present invention, can relate to a corresponding fault associated with a program known to be used, or accessible, by the caller. Suitably, embodiments provide a communication system in which the at least one voice application comprises at least a one menu option associated with the at least one program.  
         [0013]     Embodiments can be realised in which a program is known to have a number of associated issues. Accordingly, embodiments provide a communication system in which the at least one voice application comprises a plurality of menu options associated with the program.  
         [0014]     A caller, typically, has access to and uses more than one program. Therefore, embodiments provide a communication system in which the at least one voice application comprises a plurality of menu options; each option being associated with a respective program of a plurality of programs. Each of the menu options can be associated with a fault of a respective program of the program or a selected number of programs accessible to the caller.  
         [0015]     Embodiments can be realised that provide a communication system comprising a plurality of voice applications each comprising a respective menu option; each voice application being associated with a respective program of a plurality of programs.  
         [0016]     It will be appreciated by one skilled in the art that appropriate research would be useful in tailoring the voice applications in anticipation of a caller&#39;s requirements. Accordingly, embodiments provide a data processing method comprising creating in, at least one voice application, at least one menu option associated with at least one program accessible by a user; associating user identification data with the voice application to access the voice application in response to receiving the identification data; the user identification data being derived from communication data associated with the user.  
         [0017]     Embodiments provide a data processing method comprising the step of configuring the voice application such that the at least one menu option relates to a known fault associated with the program.  
         [0018]     Embodiments provide a data processing method comprising the step of creating the at least one menu option such that it comprises data relating to instructions to effect a predetermined action to obtain assistance in relation to the known fault.  
         [0019]     Embodiments provide a data processing method in which the step of creating the at least one menu option comprises the step of creating a plurality of menu options such that each menu option of the plurality of menu options relates to a respective known fault of a plurality of faults.  
         [0020]     Embodiments provide a data processing system in which the step of creating, in the at least one voice application, at least one menu option comprises the step of configuring a plurality of voice applications associated with at least one respective fault of a plurality of known fault associated with the at least one program.  
         [0021]     It will be appreciated that embodiments of the present invention can be realised in the form of hardware, software or a combination of hardware and software. Any such software can be stored via a number of mediums such as magnetic or optically readable discs, chips, memory cards, memory sticks or any other volatile or non-volatile medium. Accordingly, embodiments provide a computer program comprising code to implement a system or method described herein. Embodiments also provide computer readable storage storing such a computer program. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0022]     Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings in which:  
         [0023]      FIG. 1  shows a communication arrangement comprising a communication system according to an embodiment;  
         [0024]      FIG. 2  shows a communication arrangement comprising a computer aided telephony system according to an embodiment;  
         [0025]      FIG. 3  shows flow charts relating to the operation of the embodiments. 
     
    
     DETAILED DESCRIPTION OF EMBODIMENTS  
       [0026]     Referring to  FIG. 1 , there is shown a communication arrangement  100  in which a user (not shown) communicates, using communication equipment  102 , with a service platform  104  via a communication network  106 .  
         [0027]     The user equipment  102  allows the user access to a number of applications  108  to  110  stored on, for example, an HDD  112 . The user equipment  102  is illustrated as executing a first application  108 . The user equipment can be, for example, a computer, a telephone, fax machine or any other communication equipment.  
         [0028]     The user of the communication equipment  102  can obtain assistance relating to any or all of the applications  108  to  110  accessible to the user of that equipment  102 . To obtain any such assistance, the communication equipment  102  is used to establish a communication with the service platform  104 . Identification data  114  that uniquely identifies at least one of the user and the communication equipment  102  or, preferably, both, is transmitted to the service platform  104  as part of the communication set up protocol. However, any such identification data  114  could be transmitted to the service platform  104  at some other convenient time.  
         [0029]     The service platform  104  comprises an identifier  116  that extracts the identification data  114  from any communication with the communication equipment  102 . The identifier  116  forwards the identification data  114 , or data derived therefrom, to a match engine  118  that uses the identification data  114  to retrieve, from a user profiles database  120 , the user profile associated with the identification data  114  and, in turn, with the user of the communication equipment  102 . It will be appreciated that the match engine  118  is shown as having retrieved or identified a match between the identification data  114  and a user profile  122  stored within the user profiles database  120 .  
         [0030]     The user profiles database  120  is shown as comprising at least one user profile such as the user profile  122  matching the identification data  114 . It will also be appreciated that a second or further user profile  124 , corresponding to a different user, is also illustrated. The user profiles database  120  may comprise any convenient number of user profiles.  
         [0031]     Each user profile is arranged to contain an indication of the applications accessible by the communication equipment  102 . Taking the first user profile  122  as an example, it can be appreciated that it contains data  126  and  128  respectively identifying the applications  108  to  110  accessible or used by the communication equipment  102 . Therefore, in response to a communication from the user equipment  102 , it is reasonable to assume that any such communication is related to one of the applications  108  to  110 .  
         [0032]     The match engine  118 , in light of the above assumption, also has access to a voice applications database  130  that contains a number of voice applications  132  to  134 . The voice applications database  130  may comprise one voice application or more than one voice application according to requirements even though two voice applications  132  and  134  are illustrated. Each voice application  132  to  134  comprises a number of voice menu options. For example, the first voice application  132  comprises voice menu options  136  to  138  but can comprise any convenient or appropriate number of menu options according to the anticipated needs of a user. Similarly, the other voice application  134  also comprises a number of voice menu options  140  to  142 . Each voice application  132  to  134  has been illustrated as comprising respective pairs of voice menu options. However, each voice application  132  to  134  can comprise any appropriate or convenient number of voice menu options.  
         [0033]     Each voice application  132  to  134  is arranged to correspond to a respective user profile. It can be appreciated that each user profile  122  to  124  comprises an indication  144  to  146  of a respective voice application. The voice application indications  144  to  146  are used by the match engine  118  as an index to retrieve an appropriate voice application from the voice applications database  130 .  
         [0034]     The voice menu options can be expressed in many forms such as, for example, text, for processing by a text-to-speech engine, or digitised speech. The voice application menu options are used to output data as part of an interaction with the user via the communication equipment  102  in an attempt to determine the user&#39;s reason for the communication. Each voice menu option is associated with a respective application of the applications  108  to  110  accessible via the communication equipment  102 . Therefore, by tailoring the voice applications  132  to  134  according to the contents of the user profiles  122  to  124 , the user should have a more focused interaction with the service platform  104 , that is, the user will be presented with voice menu options that are potentially more relevant to the user than voice menu options presented by a more generic voice application of, or voice interface to, the service platform  104 .  
         [0035]     An embodiment can be realised in which a voice application is constructed not only in light of the applications  108  to  110  accessible via the communication equipment  102  but also in light of known issues associated with one or more of those applications  108  to  110 . For example, application  108  may have a known fault or bug. Therefore, the first voice application  132  associated with the first user profile  122  corresponding to the user of the communication equipment  102  or the communication equipment  102  itself may comprise a voice menu option relating to that fault or bug. It will be appreciated by one skilled in the art that further tailoring the voice applications in such a manner may lead to the service platform  104  being able to provide the user with assistance or being able to direct the user to assistance in a more focused manner.  
         [0036]     Having identified a voice application such as the first voice application  132  as being relevant to an incoming or established communication, the voice application  132  is forwarded to a communication handler  148 . The communication handler  148  is responsible for managing the exchange or communication between the user of the communication equipment  102  and the voice application. In essence, the communication handler  148  is responsible for executing, or at least overseeing the execution, of the voice application  132 .  
         [0037]     The communication handler  148  comprises a voice menu engine  150  responsible for outputting audible data representing digitised speech according to the voice menu options contained within a voice application currently being processed.  
         [0038]     The communication handler  148  comprises a response processor  152  responsible for processing and identifying the user&#39;s responses to the voice menu options. The response processor  152  can be arranged to invoke further voice applications or to direct the user to, for example, an automated assistant  154  or a human assistant  156  via a router  158  according to the responses of the user to the output menu options. The automated assistant  154  may take the form of at least one further voice application or any other form of automated assistance.  
         [0039]     It will be appreciated from  FIG. 1  that the voice applications are indicated as being expressed in VoiceXML. However, the voice applications may be expressed or realised in any other suitable form.  
         [0040]     Although the embodiment described above uses the identification data  114  as an index to retrieve a corresponding user profile from the user profiles database  120 , embodiments are not limited to such an arrangement. Embodiments can be realised in which data derived from the identification data  114  is used as such an index. The identification data may be subjected to preprocessing in the form of, for example, a hashing algorithm, to arrive at an index suitable to use with the user profiles database  120 .  
         [0041]     The above communication arrangement  100  has been described using a generic reference to a communication network  106 . Embodiments of such a communication network  106  may take the form of any communication network such as, for example, the Internet, a wired or wireless LAN, or any other type of network supporting communications. The generic reference to communication network  106  also encompasses a cable connection used to couple the communication equipment  102  to the service platform  104 .  
         [0042]     Although the communication arrangement  100  described with reference to  FIG. 1  indicates that the communication equipment  102  is responsible for both executing the applications  108  to  110  and supporting the communications with the service platform  104 , arrangements can be realised in which such functions are separated. For example, if the communication equipment  102  is realised in the form of a computer that does not support telephony, the communications with the service platform  104  can be supported using a telephone such as is described below with reference to  FIG. 2 .  
         [0043]     The communication arrangement  100  above has been described with reference to the identification data  114  being associated with a user. However, other arrangements can be realised such as, for example, arrangements in which the identification data  114  is associated with the communication equipment  102  rather than with any specific user.  
         [0044]     Referring to  FIG. 2 , there is shown a computer aided telephony arrangement  200  that is a telephony based embodiment of the more general communication arrangement  100  shown in and described with reference to  FIG. 1 .  
         [0045]     The computer aided telephony arrangement  200  allows a caller (not shown) to communicate, using a telephone  202 , with a computer aided telephony system  204  via a communication network  206 .  
         [0046]     The user has access to a computer  202 ′ that allows the user to access a number of applications  208  to  210  stored on, for example, an HDD  212 . The computer  202 ′ is illustrated as executing a first application  208 . The telephone  202  can be any type of telephone such as, for example, a POTS, a VoIP phone, a wireless telephone or any other type of telephone or communication device.  
         [0047]     The user of the computer  202 ′ can obtain assistance relating to any or all of the applications  208  to  210  accessible to the user of that computer  202 ′. To obtain any such assistance, the telephone  202  is used to establish a call with the computer aided telephony system  204 . It will be appreciated that the term “call” is a species of the class “communication”. Identification data  214  that uniquely identifies at least one of the user or the telephone  202  or, preferably, both, is transmitted to the computer aided telephony system  204  as part of the communication set up protocol. The identification data can comprise Calling Line Identification Data (CLID), Dialed Number Identification Service attribute values (DNIS), Calling Number Identification (CNI), AIN equipment or services or any other telephony identification data or identification data associated with the user or equipment accessible to or used by the user. However, any such identification data  214  could be transmitted to the computer aided telephony system  204  at some other convenient time.  
         [0048]     The computer aided telephony system  204  comprises an identifier  216  that extracts the identification data  214  from any communication exchange with the telephone  202 . The identifier  216  forwards the identification data  214 , or data derived therefrom, to a match engine  218  that uses the identification data  214  to retrieve, from a user profiles database  220 , the user profile associated with the identification data  214  and, in turn, with the user of the telephone  202 . It will be appreciated that the match engine  218  is shown as having retrieved or identified a match between the identification data  214  and a user profile  222  stored within the user profiles database  220 .  
         [0049]     The user profiles database  220  is, for purposes of illustration, shown as comprising at least one user profile such as the user profile  222  matching the identification data  214 . It will also be appreciated that a second or further user profile  224 , corresponding to a different user, is also illustrated. The user profiles database  220  may comprise any convenient number of user profiles.  
         [0050]     Each user profile is arranged to contain an indication of the applications accessible to the user via the computer  202 ′. Taking the first user profile  222  as an example, it can be appreciated that it contains data  226  and  228  respectively identifying the applications  208  to  210  accessible or used by the computer  202 ′. Therefore, in response to a communication from the telephone  202 , it is reasonable to assume that any such communication is related to one of the applications  208  to  210 .  
         [0051]     The match engine  218 , in light of the above assumption, also has access to a voice applications database  230  that contains a number of voice applications  232  to  234 . The voice applications database  230  may comprise one voice application or more than one voice application according to requirements even though only two voice applications  232  and  234  are illustrated. Each voice application  232  to  234  comprises a number of voice menu options. For example, the first voice application  232  comprises voice menu options  236  to  238  but can comprise any convenient or appropriate number of menu options according to the anticipated needs of a user. Similarly, the other voice application  234  also comprises a number of voice menu options  240  to  242 . Each voice application  232  to  234  has been illustrated as comprising respective pairs of voice menu options. However, each voice application  232  to  234  can comprise any appropriate or convenient number of voice menu options.  
         [0052]     Each voice application  232  to  234  is arranged to correspond to a respective user profile. It can be appreciated that each user profile  222  to  224  comprises an indication  244  to  246  of a respective voice application. The voice application indications  244  to  246  are used by the match engine  218  as an index to retrieve an appropriate voice application from the voice applications database  230 .  
         [0053]     The voice menu options can be expressed in many forms such as, for example, text, for processing by a text-to-speech engine, or digitised speech. The voice application menu options are used to output data as part of an interaction with the user via the telephone  202  in an attempt to determine the user&#39;s purpose in making the call. Each voice menu option is associated with a respective application of the applications  208  to  210 . Therefore, by tailoring the voice applications  232  to  234  according to the contents of the user profiles  222  to  224 , the user should have a more focused interaction with the computer aided telephony system  204 , that is, the user will be presented with voice menu options that are potentially more relevant to the user than voice menu options presented by a more generic voice application of, or voice interface to, the computer aided telephony system  204 .  
         [0054]     An embodiment can be realised in which a voice application is configured or constructed not only in light of the applications  208  to  210  accessible via the computer  202 ′ but also in light of known issues associated with one or more of those applications  208  to  210 . For example, application  208  may have a known fault or bug. Therefore, the first voice application  232  associated with the first user profile  222  corresponding to the caller may comprise a voice menu option relating to that fault or bug. It will be appreciated by one skilled in the art that further tailoring the voice applications in such a manner may lead to the computer aided telephony system  204  being able to provide the user with assistance or being able to direct the user to assistance in a more focused manner.  
         [0055]     Having identified a voice application such as the first voice application  232  as being relevant to an incoming or established call, the voice application  232  is forwarded to a communication handler  248 . The communication handler  248  is responsible for managing the exchange or communication between the user of the telephone  202  and the voice application. In essence, the communication handler  248  is responsible for executing, or at least overseeing the execution, of the voice application  232 .  
         [0056]     The communication handler  248  comprises a voice menu engine  250  responsible for outputting audible data representing digitised speech according to the voice menu options contained within a voice application currently being processed. The voice menu engine  250  achieves this by extracting, for example, text, assuming the voice menu options are expressed using text, from the menu options and forwarding the text to a text-to-speech engine  250 ′ for conversion of the text to speech data.  
         [0057]     The communication handler  248  comprises a response processor  252  responsible for processing and identifying the user&#39;s responses to the voice menu options. The response processor  252  uses an automatic speech recogniser (ASR)  252 ′ to process data representing the responses of the user to the voice menu options. The data representing the responses can take the form of DTMF tones or other signals generated using the telephone or caller articulations that are processed by the ASR. The ASR outputs data reflecting the caller&#39;s responses to the menu options to the response processor. The response processor  252  can be arranged to invoke further a voice application or to direct the user to, for example, an automated assistant  254  or a human assistant  256  via a router  258  according to the responses of the user to the output menu options. The automated assistant  254  may take the form of at least one further voice application or any other form of automated assistance.  
         [0058]     It will be appreciated from  FIG. 2  that the voice applications are indicated as being expressed in VoiceXML, in which case the voice menu engine  250  may be a VoiceXML interpreter. However, the voice applications may be expressed or realised in any other suitable form.  
         [0059]     Although the embodiment described above uses the identification data  214  as an index to retrieve a corresponding user profile from the user profiles database  220 , embodiments are not limited to such an arrangement. Embodiments can be realised in which data derived from the identification data  214  is used as an index. For example, the identification data may be subjected to preprocessing in the form of, for example, a hashing algorithm, to arrive at an index suitable for use with the user profiles database  220 .  
         [0060]     The above computer aided telephony arrangement  200  has been described using a generic reference to a communication network  206 . Embodiments of such a communication network  206  may take the form of any communication network such as, for example, the Internet, a wired or wireless LAN, a PSTN or mobile communication network or any other type of network supporting telephony communications. The generic reference to communication network  206  also encompasses a cable used to couple the telephone  202  to the computer aided telephony system  204 .  
         [0061]     The computer aided telephony arrangement  200  above has been described with reference to the identification data  214  being associated with the telephone. However, other arrangements can be realised such as, for example, arrangements in which the identification data  214  is associated with the computer  202 ′ or a communication protocol associated with the telephone  202  or computer  202 ′, network or application rather than with the telephone specifically. For example, identification data relating to the computer  202 ′ such as, for example, an IP address might be used. However, such an embodiment would require the computer aided telephony system  204  to correlate the telephone call with a communication established, or to be established, with the computer  202 ′.  
         [0062]     Referring to  FIG. 3  there is shown a pair of flow charts  300  depicting the processing undertaken by the above embodiments. A first flow chart  302  of the pair of flow charts  300  relates to processing activities undertaken by equipment such as the telephone  202 , computer  202 ′ or communication equipment  102  used by a user or a caller. A second flow chart  304  illustrates the processing undertaken by the service platform  104  or computer aided telephony system  204 . The flow charts will be described with reference to  FIG. 2 . However, the flow charts  300  are equally applicable to the communication arrangement shown in and described with reference to  FIG. 1 .  
         [0063]     At step  306 , the caller establishes or at least instigates a call to the computer aided telephony system  204 . Step  306  also includes forwarding identification data such as, for example, the CLID, DNIS attribute values, CNI or AIN data. The call set up data, including the identification data, is received at the computer aided telephony system  204  at step  308 . The identification data is extracted or identified at step  310  and forwarded to the match engine  218 . A search is performed at step  312  to determine whether or not the user profiles database  220  contains a user profile matching the extracted identification data. A determination is made at step  314  as to whether or not such a match exists. If it is determined that such a match does not exist, processing continues at step  316  where the caller is invited to take part in a registration process to collate data from which an appropriate user profile can be constructed. If the determination at step  314  is that a user profile corresponding to the extracted identification data does exist, the voice XML indication contained within the appropriate user profile is retrieved or identified at step  318  and used, at step  320 , to retrieve a voice application corresponding to the user profile. The voice application is executed at step  322  which invariably involves an exchange or interaction with the caller as indicated by the process shown at step  324 .  
         [0064]     Returning to the registration process undertaken at step  316 , the details relating to the applications  208  to  210  used or accessible by the user are collated. Any such collation can be achieved in a number of ways. For example, the caller could be directed to a web page that has an embedded executable entity, such as an applet or the like, responsible for identifying the applications  208  to  210  used by or accessible to the computer  202 ′. As a refinement, the user can be presented with the list of applications identified by the executable entity and requested to select from such a list those applications to be registered with the computer aided telephony system  204  as being of interest.  
         [0065]     Although the above embodiments make reference to applications, it will be appreciated that they are not limited to constructing a user profiles database relating to applications. Also, applications are merely species of the more generic class “programs”. Also, it will be appreciated that the service platform  104  and the computer aided telephony system  204  are realisations of a communication system or at least part of such a system.  
         [0066]     The user profiles databases  120  and  220  and the voice applications databases  130  and  230  have been shown as separate databases. However, embodiments can be realised in which the databases are combined. For example, each user profile within the user profiles databases  120  and  230  could be arranged to contain the voice applications themselves rather than merely indexes that are used to access such voice applications.  
         [0067]     Embodiments can be realised in which a menu option can be presented to a caller or user to allow them to run the registration process described with reference to step  316  to update the programs registered with the service platform  104  or computer aided telephony system  204  as being associated with the caller or user.