Abstract:
The present invention relates to a method and apparatus for exploiting human feedback in an intelligent automated assistant. One embodiment of a method for conducting an interaction with a human user includes inferring an intent from data entered by the human user, formulating a response in accordance with the intent, receiving feedback from a human advisor in response to at least one of the inferring and the formulating, wherein the human advisor is a person other than the human user, and adapting at least one model used in at least one of the inferring and the formulating, wherein the adapting is based on the feedback.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims the benefit of U.S. Provisional Patent Application Ser. No. 61/275,781, filed Sep. 2, 2009, which is herein incorporated by reference in its entirety. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The present invention relates generally to intelligent systems, and relates more particularly to techniques by which the behavior of an intelligent system may evolve based on human feedback. 
       BACKGROUND OF THE DISCLOSURE 
       [0003]    Intelligent automated assistant systems that perform functions in response to user requests are common in many contexts. Such systems may be used, for example, in navigation systems and customer service applications. Building a fully automated, intelligent conversational assistant system is nearly impossible using existing methods. Such systems have, however, improved significantly over the last decade due to automated learning methods. 
         [0004]    Automated learning methods typically require some kind of feedback (or manually annotated training data) in order for the behavior of the system to evolve. For instance, existing speech recognition and language understanding systems rely on static training data, from which models are trained. Periodically, the static training data is augmented, and the models are either retrained or adapted. New training data can be chosen randomly or using more sophisticated techniques such as active learning, which tries to obtain the most informative samples. 
         [0005]    Representative human/machine interaction training data is often obtained from feedback through human correction. When the system makes an error, a human can detect the error and provide the system with a correct response. If this feedback is provided in real time, and the user sees only the corrected output, the configuration of the system is referred to as a “Wizard of Oz” (WOZ) configuration. 
       SUMMARY OF THE INVENTION 
       [0006]    The present invention relates to a method and apparatus for exploiting human feedback in an intelligent automated assistant. One embodiment of a method for conducting an interaction with a human user includes inferring an intent from data entered by the human user, formulating a response in accordance with the intent, receiving feedback from a human advisor in response to at least one of the inferring and the formulating, wherein the human advisor is a person other than the human user, and adapting at least one model used in at least one of the inferring and the formulating, wherein the adapting is based on the feedback. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0007]    The teachings of the present invention can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which: 
           [0008]      FIG. 1  is a schematic diagram illustrating one embodiment of an intelligent automated assistant system, according to the present invention; 
           [0009]      FIG. 2  is a schematic diagram illustrating one embodiment of the interaction management module of  FIG. 1  in more detail; 
           [0010]      FIG. 3  is a schematic diagram illustrating one embodiment of the user characteristics and affective state computation module of  FIG. 1  in more detail; 
           [0011]      FIG. 4  is a flow diagram illustrating one embodiment of a method for responding to a user request, according to the present invention; and 
           [0012]      FIG. 5  is a high level block diagram of the present invention implemented using a general purpose computing device. 
       
    
    
       [0013]    To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures. 
       DETAILED DESCRIPTION 
       [0014]    The present invention relates to a method and apparatus for exploiting human feedback in an intelligent automated assistant. Embodiments of the invention provide an “organic” intelligent assistant system in which the behavior of the system components evolves in response to feedback received from the user and/or from “wizards.” Wizards are given access to the internal decisions that are made by the assistant system, which contribute to the system&#39;s final output. This provides the system with more targeted feedback and greatly improves the final output. 
         [0015]      FIG. 1  is a schematic diagram illustrating one embodiment of an intelligent automated assistant system  100 , according to the present invention. The system  100  may be incorporated, for example, in a consumer computing device such as a desktop computer, a laptop computer, a cellular telephone, a smart phone, a personal digital assistant, a navigation device, a gaming device, a set top box, or the like. Alternatively, the system  100  may be incorporated in a commercial interactive dialogue system, such as dialogue systems that are used for customer service applications. 
         [0016]    As illustrated, the system  100  generally comprises at least one input device  102 , a plurality of sensors  104 , an interaction management module  106 , a user characteristics and affective state computation module  108 , and an output device  110 . 
         [0017]    The input device  102  receives system inputs from a system user, as well as from one or more “wizards.” In one embodiment, the input device comprises one or more of the following: a keyboard, a stylus, a mouse, a microphone, a camera, or a network interface (which allows the system  100  to receive input from remote devices). 
         [0018]    In one embodiment, the inputs received by the input device  102  are deliberately entered by the user or by the wizards. The inputs received from the user include primary data that is entered by the user, such as requests for assistance (e.g., requests for directions to a specific location, requests for information, or the like). In one embodiment, the inputs received from the user also include the user&#39;s feedback with respect to previous system outputs. The inputs received from the wizards include feedback regarding the system&#39;s behavior. Wizards are human advisors that correct the behavior of the system  100  by providing feedback with respect to the systems&#39; outputs (e.g., the final system outputs or the outputs of the individual components of the system  100 ). In addition, the system inputs may include stored user data, such as a user profile. 
         [0019]    The sensors  104  receive inputs regarding the user&#39;s personal characteristics and/or affective state (e.g., mood). In one embodiment, the sensors include one or more of the following: a microphone, a camera, a pressure sensor, or a temperature sensor. 
         [0020]    In one embodiment, the inputs received by the sensors  104  are not deliberately entered by the user. For instance, the inputs received may include secondary data that is tangentially related to the primary data deliberately entered by the user. This secondary data may aid the system  100  in adapting or “personalizing” its outputs to the user. Thus, as discussed above, the secondary data may include personal characteristics about the user (e.g., the user&#39;s age, gender, accent, personal appearance, or the like) and/or the user&#39;s affective state (e.g., whether the user appears to be in a hurry, irritated, distracted, or the like). 
         [0021]    The interaction management module  106  is a processor that is coupled to the input device  102 . The interaction management module  106  receives and processes the system inputs collected by the input device  102  in order to formulate a correct system output (e.g., a response to a user request). 
         [0022]    The user characteristics and affective state computation module  108  is a processor that is coupled to the sensors  104 . The user characteristics and affective state computation module  108  receives and processes the system inputs collected by the sensors  104  in order to produce information related to the user&#39;s characteristics and affective state. In one embodiment, the user characteristics and affective state computation module  108  is coupled to the interaction management module  106 , and the information related to the user&#39;s characteristics and affective state is outputted to the interaction management module. The information related to the user&#39;s characteristics and affective state allows the interaction management module  106  to further adapt the system output to the user (e.g., by “personalizing” the system output as discussed above). 
         [0023]    The output device  110  is coupled to the interaction management module  106  and outputs the system output to the user. In one embodiment, the output device  110  comprises one or more of the following: a display, a speaker, a haptic device, or a network interface (which allows the system  100  to send outputs to a remote device). 
         [0024]      FIG. 2  is a schematic diagram illustrating one embodiment of the interaction management module  106  of  FIG. 1  in more detail. As illustrated, the interaction management module  106  generally comprises an intent understanding module  200 , a first set of learned models  202 , an output selection module  204 , a second set of learned models  206 , an output modality selection module  210 , a Wizard of Oz (WOZ) gate  212 , a WOZ intervention reasoner  214 , a conversation assignment module  216 , and a WOZ intervention feedback module  218 . 
         [0025]    The intent understanding module  200  is a processor that parses user intent from the entered data provided by the user, the stored user data, and/or user characteristics and affective state (provided by the user characteristics and affective state computation module  108 ). In other words, the intent understanding module  200  determines what information the user is seeking from the system  100  (e.g., directions to a specific location, an answer to a question, etc.). In one embodiment, the intent understanding module  200  comprises at least one of the following: an automatic speech recognition (ASR) processor, an optical character recognition (OCR) processor, or a natural language understanding (NLU) engine. In one embodiment, the intent understanding module  202  is coupled to the first set of learned models  202 , which help the intent understanding module  200  to determine user intent based on learned information. 
         [0026]    The output selection module  204  selects the system output based on the system inputs (e.g., the entered data, the sensed data, and the user data) and the information parsed from these inputs (e.g., user characteristics and affective state, user requests, and user preferences). The system output is provided to the WOZ gate  212 , as discussed below. This allows the system  100  to determine whether wizard intervention may be required to correct the system output before it is presented to the user. In one embodiment, the output selection module  204  is coupled to the second set of learned models  206 , which help the output selection module  204  to determine the appropriate output based on the system inputs and the information parsed from the system inputs. 
         [0027]    The output modality selection module  210  is a processor that determines which modality to use to provide the system output to the user. The output modality selection module  210  bases this determination at least in part on the user characteristics and affective state (provided by the user characteristics and affective state computation module  108 ) and the stored user data. That is, the user&#39;s current mood or historical preferences may guide selection of the appropriate output modality. For instance, if the user appears distracted, an audible output modality may be preferable to modality that displays the output. Alternatively, the user&#39;s profile may state that the user prefers to receive system output in textual form. 
         [0028]    The WOZ gate  212  is an interface that enables the interaction management system  106  to communicate with the wizards. Specifically, the WOZ gate enables interactions between the intent understanding module  200 , the output selection module  204 , and the output modality selection module  210  with the WOZ intervention reasoner  214 , the conversation assignment module  216 , and the WOZ intervention feedback module  218 . To this end, the WOZ gate  212  is coupled to the intent understanding module  200 , the output selection module  204 , the output modality selection module  210 , and the WOZ intervention reasoner  214 . 
         [0029]    The WOZ intervention reasoner  214  is a processor that detects situations that require wizard involvement. Methods for detecting these situations are discussed in greater detail below. In one embodiment, these methods rely on at least one of: dialogue uncertainty and machine learning using data from past situations. The WOZ intervention reasoner  214  is coupled to the WOZ gate  212 , as discussed above, and uses information provided by the WOZ gate  212  to detect these situations. Specifically, the WOZ gate  212  determines whether wizard intervention is required based on the outputs of the intent understanding module  200  and the output selection module  204 , which are forwarded by the WOZ gate  212  (e.g., has the user intent been correctly interpreted and has an appropriate system output been selected?). In addition, the WOZ intervention reasoner  214  is coupled to the conversation assignment module  216  and the WOZ intervention feedback module  218  and invokes these components when a situation is detected in which wizard intervention is required. 
         [0030]    The conversation assignment module  216  assigns conversations (e.g., user interactions with the system  100 ) to particular wizards based on instructions from the WOZ intervention reasoner  214 . Specifically, when the WOZ intervention reasoner  214  detects that wizard involvement is required in a conversation, it instructs the conversation assignment module  216  to assign the conversation to an appropriate wizard. Thus, the conversation assignment module  216  also communicates with the wizards and receives feedback from the wizards regarding the behavior of the system  100 . The conversation assignment module  216  forwards this feedback back to the WOZ intervention reasoner  214 . 
         [0031]    The WOZ intervention feedback module  218  is coupled to the WOZ intervention reasoner  214 , as discussed above, and receives wizard feedback from the WOZ intervention reasoner  214 , which, in turn, receives the wizard feedback from the conversation assignment module  216  as discussed above). The WOZ intervention feedback module  218  uses this feedback to adjust the first and second learned models  202  and  206 . By adjusting the first and second learned models  202  and  206 , which are accessed by the intent understanding module  200  and the output selection module  204 , respectively, the behavior of the system  100  with respect to user interactions can be adapted. 
         [0032]      FIG. 3  is a schematic diagram illustrating one embodiment of the user characteristics and affective state computation module  108  of  FIG. 1  in more detail. As illustrated, the user characteristics and affective state computation module  108  generally comprises a plurality of feature extractors  300   1 - 300   n  (hereinafter collectively referred to as “feature extractors  300 ”), a feature combination and conditioning module  302 , and a plurality of classifiers  304   1 - 304   n  (hereinafter collectively referred to as “classifiers  304 ”). 
         [0033]    The feature extractors  300  are processors that extract features from sensed data provided as inputs by the sensors  104 .  FIG. 3  illustrates a plurality of exemplary sensors and corresponding feature extractors  300  to which the sensors may provide sensed data. For instance, the sensors  104  may include a microphone, a video camera focused on the user&#39;s face, a video camera focused on the user&#39;s upper torso, and a video camera focused on the user&#39;s footwear, among other sensors. The microphone may provide sensed data to feature extractors  300  including of at least one of: an automatic speech recognition and natural language understanding processor  300   1 , a duration feature extractor  300   2 , pitch feature extractor  300   3 , an energy feature extractor  300   4 , and a cepstral feature extractor  300   5 . The video camera focused on the user&#39;s face may provide sensed data to feature extractors  300  including of at least one of: a face detection and feature extractor  300   6  and eye gaze detection and feature extractor  300   7 . The video camera focused on the user&#39;s upper torso may provide sensed data to feature extractors  300  including of at least one of: a visual appearance feature extractor  300   8  and a body movement feature extractor  300   9 . The video camera focused on the user&#39;s upper torso may provide sensed data to feature extractors  300  including at least a footwear detection and feature extractor  300   n . 
         [0034]    The feature combination and conditioning module  302  is a processor that combines and conditions the features that are extracted by the feature extractors. In particular, the feature combination and conditioning module  302  preprocesses the sensed data by combining and/or preparing the sensed data for further processing by the classifiers  304  (e.g., by normalizing the extracted features, reducing noise in the extracted features, or the like). 
         [0035]    The classifiers  304  are processors that generate conclusions about the user based on the combined and conditioned features provided by the feature combination and conditioning module  300 .  FIG. 3  illustrates a plurality of classifiers  304  to which the feature combination and conditioning module  302  may provide combined and conditioned features. For instance, the classifiers  304  may include at least one of the following: an age classifier  304   1 , a gender classifier  304   2 , a socioeconomic classifier  304   3 , and an emotion classifier  304   n . The age classifier  304   1  makes a conclusion with respect to the age characteristics of the user, based on the sensed data. The gender classifier  304   2  makes a conclusion with respect to the gender characteristics of the user, based on the sensed data. The socioeconomic classifier  304   3  makes a conclusion with respect to the socioeconomic status characteristics of the user, based on the sensed data. The emotion classifier  304   n  makes a conclusion with respect to the current emotional characteristics or affective state of the user, based on the sensed data. All of these characteristics are output by their respective classifiers  304  to the interaction management module  306 , as discussed above. 
         [0036]    The system  100 , configured as illustrated in  FIGS. 1-3 , gives the wizards access to the internal decisions made by the system  100 , which contribute to the final output of the system  100 . For example, as illustrated in  FIG. 2 , the wizards have access to at least the outputs of the intent understanding module  200  (which determines the intent or goal of a user request) and the output selection module  204  (which determines how to respond to the user&#39;s intent or goal), as well as to the final system output. This allows the wizards to provide the system  100  with more targeted feedback. This is beneficial because if one of the internal decisions of the system  100  is incorrect (e.g., the user&#39;s intent is misinterpreted), then this incorrect decision can propagate through the system and cause other incorrect decisions to be made. Thus, although the system&#39;s components may be operating properly with respect to their respective inputs, the system&#39;s final output quality may be poor. 
         [0037]    For example, in the navigation context, the user may provide the system  100  with the spoke command “Give me directions to Bart&#39;s house.” If the command is misinterpreted as “Give me directions to Mark&#39;s house,” then the system  100 &#39;s output might be “Turn right ahead.” However, if a wizard has access to the system&#39;s internal decisions (such as interpretation of user intent), he or she could correct those internal decisions (e.g., correct “Mark” to “Bart”). Thus, the system&#39;s output might be changed to “Go straight” based on this correction. In this manner, the system  100  can continue processing the user&#39;s request, and the feedback from the wizard can be exploited to improve, for example, the name models used by the intent understanding module  200 . 
         [0038]    Additionally, if a wizard corrects an internal decision made by the system  100  early in the reasoning pipeline, a correction at that early point may allow a correct output to be generated when the correction propagates through the rest of the system  100 . This will likely be more efficient than having the wizard correct the final output, because choosing a correct decision from a list of small possibilities early on will likely be faster than generating a full response to the user of than choosing a correct decision from a large list of canned responses. For instance, in the above example, simply changing “Mark” to “Bart” and allowing the system  100  to look up the correct navigation action is more efficient than having the wizard look up the directions. 
         [0039]    Given this targeted feedback, some components of the system  100  may be able to support online learning, which is a mechanism that supports continuous improvement of models. Specifically, the models used to generate decisions (e.g., the first and second sets of learned models  202  and  206  illustrated in  FIG. 2 ) can be updated after each piece of feedback from the wizards. As each component of the system  100  improves its behavior, the overall accuracy of the system  100  will likewise improve, and fewer interventions by the wizards will be necessary. For instance, in the example above, the automatic speech recognition and natural language understanding processor  300   1  illustrated in  FIG. 3  may change it internal models to prefer “Bart” over “Mark” in ambiguous cases. 
         [0040]      FIG. 4  is a flow diagram illustrating one embodiment of a method  400  for responding to a user request, according to the present invention. The method may be implemented, for example, by the intelligent assistant system  100  illustrated in  FIGS. 1-3 . As such, reference is made in the discussion of the method  400  to various elements of  FIGS. 1-3 . It will be appreciated, however, that the method  400  is not limited to implementation with the specific configuration illustrated in  FIGS. 1-3 , and may, in fact, be implemented with intelligent assistant systems having alternative configurations. 
         [0041]    The method  400  is initialized at step  402  and proceeds to step  404 , where the system  100  receives (via the input device  102 ) entered data that is entered by the user. In one embodiment, entered data comprises a user request for specific information (e.g., “Give me directions to Bart&#39;s house”). 
         [0042]    In step  406 , the system  100  also receives (via the sensors  104  and the input device  102 , respectively) sensed data and user data. As discussed above, the sensed data comprises data from which the user&#39;s characteristics and/or affective state can be inferred (e.g., the user&#39;s appearance or movements), while the user data comprises stored data about the user, (e.g., user preferences). 
         [0043]    In step  408 , the intent understanding module  200  of the interaction management module  106  determines the user&#39;s intent from the entered data. For example, if the entered data was the voice command, “Give me directions to Bart&#39;s house,” the intent understanding module  200  should determine that the user&#39;s intent is to acquire directions to Bart&#39;s house. As discussed above, this step may include various processing steps that operate on the entered data and may invoke various models, depending on the form in which the entered data was received (e.g., NLU, ASR, OCR, or the like). In addition, in step  408 , the user characteristics and affective state computation module determines the user&#39;s current characteristics (e.g., the user is an adult male) and affective state (e.g., the user appears to be in a hurry). As discussed above, this step may include various processing steps that operate on the sensed data, depending on the form in which the sensed data was received (e.g., feature extraction and classification). 
         [0044]    In step  410 , the WOZ intervention reasoner  214  of the interaction management module  106  determines whether a wizard should be consulted to verify the conclusions reached in step  408 . For instance, the WOZ intervention reasoner  214  may determine that the intent understanding module&#39;s conclusions as to the user&#39;s intent should be questioned. Various specific methods for detecting when a wizard should be consulted are discussed in greater detail below. 
         [0045]    If the WOZ intervention reasoner  214  concludes in step  410  that a wizard should be consulted, then the method  400  proceeds to step  412 , and the conversation assignment module  216  of the interaction management module  106  assigns the current interaction to a wizard. In one embodiment, a wizard may be selected based on a particular field of expertise relevant to the present interaction (e.g., navigation) or present step of the present interaction (e.g., natural language understanding. 
         [0046]    In step  414 , the conversation assignment module  216  receives feedback from the wizard to whom the interaction was assigned. The feedback may confirm the conclusions of the intent understanding module  200 , or the feedback may include corrections to the conclusions (e.g., “Bart” was misrecognized as “Mark”). 
         [0047]    In step  416 , the WOZ intervention feedback module  218  of the interaction management module  106  adjusts the system in accordance with the feedback received in step  414 . For example, the WOZ intervention feedback module  218  may adjust the first or second set of learned models  202  or  206  to better understand user intent (e.g., when the intent is ambiguous from the entered data, choose “Bart” over “Mark”). 
         [0048]    In step  418 , the output selection module  204  of the interaction management system  106  formulates an output responsive to the entered data received in step  404  (e.g., directions to Bart&#39;s house). In one embodiment, an appropriate output is not only responsive to the entered data, but also accounts for the user&#39;s preferences (e.g., as embodied in the user data) and/or characteristics and affective state (e.g., as inferred by the user characteristics and affective state computation module  108 ). 
         [0049]    If the WOZ intervention reasoner  214  concludes in step  410  that a wizard should not be consulted (i.e., the intent understanding module&#39;s conclusions are assumed to be correct), then the method  400  proceeds directly to step  418  and bypasses steps  412 - 416 . 
         [0050]    Once the output has been formulated, the WOZ intervention reasoner  214  again determines in step  420  whether a wizard should be consulted to verify the conclusions reached in step  418 . For instance, the WOZ intervention reasoner  214  may determine that the output selection module&#39;s conclusions as to the appropriate output should be questioned. 
         [0051]    If the WOZ intervention reasoner  214  concludes in step  420  that a wizard should be consulted, then the method  400  proceeds to step  422 , and the conversation assignment module  216  of the interaction management module  106  assigns the current interaction to a wizard. 
         [0052]    In step  424 , the conversation assignment module  216  receives feedback from the wizard to whom the interaction was assigned. The feedback may confirm the conclusions of the output selection module  204 , or the feedback may include corrections to the conclusions (e.g., the user is approximately  10  years older than the user characteristics indicate). 
         [0053]    In step  426 , the WOZ intervention feedback module  218  of the interaction management module  106  adjusts the system in accordance with the feedback received in step  424 , For example, the WOZ intervention feedback module  218  may adjust the first or second set of learned models  202  or  206  to better infer the user characteristics (e.g., when the user age is ambiguous from the sensed data, assume the user is older). 
         [0054]    In step  428 , the output modality selection module  210  of the interaction management system  106  selects a modality for the system output (e.g., audio). In one embodiment, an appropriate output modality accounts for the user&#39;s preferences (e.g., as embodied in the user data) and/or characteristics and affective state (e.g., as inferred by the user characteristics and affective state computation module  108 ). For instance, an audio modality may be preferable when the user appears to be in a hurry and may not have time to read the output off of a display. Alternatively the user&#39;s preference may state that audio output is preferred over other modalities. 
         [0055]    If the WOZ intervention reasoner  214  concludes in step  420  that a wizard should not be consulted (i.e., the output selection module&#39;s conclusions are assumed to be correct), then the method  400  proceeds directly to step  428  and bypasses steps  422 - 426 . 
         [0056]    Once the output modality has been selected, the output device  110  provides the system output to the user, via the selected output modality. 
         [0057]    In optional step  432  (illustrated in phantom), the system  100  receives (e.g., via the input device  102 ) user feedback responsive to the system output. The user feedback may indicate, for example, that the system output was correct and/or appropriate, Alternatively, the user feedback may indicate corrections to the system output and/or the conclusions that produced the system output (e.g., “This isn&#39;t Bart&#39;s house”). 
         [0058]    In optional step  434  (illustrated in phantom), the system  100  adjusts itself in response to the user feedback. For example, the system  100  may adjust the first or second set of learned models  202  or  206  based on the user feedback, just as the first and second set of learned models  202  and  206  may be adjusted based on wizard feedback. Thus, user feedback may also be used to improve the behavior of the system  100 . 
         [0059]    The method  400  terminates in step  436 . 
         [0060]    As discussed above, in order for the wizards to be able to provide feedback at the appropriate times, the system  100  (e.g., specifically, the WOZ intervention reasoner  214 ) must be able to detect situations that require wizard intervention. This problem can be stated as follows: given some situation (a point in the interaction between the user and the system  100 ), and given a wizard intervention point, the system  100  must choose between “Ask a wizard” and “Assume the system is correct” (e.g., steps  410  and  420  of the method  400 ). There are several ways in which this decision can be made. 
         [0061]    In one embodiment, this determination is based at least in part on dialogue uncertainty. Most statistical approaches to natural language understanding output a distribution over possible understandings, rather than a single best understanding. The shape of this distribution can be used to infer a level of uncertainty ascribable to the system  100 . Intuitively, the greater the uncertainty, the more probable the need for wizard intervention. 
         [0062]    In one embodiment, the method  400  (e.g., steps  410  and  420 ) incorporates a threshold by which the most probable item in a distribution will be accepted without consulting a wizard. This threshold defines the minimum distance required between the probabilities of the best and second best item in the distribution. For example, if the best item has a probability of 0.6, and the second best item has a probability of 0.35, then the difference of 0.25 may not be large enough to classify the system  100  as “sure” that the best item is good enough to accept. On the other hand, if the best item has a probability of 0.55, and the second best item has a probability of 0.01, then the best item may be accepted without consulting a wizard. In one embodiment, the threshold is adjustable and may be defined by the user. 
         [0063]    In an alternative embodiment, the posterior probability of the best item is computed. This approach may also allow inclusion of prior information in the decision making process, since the posterior probabilities are self-normalizing. 
         [0064]    In the case of speech input (e.g., the entered data is a spoken command), a richer level of representation of the recognized speech (using multiple hypotheses with their own confidences) allows the method  400  to derive probabilities for understanding categories of each hypotheses. The distribution of probabilities of the understanding categories can then be probabilistically combined to arrive at a more robust distribution that is representative of the multiple recognition hypotheses. 
         [0065]    In another embodiment, the determination as to whether to consult a wizard is based at least in part on machine learning using data from past situations. Over time, a wizard will intervene in many situations. In some situations, the wizard will override the system&#39;s choices; in other situations, the wizard will accept the system&#39;s choices. 
         [0066]    By extracting features of each situation and using labels such as “ask wizard” and “assume system is correct,” a straightforward supervised learning problem can be developed that will induce a model that outputs either “ask wizard” or “assume system is correct.” Using many classes of learning algorithms, the output is not a simple, discrete answer; instead, a confidence is attached to each label. In one embodiment, a threshold is established such that “ask wizard” is always chosen if the confidence level for a label is below the threshold. The models can obtain data from other dialogue and user-specific features (and associated confidences), such as previous system outputs, previous system decisions, and the like. 
         [0067]    In yet another embodiment, a combination of dialogue uncertainty and machine learning is used to determine when to consult a wizard. Both of the previous approaches define confidence thresholds below which the wizard must be consulted. in another embodiment, a what-if analysis is performed on the x best items even when the thresholds are not met. If both items lead to the same result, then there is no need to consult a wizard (except to elicit feedback for learning). 
         [0068]    Even assuming that the system can accurately detect the need for wizard intervention, the system must also be able to quickly deliver the context of the interaction to the wizard. A user may grow dissatisfied if the system takes a long time to generate an output (e.g., because it must wait for wizard feedback). Thus, embodiments of the invention employ techniques that seek to make delays resulting from wizard consultation more acceptable to the user. In essence, embodiments of the invention “buy time” for the wizard to view transcripts of the interaction and/or play back speech (e.g., with pauses removed and possibly increased audio output). 
         [0069]    In one embodiment, a wizard is gracefully introduced into an interaction by giving the wizard only a summary of the interaction or only the last utterance in the interaction. The wizard can then quickly choose a response that will begin to regain the user&#39;s trust in the system  100 . In this case, the wizard&#39;s response may not fully solve the problem, but may at least lead the user to believe that the system  100  is starting to understand. The time required for the user to read the wizard&#39;s response and generate a new utterance is spent providing the wizard with the full context of the interaction. 
         [0070]    In yet another embodiment, the WOZ intervention reasoner  214  may detect that an interaction is likely to require wizard intervention in the future. Occurrences that may trigger this detection include, for are not limited to: discussion of topics of which the system  100  has limited knowledge, the user frequently changing topics, the user being an important customer, or the user being an individual who has a history of needing help or getting frustrated. When such an occurrence is detected, the WOZ intervention reasoner  214  may notify the conversation assignment module  216  that the current interaction should be monitored by an available wizard. This is another way in which the wizard can be gracefully introduced into the interaction. 
         [0071]    In one embodiment, the summary of the interaction is automatically generated using a technique that compares elements of the interaction to elements in the learned models (e.g., first and second sets of learned models  202  and  206 ). Words that strongly align with user goals that the system  100  is capable of handling will be highlighted or otherwise indicated. Words that are rare or atypical for the system  100  are also highlighted or otherwise indicated. Together, these summary elements will alert the wizard to the type of interaction being carried out and the elements of the interaction that most likely have given the system  100  trouble. 
         [0072]    In another embodiment, the present invention employs stall tactics in which one of a number of canned responses or questions (e.g., “I&#39;m reviewing our conversation to understand better,” or “Would you please repeat that?”) is provided as output to the user. Such outputs will either lower the perceived response time (e.g., will keep the user mentally busy) or will induce the user to be more accepting of a delay (e.g., by indicating that the system  100  is trying to understand). 
         [0073]    In yet another embodiment, a wizard is introduced explicitly to the user (e.g., in a manner similar to introducing a manager in modern call centers). For example, the system  100  can explicitly state to the user “I&#39;m bringing in my manager to help.” This creates an expectation of a pause in the interaction (to inform the manager of the context). 
         [0074]    Although the present invention may operate with a single wizard, it may be preferable in some cases to employ a plurality of wizards in order to represent particular areas of expertise. Certain contexts may require a higher degree of confidence in the system&#39;s output than others. For example, a system that is configured to provide cooking advice is likely to have lower requirements for accuracy than a system that is configured to provide medical advice. For contexts requiring a higher degree of confidence in the system output, the system  100  may combine the recommendations of multiple wizards (each of which may not necessarily be skilled). This avoids the need to consult with expensive experts, but provides a greater degree of confidence in a consensus opinion. 
         [0075]    In one embodiment, the multiple responses from multiple wizards are combined using weights that indicate the past performance of the wizards (e.g., how useful or accurate a given wizard&#39;s past feedback was, or how often the given wizard&#39;s feedback has been consistent with the majority opinion). In one embodiment, incentives are provided to wizards who provide good faith feedback. 
         [0076]      FIG. 5  is a high level block diagram of the present invention implemented using a general purpose computing device  500 . It should be understood that embodiments of the invention can be implemented as a physical device or subsystem that is coupled to a processor through a communication channel. Moreover, as discussed above, several of the discrete components of the automated intelligent assistant system  100  can be implemented as processors. Therefore, in one embodiment, a general purpose computing device  500  comprises a processor  502 , a memory  504 , an assistance module  505 , and various input/output (I/O) devices  506  such as a display, a keyboard, a mouse, a modem, a microphone, speakers, a touch screen, and the like. In one embodiment, at least one I/O device is a storage device (e.g., a disk drive, an optical disk drive, a floppy disk drive). 
         [0077]    Alternatively, embodiments of the present invention (e.g., assistance module  505 ) can be represented by one or more software applications (or even a combination of software and hardware, e.g., using Application Specific Integrated Circuits (ASIC)), where the software is loaded from a storage medium (e.g., I/O devices  506 ) and operated by the processor  502  in the memory  504  of the general purpose computing device  500 . Thus, in one embodiment, the assistance module  505  for exploiting human feedback in an intelligent automated assistant described herein with reference to the preceding Figures can be stored on a non-transitory computer readable medium (e.g., RAM, magnetic or optical drive or diskette, and the like). 
         [0078]    It should be noted that although not explicitly specified, one or more steps of the methods described herein may include a storing, displaying and/or outputting step as required for a particular application. In other words, any data, records, fields, and/or intermediate results discussed in the methods can be stored, displayed, and/or outputted to another device as required for a particular application. Furthermore, steps or blocks in the accompanying Figures that recite a determining operation or involve a decision, do not necessarily require that both branches of the determining operation be practiced. In other words, one of the branches of the determining operation can be deemed as an optional step. 
         [0079]    Although various embodiments which incorporate the teachings of the present invention have been shown and described in detail herein, those skilled in the art can readily devise many other varied embodiments that still incorporate these teachings.