Abstract:
A system and method for dialog management within a call handling system is disclosed. The method discloses: initiating a dialog between a contact and an operator; monitoring a dialog attribute; presenting an instantaneous value of the dialog attribute on an operator display; and effecting a dialog rule in response to a value of the dialog attribute. The system discloses means for effecting the method.

Description:
CROSS-REFERENCE TO RELATED OR CO-PENDING APPLICATIONS  
       [0001]     This application relates to co-pending U.S. patent application Ser. No. 10/676,995, entitled “System And Method For Operator Assisted Automated Call Handling,” filed on Sep. 30, 2003, by Xiaofan Lin; U.S. patent Ser. No. 10/776,569, entitled “System And Method For Prioritizing Contacts,” filed on Feb. 11, 2004, by Yacoub et al.; U.S. patent Ser. No. 10/338,584, entitled “Methods and Systems for Organizing Electronic Documents,” filed on Jan. 7, 2003, by Steven J. Simske; U.S. patent Ser. No. 10/354,415, entitled “Two Engine Speech Recognition,” filed on Jan. 30, 2003, by Sherif Yacoub; and U.S. patent Ser. No. 10/339,423, entitled “Commercial Automatic Speech Recognition Engine Combinations,” filed on Jan. 9, 2003, by Xiaofan Lin. These related applications are commonly assigned to Hewlett-Packard Development Co. of Houston, Tex. 
     
    
     BACKGROUND OF THE INVENTION  
       [0002]     1. Field of the Invention  
         [0003]     The present invention relates generally to systems and methods for call handling, and more particularly to dialog management within a call handling system.  
         [0004]     2. Discussion of Background Art  
         [0005]     Automated call handling systems, such as Interactive Voice Response (IVR) systems, using Automatic Speech Recognition (ASR) and Text-to-speech (TTS) software are increasingly important tools for providing information and services to contacts in a more cost efficient manner. IVR systems are typically hosted by call centers that enable contacts to interact with corporate databases and services over a telephone using a combination of voice speech signals and telephone button presses. IVR systems are particularly cost effective when a large number of contacts require data or services that are very similar in nature, such as banking account checking, ticket reservations, etc., and thus can be handled in an automated manner often providing a substantial cost savings due to a need for fewer human operators.  
         [0006]     However, whenever human operators interact with callers, the dialog between the operator and caller (i.e. contact) may from time to time evolve in an undesirable direction. The operator&#39;s mood may change over the time of the call, or over the work day, and the operator may lose their temper due to social or psychological issues. Such effects often have a negative influence on the caller&#39;s experience with the call handling system.  
         [0007]     Some current techniques touch on this problem. They include: systems which modify “scripts” presented to the operator; detection of emotions in speech signals use acoustic features; using survey-based techniques to train operators in proper behavior; monitoring call number, volume, and distribution in call centers; and manually recording and playing back randomly selected calls. None of these systems however provide the operator or the operator&#39;s supervisors with much warning or control when such call begin to or have degraded.  
         [0008]     In response to the concerns discussed above, what is needed is a system and method for dialog management that overcomes the problems of the prior art.  
       SUMMARY OF THE INVENTION  
       [0009]     The present invention is a system and method for dialog management within a call handling system. The method of the present invention includes the elements of: initiating a dialog between a contact and an operator; monitoring a dialog attribute; presenting an instantaneous value of the dialog attribute on an operator display; and effecting a dialog rule in response to a value of the dialog attribute. The system of the present invention, includes all means for implementing the method.  
         [0010]     These and other aspects of the invention will be recognized by those skilled in the art upon review of the detailed description, drawings, and claims set forth below.  
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0011]      FIG. 1  is a dataflow diagram of one embodiment of a system for dialog management within a call handling system;  
         [0012]      FIG. 2  is a pictorial diagram of one embodiment of information presented on a display within the system;  
         [0013]      FIG. 3  is a root flowchart of one embodiment of a method for dialog management within a call handling system; and  
         [0014]      FIG. 4  is a flowchart of one embodiment of a method for dialog management within a call handling system.  
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0015]     The present invention automatically monitors, facilitates, and provides real-time assistance to a dialog between a contact and a call center operator. A predetermined set of dialog attributes from both the contact and operator are monitored, such as the dialog&#39;s emotional content, duration, subject matter, and so on. Monitoring is effected using a plurality of classifiers including acoustic and keyword classifiers. Dialog data is collected both instantaneously and historically. The dialog&#39;s attributes are then compared to a predetermined set of thresholds, and actions are taken and alerts are generated if the dialog attribute is incompliant with the threshold. Actions and alerts include supervisory notification, pop-up messages on displays, flagging the dialog for later analysis, and evaluation of operator performance.  
         [0016]      FIG. 1  is a dataflow diagram  100  of one embodiment of a system for dialog management within a call handling system  102 . The call handling system  102  preferably provides some type of voice interactive information management service to a set of contacts. Anticipated information services include those associated with customer response centers, enterprise help desks, business generation and marketing functions, competitive intelligence methods, as well as many others. Contacts may be customers, employees, or any party in need of the call handling system&#39;s services. Also while the discussion below is sometimes discussed with respect to only one contact, the invention&#39;s functionality is intended to extend to a set of contacts.  
         [0017]     To begin, a contact  104  establishes a communications link with the call handling system  102 . A dialog manager  106  acknowledges the communications link and in response connects the contact  104  through a dialog router  108  to a recipient. The recipient can be either an Interactive Voice Response (IVR) module  110  or an operator  112 , depending upon how the system  102  is designed to service the contact  104 . A dialog his herein preferably defined to include communications between the contact  104  and either the IVR module  110  or the operator  112 . While the present invention is described with reference to a dialog including mostly speech signals, alternate embodiments can have dialogs which are mostly textual messages, such as e-mail. Also, in alternate embodiments, the contact  104  could be an entity within the system  102  as well, such as another operator, or a manager.  
         [0018]     The IVR module  110  provides an automated interface between the contact&#39;s  104  speech signals and the system&#39;s  102  overall functionality. To support such an interface with the contact  104 , the IVR module  110  includes a Text-To-Speech (TTS) translator, Natural Language Processing (NLP) algorithms, Automated Speech Recognition (ASR), and various other dialog interpretation (e.g. a Voice-XML interpreter) tools.  
         [0019]     The IVR module  110  typically receives information requests and responses from the contact  104  during the dialog which are then used to either look-up with a system database (not shown) or to store information with respect to the contact  104  in a contact database  114 .  
         [0020]     After the dialog has progressed to a predetermined point the dialog manager  106  connects the contact  104  with the operator  114 , if the contact  104  had previously been connected to the IVR module  110 .  
         [0021]     The discussion now to follow describes how the system  102  calculates a set of dialog attribute confidence scores (“p”), for each dialog attribute being monitored by the system  102 , using various classifiers. Each classifier generates a different set of confidence scores each having a probability score (“p”) where p=1.0 represents a highest probability and p=0.0 represents a lowest probability.  
         [0022]     During this discussion an emotional dialog attribute, such as “anger” is repeatedly used as an instance of the present invention&#39;s operation. However, those skilled in the art will recognize that these same techniques can be applied toward identifying any emotion within the dialog, such as sadness, boredom, happiness, hot anger, cold anger, frustration, panic and calmness. Those skilled in the art will recognize that the same techniques can be applied toward monitoring and identifying any other dialog attribute, such as dialog subject matter, or how quickly the dialog is completed.  
         [0023]     The system  102  preferably calculates these confidence scores using one or more well known techniques, such as those employing Neural Networks, Support Vector Machines, K-NNs, Gaussian Mixture Models (GMMS), decision trees, and other classifiers.  
         [0024]     Preferably, the contact&#39;s  102  and operator&#39;s  112  dialog attributes are monitored separately and have separate dialog attribute confidence scores. This enables the system  102  to distinguish between the contact&#39;s  104  attributes and the operator&#39;s  112  attributes.  
         [0025]     Also, the system  102  preferably monitors the dialog in parallel with and independently from any other call center application or operation  114  interaction with the contact  104 .  
         [0000]     Acoustic Classifier  
         [0026]     An acoustic classifier  116  extracts a predetermined set of speech features from both the contact&#39;s  104  and operator&#39;s  112  portions of the dialog. The feature set used by the acoustic classifier  116  may include: pitch contour statistics, contour statistics of the first derivative of the pitch, energy contour statistics, contour statistics of the first derivative of the energy, and audible and inaudible duration features. These features may also include cepstral-based and phoneme-based derivatives, having variable cepstral-length and phoneme-length windows.  
         [0027]     The acoustic classifier  116  generates a dialog attribute confidence score (“p”) using known techniques by which certain acoustic features in the dialog are associated with certain dialog attributes, such as the contact&#39;s  104  or operator&#39;s  112  anger level. A ground truth confusion matrix is used to help assign otherwise similar acoustic features to the appropriate dialog attribute, thereby increasing the dialog attribute confidence score&#39;s accuracy.  
         [0028]     In addition, the acoustic classifier  116  may statistically correlate phonetic features extracted from the dialog and with phonetic features from a known set of keywords. The acoustic classifier  116  generates a second dialog attribute confidence score indicative of how well the dialog correlates with keywords associated with the dialog attribute. For example, if the dialog attribute selected for monitoring is both the contact&#39;s  104  and operator&#39;s  112  anger level, the acoustic classifier  116  compares acoustic features within the dialog between the contact  104  and the operator  112  with certain acoustically similar keywords associated with anger, such as “horrible”, “unacceptable”, and the like. Keyword spotting is a well-known speech analysis technique.  
         [0000]     Keyword Classifier  
         [0029]     The automated speech recognition (ASR) engine within the IVR module  110  converts the dialog into text in real-time. A keyword classifier  118  searches the textual file for a predetermined set of keywords or key phrases associated with the dialog attribute to be monitored. For example, if the dialog attribute to be monitored is “anger”, some of the predetermined keywords include: “awful”, “unacceptable”, and similar words. The set of keywords and key phrases are preferably prepared off-line and expanded using natural language processing techniques (e.g. hyponym expansion using WordNet). The keywords are stored in a database or a look-up table. The set of keywords can also be readily adjusted to search for keywords and phrases in many other languages. Different sets of keywords may be used for the contact  104  and the operator  112 , allowing a distinct anger assessment for each. For example, if the operator  112  has been a part of the call handling system  102  for sometime a more specific set of “anger” keywords can be identified which are tailored to the operator  112 . However, since the contact  104  may only call from time to time, a more generic set of “anger” keywords is preferred.  
         [0030]     The keyword classifier  118  calculates a dialog attribute confidence score based on whether the dialog includes a predetermined set and number of the keywords and key phrases. For example, if the dialog includes the keyword “awful” or its synonyms at least five times, then the dialog “anger” attribute confidence score is preferably set to a high value, such as p=0.7. Whereas, if the dialog does not include the keywords “awful”, “unacceptable” or their synonyms several times, then the dialog “anger” attribute confidence score is preferably set to a low value, such as p=0.1.  
         [0031]     However, since multiple conflicting assignments are possible (e.g. what if the user says “it&#39;s not awful?”) various HMMs, Bayesian, and conditional probabilities which consider each of the words in the contact&#39;s  102  sentence are used as well. For instance, a summed dialog attribute based on all the keywords found, and their context can be used.  
         [0000]     Other Classifiers  
         [0032]     Those skilled in the art will recognize that other dialog attribute classification modules may also be used to generate a dialog attribute confidence scores for the contact  104  and the operator  112 .  
         [0000]     Data Combiner  
         [0033]     A data combiner  120  retrieves each of the dialog attribute confidence scores generated by the various classifiers  116  and  118 . The combiner  120  dynamically assigns a weight to each of the confidence scores depending upon the classifier from which the confidence score was received. The weighting is dynamic since the weights are constantly revised using ground truth data from the ongoing activities of the call handling system  102  and how well each of the classifiers predicted the dialog attribute for either the contact  104  or the operator  112 .  
         [0034]     The data combiner  120  calculates a combined confidence score for the dialog attribute based on all the confidence scores received from the various classifiers. The combined confidence score can be calculated in several different ways depending upon how statistically independent the different classifiers  116  and  118  are.  
         [0035]     One calculation method uses an equal-weighted product combination. The equal weighted method equally weights and multiplies together the confidence score from each of the classifiers  116  and  118  to yield the combined confidence score.  
         [0036]     Another calculation method is the weighted linear summation, according to the following formula:  
       S   =       ∑     j   =   1     N     ⁢       r   j     ⁢     p   j             
 
 where N is a total number of classifiers, r is a weight assigned to classifier j, and Pj is a confidence score generated by Classifier j) 
 
         [0037]     A third calculation method is the weighted exponential, according to the following formula:  
       S   =       ∏     j   =   1     N     ⁢     p   j     r   j             
 
 (where N is a total number of classifiers, r is a weight assigned to classifier j, and Pj is a confidence score generated by Classifier j) 
 
         [0038]     A third calculation method uses a neural net, such as Multiple Layer Perception (MLP) network, with {p 1 , p 2 , . . . p N } as the input.  
         [0039]     The following table presents one example of how confidence scores from the different classifiers  116  and  118  can be weighted and combined to generate a single combined confidence score for the dialog attribute. In this example, the system  102  favors dialog attribute detection (e.g. “anger” detection) from the more general portion of the acoustic classifier  116  and uses secondary information from the acoustic keyword portion of the acoustic classifier  116  and the keyword classifier  118  to fine tune the dialog attribute confidence score assignments. Preferably each classifier generates a score that complies with a common scale (e.g. ranging from 0 to 1). The weights are also chosen (e.g. 0.5, 0.25, and 0.25 respectively) so that the combined score also complies with the common scale (e.g. ranging from 0 to 1). Thus a combined score of “1” could be a mad-frustrated person and a combined score of “0” could be a normal calm person.  
                                                   Acoustic   Acoustic Keyword   Keyword           Contact   Classifier   Classifier   Classifier   Combined       Information   (×0.5)   (×0.25)   (×0.25)   Score                   First Contact   0.9   0.1   0.1   0.5       Utterance       First Operator   0.1   0.9   0.5   0.4       Utterance       Second Contact   0.8   0.8   0.8   0.8       Utterance                  
 
         [0040]     More sophisticated confidence score combination techniques can be used as well. For instance, the call handling system  102  could use historical data from the various classifiers to train a statistical classifier (for example, a neural network, SVM, linear regression, etc.), that would then be used to classify the dialog attribute (e.g. “anger”) within each portion of the utterance (e.g. speech signal) based on runtime scores generated by the classifiers  116  and  118 .  
         [0041]     Also, since some classifiers may be computationally complex, such as the keyword classifier&#39;s  118  use of Automatic Speech Recognition, the combiner  120  employs a hierarchical (i.e. staged) classifier strategy to calculate the combined dialog attribute confidence score. One embodiment of such a hierarchical strategy includes: first calculating dialog attribute confidence scores using the least computationally intensive classifier, such as the acoustic classifier  116 , before employing the more computationally intensive classifiers, and stopping generation of the dialog attribute scores once the combined dialog attribute score for a dialog utterance exceeds a predetermined threshold combined confidence score.  
         [0042]     For example, if the combined confidence score from the generic portion and the keyword portion of the acoustic classifier  116  already exceeds p=0.9, then the keyword classifier  118  analysis can be skipped. Using such a staged strategy, reduces a number of computational resources required by the system  102 .  
         [0000]     Dialog Management  
         [0043]     The dialog manager  106  calculates and presents one or more derivations of a predetermined set of dialog attribute combined confidence scores to the operator  112  on a display  122 . For example, in one embodiment, the predetermined set of dialog attribute combined confidence scores include an instantaneous value of one of the contact&#39;s  104  emotional dialog attributes, such as “anger”. This one embodiment also includes the operator&#39;s  112  instantaneous anger score, as well as both the contact&#39;s  104  and operator&#39;s  112  anger scores over a period of time, such as the length of the dialog between the contact  104  and the operator  112 . Instantaneous values of a confidence score refer to the confidence scores calculated for each “utterance” within the dialog. Such utterances include either the contact&#39;s  104  or operator&#39;s  112  words, sentences, and sets of sentences.  
         [0044]     Derivations of these scores refer to various ways these scores can be modified (i.e. graphical display, chart display, % display, etc.) displayed to the operator  112 . These derivations can be particularly useful to the operator  112  and during later analysis when dialog attribute trends (e.g. anger trends) over the course of a dialog or a set of separate dialogs. Trend analysis is particularly useful for assessing the quality of the dialog over a reasonable period of time and decisions based on anger trend are generally more accurate than decisions made based on one instantaneous speech signal. For instance, using trend analysis, specific parts of the dialog that frustrated the contact  104  can be isolated, as well has how the contact&#39;s  104  frustration evolved during the course of the dialog.  
         [0045]     The dialog manager  106  accesses a predetermined set of dialog rules stored in a dialog rules database  124 . The rules are preferably based on a set of best practices determined by a user of the system  102 . In one embodiment the rules are classified into several categories, such as: a set of desired dialog attributes and trends; a set of preferred operator behaviors; a set of dialog efficiencies; and so on. In another embodiment, the dialog rules are logically ordered into a set of “IF” constructs and a set of “THEN” constructs which may be mapped to each other in any variety of static or dynamic ways based on best practices and ground truth data.  
         [0046]     An exemplary set of “IF” constructs include: If a dialog is diverging to a non-call center specific topic; If an anger level in the dialog is trending up; If a contact satisfaction rule violation is detected; and, If a contact interaction rule violation is detected. An exemplary set of “THEN” constructs include: Then display a pop-up window encouraging the operator to get the conversation back on track; Then display something to the operator; Then notify other systems in the call center; Then log the call for future analysis; Then present pop-up messages to the operator; Then alert operator&#39;s supervisor about the dialog anger scores; Then present popup messages to the operator to calm him down; Then present a set of recommendations or help menu to the operator on how to deal with an angry contact; Then advise the operator exactly what to do; and Then call for or adjust operator&#39;s performance evaluation.  
         [0047]     An exemplary set of “IF-THEN” constructs include: If an anger score detected in a contact&#39;s response exceeds 90%, notify operator&#39;s supervisor; If an anger score of an operator continues to be above 80% for three consecutive utterances, log the dialog in a database for future operator performance evaluation; If an anger level did not exceed 20% in the whole dialog, add a positive note to operator&#39;s performance evaluation; Within a same dialog, if the number of times an anger score for either the operator or the contact exceed 50%, notify operator&#39;s supervisor; and, If an anger level of the operator exceeds 70%, send a popup message to operator&#39;s display to ask him to calm down and provide suggestions for dealing with the contact.  
         [0048]     Note that presentation of “pop-up” messages to the operator  112  on the display  122  is a particularly useful technique for providing advice to the operator  112  when a dialog attribute threshold has been exceeded. Pop-up messages can be humorous to try to get the operator  112  better mood when dealing with an angry contact. Popup messages can also be warning messages that inform the operator about their performance and that the operator&#39;s supervisor may be notified. While often pop-up messages are displayed to the operator  112  automatically by the dialog manager  106 , pop-up messages are sometimes generated in response to the operator&#39;s  112  call for help. For example, if the operator  112  becomes frustrated with the contact  104  and needs advice, the operator  112  can send a request to the dialog manager  106  for help. The dialog manager  106  then temporarily lowers the dialog attribute thresholds to a current value, such as the contact&#39;s  104  instantaneous anger level, after which the dialog manager  106  provides a response as discussed above. Preferably such a response would not include operator performance type responses, since the operator  112  is asking for help.  
         [0049]     Those skilled in the art will recognize that the teachings and suggestions of the present invention apply to any set of dialog rules and that a particular set of dialog rules used is very application dependent.  
         [0050]     The dialog manager  106  compares a set of dialog information with the set of dialog rules. The set of dialog information includes not only the dialog attribute combined confidence scores, and derivations thereof, but also all other known information about the contact  102 , the operator  112 , and the applications hosted by the system  102 . The dialog manager  106  identifies a sub-set of the dialog rules which the set of dialog information maps to. The dialog manager  106  effects the sub-set of dialog rules.  
         [0051]     In one alternate embodiment, an operator&#39;s supervisor may also have a display on to which the dialog manager  106  presents a same, similar, or completely different set of information to the operator&#39;s supervisor as is presented to the operator  112 . Other embodiments of the present invention include: monitoring and classifying the contact&#39;s  104  dialog attributes but not the operator&#39;s  112 , such as when the contact  104  is interacting with only the IVR module  110 ; and monitoring and classifying the operator&#39;s  112  dialog attributes, but not the contact&#39;s  104 , such as when the operator  112  is being trained.  
         [0052]     In another alternate embodiment, the set of dialog information can be compared with the set of dialog rules off-line. Off-line includes analysis of the set of dialog information after the dialog has ended. Such off-line analysis provides not only historic operator  112  performance information, but also overall call center performance information. A percentage of good dialogs versus troubled dialogs may be used as a flag to alert the system  102  with respect to whether the call center is performing in accordance with a set predefined standards.  
         [0053]      FIG. 2  is a pictorial diagram  200  of one embodiment of information presented on the display  122  within the system  102 . The information presented includes an operator anger meter  202 , and a customer anger meter  204 . These anger meters include several meter zones. On the operator anger meter  202  there is a green zone  206  for low anger (0%-40%); a yellow zone  208  for medium anger (40-80%); and a red zone  210  for high anger levels (80-100%). On the customer anger meter  204  there is a green zone  212  for low anger (0%-50%); a yellow zone  214  for medium anger (50-70%); and a red zone  216  for high anger levels (70-100%). Note that the green, yellow, and red zones have different boundaries for the operator and the customer.  
         [0054]     The information presented also includes an operator anger trend graph  218 , a customer anger trend graph  220 , an operator dialog window  222 , a customer dialog window  224 , and a complete dialog window  226 . Those skilled in the art recognize that many other sets of information and arrangements thereof may be presented on the display  122  as well.  
         [0055]      FIG. 3  is a root flowchart of one embodiment of a method  300  for dialog management within a call handling system. In step  302 , a dialog is initiated between a contact and an operator. In step  304 , a dialog attribute is monitored. In step  306 , an instantaneous value of the dialog attribute is presented on an operator display. In step  308 , a dialog rule is effected in response to a value of the dialog attribute. The root method  300  is discussed in further detail with respect to  FIG. 4 .  
         [0056]      FIG. 4  is a flowchart of one embodiment of a method for dialog management within a call handling system. In step  402 , a contact  104  establishes a communications link with the call handling system  102 . In step  404 , a dialog manager  106  acknowledges the communications link and in response connects the contact  104  through a dialog router  108  to a recipient. In step  406 , after the dialog has progressed to a predetermined point the dialog manager  106  connects the contact  104  with the operator  114 , if the contact  104  had previously been connected to the IVR module  110 .  
         [0000]     Acoustic Classifier  
         [0057]     In step  408 , an acoustic classifier  116  extracts a predetermined set of speech features from both the contact&#39;s  104  and operator&#39;s  112  portions of the dialog. In step  410 , the acoustic classifier  116  generates a dialog attribute confidence score (“p”) using known techniques by which certain acoustic features in the dialog are associated with certain dialog attributes, such as the contact&#39;s  104  or operator&#39;s  112  anger level.  
         [0058]     In step  412 , the acoustic classifier  116  statistically correlates phonetic features extracted from the dialog and with phonetic features from a known set of keywords. In step  414 , the acoustic classifier  116  generates a second dialog attribute confidence score indicative of how well the dialog correlates with keywords associated with the dialog attribute.  
         [0000]     Keyword Classifier  
         [0059]     In step  416 , the automated speech recognition (ASR) engine within the IVR module  110  converts the dialog into text in real-time. In step  418 , a keyword classifier  118  searches the textual file for a predetermined set of keywords or key phrases associated with the dialog attribute to be monitored. In step  420 , the keyword classifier  118  calculates a dialog attribute confidence score based on whether the dialog includes a predetermined set and number of the keywords and key phrases.  
         [0000]     Data Combiner  
         [0060]     In step  422 , a data combiner  120  retrieves each of the dialog attribute confidence scores generated by the various classifiers  116  and  118 . In step  424 , the combiner  120  dynamically assigns a weight to each of the confidence scores depending upon the classifier from which the confidence score was received. In step  426 , the data combiner  120  calculates a combined confidence score for the dialog attribute based on all the confidence scores received from the various classifiers. In step  428  the combiner  120  employs a hierarchical (i.e. staged) classifier strategy to calculate the combined dialog attribute confidence score.  
         [0000]     Dialog Management  
         [0061]     In step  430 , the dialog manager  106  calculates and presents one or more derivations of a predetermined set of dialog attribute combined confidence scores (such as a dialog attribute trend) to the operator  112  on a display  122 . In step  432 , the dialog manager  106  accesses a predetermined set of dialog rules stored in a dialog rules database  124 . In step  434 , the dialog manager  106  compares a set of dialog information with the set of dialog rules. In step  436 , the dialog manager  106  identifies a sub-set of the dialog rules which the set of dialog information maps to. In step  438 , the dialog manager  106  effects the sub-set of dialog rules.  
         [0062]     While one or more embodiments of the present invention have been described, those skilled in the art will recognize that various modifications may be made. Variations upon and modifications to these embodiments are provided by the present invention, which is limited only by the following claims.