Abstract:
This invention allows a system to monitor how quickly and accurately the user is responding via the input device. The input device can be a mouse, a keyboard, their voice, a touch-screen, a tablet PC writing instrument, a light pen or any other commercially available device used to input information from the user to the PBCD. Information is displayed on the PBCD screen based on how quickly and accurately the user is navigating with the input device.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application for letters patent is a continuation of provisional patents for VoiceXL for VXML and VoiceXL for Processors applications filed on Aug. 25, 2004, Multimodal VoiceXL filed on Aug. 4, 2003, VoiceXL Provisional Patent Application filed on May 20, 2003, Easytalk Provisional Patent Application filed on May 9, 2001 and U.S. Pat. No. 5,493,608. 
     
    
     STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT 
       [0002]    Not Applicable. 
       BACKGROUND OF THE INVENTION 
       [0003]    This invention is a modification to my U.S. Pat. No. 5,493,608 for a caller adaptive voice response system (CAVRS). 
       BRIEF SUMMARY OF THE INVENTION 
       [0004]    This invention allows a system to monitor and adjust to how the user is responding via the input device. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0005]    What follows is a description of certain improvements over previous patents filings and prototypes. 
       Adaptive Audio DLL Version 5.0 
     Enhanced Features Description 
     Jul. 10, 2008 
       [0006]    1. Input Modality Switching 
         [0007]    Adaptive Audio Version 5.0 supports Input Modality Switching (IMS) based on individual caller navigation skills and navigation success rates and skill levels at each node in the call script. The IMS feature determines which mode of input (Speech or DTMF) would have the greatest chance of success and fastest execution time for the current Call Script Node (CSN). 
         [0008]    The IMS feature is implemented via a call to the Adaptive Audio API function:
       adaptiveAudioAsk(PORT_NUMBER, CSN_NUMBER) which is called at the start of each CSN in the voice application.       
 
         [0010]    The adaptiveAudioAsk( ) function returns a value indicating whether it will be best to use Speech, DTMF or either mode as input to the current CSN. 
         [0011]    Feature Benefits: Increased call automation rates, reduced error rates, increased customer satisfaction and reduced automated call times. 
         [0012]    2. Adaptive Timeout Control 
         [0013]    The Adaptive Timeout Control (ATC) feature allows the voice application to dynamically extend timeout values for individual callers having difficulty navigating particular areas of the application script. Since Adaptive Audio is constantly aware of when a particular caller is experiencing difficulty navigating any or all of the call script, it can signal the voice application to allow an appropriate amount of extra time for this caller to respond. 
         [0014]    The ATC feature is implemented via a call to the Adaptive Audio API function:
       adaptiveAudioAsk(PORT_NUMBER, CSN_NUMBER)       
 
         [0016]    The adaptiveAudioAsk( ) function returns a value indicating how many additional seconds should be allowed for the caller to respond to the current CSN. This is a delta value that is added to the existing timeout value for the CSN. 
         [0017]    Feature Benefits: Increased call automation rates, reduced error rates, increased customer satisfaction and reduced CSR transfers and abandoned calls. 
         [0018]    3. Preemptive Abandonment Alerts 
         [0019]    The Preemptive Abandonment Alerts (PAA) feature keeps a cumulative index of how well each individual caller is navigating the call script. This is represented internally in the Adaptive Audio API software module by a Caller Frustration Index value. When the CFI value approaches a certain threshold (programmable in the Adaptive Audio configuration file) it signals the voice application that a preemptive transfer to a CSR may be advisable, thus avoiding an abandoned call. 
         [0020]    The PAA feature is implemented via a call to the Adaptive Audio API function:
       adaptiveAudioAsk(PORT_NUMBER, CSN_NUMBER)       
 
         [0022]    The adaptiveAudioAsk( ) function returns a value indicating whether a CSR intervention is advisable based on the callers experience with the automated system and likelihood that they will hang up and abandon the call. The feature also eliminates wasted time and reduces caller frustration by transferring calls that will ultimately end up as callbacks or CSR transfers anyway. 
         [0023]    Feature Benefits: Reduction in abandoned calls and callbacks, increased customer satisfaction and reduced overall call times. 
         [0024]    4. Node Adaptive WPM Control 
         [0025]    The Node Adaptive WPM Control feature automatically adjusts the WPM speaking rate up or down based on the level of difficulty of each CSN as represented by the historical behavioral data collected at each CSN by Adaptive Audio. This feature is fully automatic once optioned in the Adaptive Audio configuration file and no further action is required by the developer in order for the process to take place. 
         [0026]    Feature Benefits: Increased call automation rates, reduced error rates, increased customer satisfaction and reduced CSR transfers and abandoned calls. 
         [0027]    5. Adaptive Phrase Insertion 
         [0028]    The Adaptive Phrase Insertion (API) informs the application developer when it would be advisable to insert one or more of a set of pre-recorded supportive voice prompts into the audio output stream. The supportive voice prompts would be inserted in context and actual content would be relevant based on the caller&#39;s progress up to a particular point in the automated call. 
         [0029]    The API feature is implemented via a call to the Adaptive Audio API function:
       adaptiveAudioAsk(PORT_NUMBER, CSN_NUMBER)       
 
         [0031]    The adaptiveAudioAsk( ) function returns a value indicating which (if any) additional supportive phrase should be inserted. 
         [0032]    Feature Benefits: Increased call automation rates, increased customer satisfaction and reduced CSR transfers and abandoned calls. 
         [0033]    6. Auto-Recalibration Feature 
         [0034]    Adaptive Audio version 5.0 will support automatic recalibration over time as designated by parameters specified in the AA configuration file. Recalibration can be set to occur after a specified volume of call have been taken, CSN&#39;s have been traversed, by hour of day, day of week, month or year, by calendar date or for holidays and seasonal anomalies. 
         [0035]    7. Adaptive Pause Insertion 
         [0036]    Adaptive Audio version 5.0 will support automatic insertion of appropriate silence or pauses when needed in the call script and based on an individual&#39;s performance at navigation the call script. This feature is programmable via the AA configuration file parameters. 
         [0037]    8. Adaptive Application Reconfiguration 
         [0038]    This is a feature that allows AA to use the data collected via the Behavior Analytics Reporting described below to dynamically and automatically adjust the content, dialogue flow, timing, tempo, nuance, inflection, WPM rates, modality and conversational turn-taking for optimal IVR operation. This will be done automatically by the software, without the need for human intervention and will effectively allow AA to automatically optimize and voice application over time. 
         [0039]    9. Conversational Turn-Taking 
         [0040]    This feature will use historical behavioral data collected at individual CSN&#39;s, the caller frustration index, instantaneous and average skill levels and other situation dependent data to determine when to pause and when to interrupt the caller during conversational or DTMF dialogue. 
         [0041]    Behavior Analytics Reporting 
         [0042]    Adaptive Audio Version 5.0 provides Behavior Analytics Reporting as shown in  FIG. 1  and will also include: 
         [0043]    1. Reports showing the navigation patterns of callers throughout the application script. Popular and erroneous patterns will be reported to illustrate how callers use the system and to gain insight into how to improve the voice application. This information will also be used by Adaptive Audio to improve and tweak performance and characteristics of the application. 
         [0044]    2. A listing of the highest Error CSN&#39;s will be provided showing the most erroneous CSN&#39;s in order. Also included will be difficulty ratings for each CSN. 
         [0045]    3. An overall IVR usability index will be provided. This will be a number between for example 1 and 100 that reflects the overall performance of the IVR in terms of reduced error rates, increased call automation, reduced call durations, reduced abandonment rates and the like. 
         [0046]      FIG. 1  shows enhanced call reporting for adaptive audio. 
         [0047]      FIG. 2  is an AudioBuilder User Interface Screen Shot. 
       Adaptive Audio DLL Version 4.0 
     Proposed Design Modifications for Additional Best Practice Techniques 
       [0048]    Aug. 29, 2007 
         [0000]    The following table can be used to drive a state machine within the DLL to accomplish modality switching, message content selection, audio playback speed control and other actions. We need to define the Threshold—Action parameters for each set of call metrics. 
         [0000]    
       
         
               
               
               
               
             
           
               
                   
               
               
                   
                   
                 Thresh- 
                 Thresh- 
               
               
                   
                 Threshold - 
                 old 2 - 
                 old 3 - 
               
               
                 Call Metric 
                 Action 1 
                 Action 
                 Action 
               
               
                   
               
             
             
               
                 User_Is_Engaged 
                   
                   
                   
               
               
                 Background_Noise 
               
               
                 User_Closer_To_Goal 
               
               
                 User_Wants_Operator 
               
               
                 User_Is_MonkeyButt 
               
               
                 Last_Interaction_Modality 
               
               
                 Most_Recent _Garbage_In_A_Row 
               
               
                 User_Knows_Yes_And_No 
               
               
                   
               
             
          
         
       
     
         [0049]    Adaptive Audio API Modifications 
         [0000]    Modifications required to the DLL API are marked in blue below.
   API Function 1: adaptiveAudioStart(PORT_NUMBER)
 
Input Parameters: 1—Port Number as a unique integer value (0-1023)
   
 
       Return Values: 0=PASS 
       [0000]    
       
         
           
             −1=FAIL—String containing reason for failure also returned
 
Description: Adaptive Audio™ needs to know when a call is originated to allow for call session parameter initialization. This function must be called at the start of each incoming phone call to accomplish this task.  FIGS. 3 and 4  below indicate the setup required for this step.
 
           
         
         API Function 2: adaptiveAudioAsk(PORT_NUMBER, CSN_NUMBER)
 
Input Parameters: 1—Port Number as a unique integer value (0-1023)
       2—CSN as a unique integer value (0-1023)   
     
       
     
       Return Values: 0=PASS 
       [0000]    
       
         
           
             −1=FAIL—String containing reason for failure also returned
 
Description: The adaptiveAudioAsk( ) function is called at the beginning of each CSN at which you want to incorporate Adaptive Audio&#39;s adaptive functionality. This signals the beginning of voice play for a particular CSN in the application script.  FIG. 5  below indicates the setup required for this step.
 
           
         
         API Function 3: adaptiveAudioAnswer(PORT_NUMBER, CSN_NUMBER, RESPONSE_STATUS, RESPONSE_TYPE)
 
Input Parameters: 1—Port Number as a unique integer value (0-1023)
       2—CSN as a unique integer value (0-1023)   3—0 if Valid Response, 1 if Invalid Response   4—0 if Touch-Tone Response, 1 if Speech Response
 
Return Value: 00—09=PASS. Value is next RPS for Normal Touch-Tone prompts
   10—19=PASS. Value is next RPS for Terse Touch-Tone prompts   20—29=PASS. Value is next RPS for Elaborate Touch-Tone prompts   30—39=PASS. Value is next RPS for Normal Speech prompts   40—49=PASS. Value is next RPS for Terse Speech prompts   50—59=PASS. Value is next RPS for Elaborate Speech prompts   60—69=PASS. Value is next RPS for Normal Combination prompts   70—79=PASS. Value is next RPS for Terse Combination prompts   80—89=PASS. Value is next RPS for Elaborate Combination prompts   −1=FAIL—String containing reason for failure also returned [PD1]
 
Description: The adaptiveAudioAnswer( ) function is called at the end of each CSN at which you want to incorporate Adaptive Audio&#39;s adaptive functionality. The end of a CSN is defined as the point at which a response (whether valid or invalid) is received from the caller. Data collected in the auto-learn phase of the application session is used by the adaptiveAudioAnswer( ) function to determine if this caller response warrants a change in the RPS level.  FIGS. 6-8  below indicate the setup required for this step.
 
RPS2—Relative Playback Speed. This is a single digit integer between 0 and 9 that designates a particular APS3. There are 10 RPS values allowed with Adaptive Audio™. These are:
 
RPS=0-2 represent APS values below normal
 
RPS=3 represents Normal Playback
 
RPS=4-9 represent APS values above normal
 
APS3—Absolute Playback Speed. This is defined as a flat percentage of the originally recorded voice files playback speed. The APS of the voice applications existing prompts is defined as 100 percent. The values required for an Adaptive Audio™ implementation always have an APS of between 85-125 percent. Typical values are 110, 114, 117 and 119.
   
     
         API Function 4: adaptiveAudioSuspend(PORT_NUMBER)
 
Input Parameters: 1—Port Number as a unique integer value (0-1023)
 
       
     
       Return Values: 0=PASS 
       [0000]    
       
         
           
             −1=FAIL—String containing reason for failure also returned
 
Description: The adaptiveAudioSuspend( ) API function suspends operation of the Adaptive Audio™ process until a subsequent adaptiveAudioResume( ) function call is made. Voice playback continues throughout the application at the RPS level achieved just prior to the adaptiveAudioSuspend( ) call.
 
           
         
         API Function 5: adaptiveAudioPreset(PORT_NUMBER, RPS_PRESET)
 
Input Parameters: 1—Port Number as a unique integer value (0-1023)
       2—Desired RPS preset value (0-9)   
     
       
     
         [0072]    Return Values: 0=PASS
       −1=FAIL—String containing reason for failure also returned       
 
         [0074]    Description: The adaptiveAudioPreset( ) API function call forces voice playback to the RPS value passed in to the function via the RPS parameter. The Adaptive Audio™ process continues from this RPS level forward in the application unless an adaptiveAudioSuspend( ) call is active. 
         [0075]    API Function 6: adaptiveAudioResume(PORT_NUMBER) 
         [0076]    Input Parameters: 1—Port Number as a unique integer value (0-1023) 
         [0077]    Return Values: 0=PASS
       −1=FAIL—String containing reason for failure also returned       
 
         [0079]    Description: The adaptiveAudioResume( ) API function call resumes operation of the Adaptive Audio™ process at the last RPS value attained by the caller.