Abstract:
A method of probabilistic error-tolerant natural language understanding. The process of language understanding is divided into a concept parse and a concept sequence comparison steps. The concept parse uses a parse driven by a concept grammar to construct a concept parse forest set by parsing results of speech recognition. The concept sequence comparison uses an error-tolerant interpreter to compare the hypothetical concept sequences included by the concept parse forest set and the exemplary concept sequences included in the database of the system. A most possible concept sequence is found and converted into a semantic framed that expresses the intention of the user. The whole process is led by a probability oriented scoring function. When error occurs in the speech recognition and a correct concept sequence cannot be formed, the position of the error is determined and the error is recovered according to the scoring function to reduce the negative effect.

Description:
CROSS-REFERENCE TO RELATED APPLICATION  
         [0001]    This application claims the priority benefit of Taiwan application serial no. 89116182, filed Aug. 11 2000.  
         BACKGROUND OF THE INVENTION  
         [0002]    1. Field of the Invention  
           [0003]    The invention relates in general to a method to convert a speech utterance into a concept sequence. More particularly, this invention relates to a method adopting a probabilistic scoring function to determine the positions of speech recognition errors and to recover an incorrect concept sequence into a correct concept sequence when the speech recognition errors result in such incorrect concept sequence.  
           [0004]    2. Description of the Related Art  
           [0005]    The natural language understanding technique converts the spoken languages of human beings into a data format that a computer can understand, so that the computer provides various services for users in different application. For example, in the application of machine translation, a vulgate can be translated into a foreign language. In addition to text-based applications, the natural language understanding technical can also be used for speech related applications. Commonly, the speech is converted into words, followed by the process of the natural language understanding.  
           [0006]    Generally speaking, the speech related application system (such as spoken dialogue system) includes speech recognition module and language understanding module. The speech recognition module converts the utterance spoken by a user into a set of possible word sequences, while the language understanding module analyze the word sequence set to determine the intention of the user. The user&#39;s intention is expressed with a semantic frame.  
           [0007]    [0007]FIG. 1 shows a flow chart for understanding the utterance spoken by a user. For example, assume that the utterance signal in block S 100  is produced by pronouncing the Mandarin words “Qing-Wen (tell me) Hsin-Chu (Hsinchu) Jin-Tien (today) Zao-Shang (morning) Hei-Bu-Hei (will it) Xia-Yu (rain)?”, which means “Will it rain in Hsinchu this morning?”. Then, the speech recognition module in block S 102  converts the utterance signal into a set of hypothetical sentences, named sentence list, and puts it into block S 104 . For example, the sentence list may include the sentences “Qing-Wen (tell me) Hsin-Chu (Hsinchu) Jin-Tien (today) Zao-Shang (morning) Hei-Bu-Hei (will it) Xia-Yu (rain)”, “Qi-Wen (temperature) Hsin-Chu (Hsinchu) Jin-Tien (today) Zao-Shang (morning) Hei-Bu-Hei (will it) Xia-Yu (rain)?”, and “Qing-Wen (tell me) Hsin-Chu (Hsinchu) Qing-Tien (sunny day) Zao-Shang (morning) Hei-Bu-Hei (will it) Xia-Yu (rain)”.  
           [0008]    In block S 106 , the sentence list is then analyzed by the language understanding module according to the linguistic knowledge and domain knowledge. The intention of the user&#39;s utterance can thus be determined and represented by a semantic frame in block S 108 .  
           [0009]    In general, a natural language understanding system requires a predefined grammar to analyze and understand an input sequence. In the past, most natural language systems aimed at processing well-formed sentences that are grammatical with respect to the pre-defined grammars. If the input sentence is ill-formed (i.e., ungrammatical with respect to the predefined grammar), it is simply ignored. However, in real applications, ill-formed sentences are inevitable. Especially for a spoken dialogue system, the unpredictable errors of speech recognition usually make the hypothetical sentences erroneous.  
           [0010]    To analyze ill-formed sentences, the robustness for parsing gradually evokes a great attention. The typical method is to partially parse the ill-formed sentence into recognizable pieces of phrases (i.e., partial parses), and select certain partial parses for further post-processing. In this approach, the system usually adopts some heuristic rules to select partial parses. Those rules are usually system-specific and, therefore, hard to re-use by other systems. In addition, since partial parsing does not recover the errors in an ill-formed sentence, this approach can only explore very limited information from the ill-formed sentence.  
           [0011]    Another way to handle ill-formed sentences is to recover the errors in the sentences. In the past, this error recovery approach focused on searching the fittest parse tree among all alternatives that could be generated by the pre-defined system grammar. However, the system grammar, usually defined for analysis purpose, tends to be over-generated in many cases. That is, such approaches might produce sentences that are syntactically well-formed, but semantically meaningless. Furthermore, the number of structures which can be generated by the system grammar is generally too large to search exhaustively, some heuristic rules should be applied to reduce computation cost. However, those rules are usually system-specific and not easy to be re-used by other systems.  
           [0012]    Recently, the concept-based approach is proposed to deal with the ill-formed sentences. In this approach, the system grammar only defines the structures of phrases, named concepts. A sentence is parsed into a sequence of concepts. For example, in FIG. 2, the sentence “Qing-Wen (tell me) Hsin-Chu (Hsinchu) Jin-Tien (today) Zao-Shang (morning) Hei-Bu-Hei (will it) Xia-Yu (rain)” is parsed into the concept sequence “Query Location Date Topic”. Unlike conventional language analysis, the legitimacy of a concept sequence is not specified by grammar rules. Instead, the N-gram stochastic model is used to estimate the likelihood of a concept sequence.  
           [0013]    Generally speaking, in the concept-based approach, the system grammar only specifies how to construct individual concept parse but does not give any constraints on how to assemble concepts to a concept sequence. All possible concept sequences of the hypothetical sentences are ranked by the N-gram stochastic model to choose the most probable concept sequence. This approach works well if the correct sentence is included in the hypothetical sentence set. However, due to the imperfect speech recognition technique, speech recognition errors are inevitable, especially for recognizing spontaneous speech. The hypothetical sentence set may not include the correct sentence. In such case, the language understanding module is forced to select one incorrect concept sequence to interpret the user&#39;s intention. For example, when the user says “Qing-Wen (tell me) Jin-Tien (today) Hsin-Chu (Hsinchu) Zao-Shang (morning) Hei-Bu-Hei (will it) Xia-Yu (rain)”, the speech recognizer may only output two incorrect hypothetical sentences “Qi-Wen (temperature) Hsin-Chu (Hsinchu) Jin-Tien (today) Zao-Shang (morning) Hei-Bu-Hei (will it) Xia-Yu (rain)” and “Qing-Wen (tell me) Hsin-Chu (Hsinchu) Qing-Tien (sunny day) Hei-Bu-Hei (will it) Xia-Yu (rain)”. In this case, the language understanding module can only select between two incorrect concept sequences of “Topic (Qi-Wen) Location (Hsin-Chu) Date (Jin-Tien Zao-Shang) Topic (Hei-Bu-Hei-Xia-Yu)” and “Query (Qing-Wen) Location (Hsin-Chu) Topic (Qing-Tien) Date (Zao-Shang) Topic (Hei-Bu-Hei-Xia-Yu)”.  
           [0014]    The problem of the above language understanding method comes from that the stochastic N-gram model can only provide the likelihood of a concept sequence but is not able to detect whether the concept sequence is correct or not, not even mentioning recover errors.  
         SUMMARY OF THE INVENTION  
         [0015]    The invention provides a method for probabilistic error-tolerant natural language understanding. A database with correct concept sequence is constructed using text corpus. Using contradistinction, the error concept sequence is recovered. The process for the language understanding is oriented by a probabilistic scoring function. The scoring function integrates the information from the speech recognition and the knowledge encoded in the concept grammar and concept sequence examples to detect whether there is any error in speech recognition, and adopts the optimum method to recover the error whenever it occurs.  
           [0016]    The above method of probabilistic error-tolerant natural language understanding comprises the following steps. The utterance spoken by the user is converted into a hypothetical word sequence set using speech recognition module. The hypothetical word sequence set is parsed into a concept parse forest set using concept grammar. Each concept parse forest includes a concept sequence, named hypothetical concept sequence. According to the concept parse forest set, hypothetical concept sequence set is constructed. This hypothetical concept sequence set is then compared with the set of exemplary concept sequences to find the most possible concept sequence. Finally, the concept sequences is converted into a semantic frame that represents the intention of the speaker.  
           [0017]    The process of understanding the utterance of a user is expressed by a formula:  
         (       W   ^     ,     F   ^     ,     C   ^     ,     K   ^     ,     E   ^       )     =       argmax     (     W   ,   F   ,   C   ,   K   ,   E     )                       P   (     W   ,   F   ,   C   ,   K   ,     E      U       )                             
 
           [0018]    wherein U represents the utterance of the speaker. W represents one hypothetical word sequence output by the speech recognition module. F is one possible concept parse forest of the word sequence defined by the system grammar. The concept sequence C is the hypothetical concept sequence corresponding to the concept parse forest. K represents one exemplary concept sequence. E represents one edit operation sequence to change the exemplary concept sequence into the hypothetical concept sequence. (Ŵ,{circumflex over (F)},Ĉ,{circumflex over (K)},Ê) represents an assemble of the most possible hypothetical word sequence, concept parse forest, hypothetical concept sequence, exemplary concept sequence and edit operation sequence for the utterance of the user.  
           [0019]    In the method of probabilistic error-tolerant natural language understanding, the above probability formula can be replaced by scoring function:  
         (       W   ^     ,     F   ^     ,     C   ^     ,     K   ^     ,     E   ^       )     =       argmax     (     W   ,   F   ,   C   ,   K   ,   E     )            {       S   W     +     S   F     +     S   K     +     S   E       }                             
 
           [0020]    S W  is called speech score, S F  is called the grammar score, S K  is called example score and S E  represents the edit score. Due to the modeling errors caused by various assumptions and the estimation error caused by insufficient training data, different kinds of scores have different discrimination powers and reliabilities. To compensate this problem, the scores of different kinds of probability parameters are appropriately weighted with a positive weighing factor. Thus, during the process for understanding utterance of a user, the most possible hypothetical word sequence, concept parse forest, hypothetical concept sequence, exemplary concept sequence example and edit score are found in accordance with the scoring function S(W,F,C,K,E)=w 1 ×S W +w 2 ×S F +w 3 ×S K +w 4 ×S E . w 1  is the weight of speech score, w 2  is the weight of grammar score, w 3  is the weight of example score, w 4  is the weight of edit score.  
           [0021]    Both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0022]    [0022]FIG. 1 is a flow chart for understanding the utterance of a user;  
         [0023]    [0023]FIG. 2 shows the concept parse forest and the corresponding concept sequence;  
         [0024]    [0024]FIG. 3 shows two possible edit operation sequences for editing the concept sequence example “Query Location Date Topic” into “Topic Location Date Topic”;  
         [0025]    [0025]FIG. 4 shows a block diagram of the method of probabilistic error-tolerant language understanding;  
         [0026]    [0026]FIG. 5 shows a graph of hypothetical word sequences;  
         [0027]    [0027]FIG. 6 shows the static grammar and the dynamic grammar;  
         [0028]    [0028]FIG. 7 shows a concept parse forest set represented by a graph;  
         [0029]    [0029]FIG. 8 shows a graph of exemplary concept sequences;  
         [0030]    [0030]FIG. 9 shows the hypothetical concept sequences according to concept parse forest set; and  
         [0031]    [0031]FIG. 10 shows a semantic frame constructed by an interpreter via comparing the hypothetical concept sequence and the exemplary concept sequence.  
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0032]    To determine whether there is any error for speech recognition, the embodiment designs a language understanding method including a database of concept sequence examples in addition to a grammar for parsing a sentence into concepts. The concept sequence example database is obtained by parsing the text corpus. Each example represents a legitimate concept sequence recognized by the system. System developers can directly add some legitimate concept sequences into the database to replenish the deficiency of the text corpus.  
         [0033]    Thus, the process of understanding the utterance of a user is represented by the probability formula:  
         (       W   ^     ,     F   ^     ,     C   ^     ,     K   ^     ,     E   ^       )     =       argmax     (     W   ,   F   ,   C   ,   K   ,   E     )                       P   (     W   ,   F   ,   C   ,   K   ,     E      U       )                             
 
         [0034]    U is the articulation characteristics of the utterance of a user. W is one hypothetical word sequence output by the speech recognition module. F is one possible concept parse forest of W defined by system grammar. C is the corresponding hypothetical concept sequence of F. K is one exemplary concept sequence. E is one edit operation sequence to change the exemplary concept sequence to the hypothetical concept sequence. (W,F,C,K,E) is a set of the most possible hypothetical word sequence, concept parse forest, hypothetical concept sequence, exemplary concept sequence and edit operation sequence with respective to the utterance of the user.  
         [0035]    Table 1 shows the category of the edit operation of &lt;x, y&gt;. The edit operation sequence is constructed by various numbers of edit operations. The edit operation represented by &lt;x, y&gt;includes “insert”, “delete”, “substitute” and “accept”. For example, FIG. 3 shows that the concept sequence example is edited from “Query Location Date Topic” into “Topic Location Date Topic”. To edit “Query Location Date Topic” into “Topic Location Date Topic”, “&lt;Query, Topic&gt;&lt;Location, Location&gt;&lt;Date, Date&gt;&lt;Topic, Topic&gt;” and “&lt;ε, Topic&gt;&lt;Query, ε&gt;&lt;Location, Location&gt;&lt;Date, Date&gt;&lt;Topic, Topic&gt;” are two of the possible edit operation sequences. εrepresents an empty object.  
                               TABLE 1                                   Condition   Operation   Operation Type                           x = ε, y ≠ ε   Insert y   Insert           x ≠ ε, y = ε   Delete x   Delete           x ≠ ε, y ≠ ε, x ≠ y   Substitute x with y   Substitute           x ≠ ε, x = y   Accept   Accept                      
 
         [0036]    In the probability formula, if K=C, C is the correct concept sequence recognized by the system that can construct a semantic frame. If C, it is determined that C is an incorrect concept sequence resulted from speech recognition errors and K= is the correct concept sequence that the user want to express. In this case, the edit operation in E will be used to infer how to fix the errors in C. In the probability formula, the probability term P(W,F,C,K,E|U) can be further deduced as:  
               P        (     W   ,   F   ,   C   ,   K   ,     E      U       )       =                  P        (     F   ,   C   ,   K   ,     E      W     ,   U     )            P        (     W      U     )                     ≈                  P        (     F   ,   C   ,   K   ,     E      W       )            P        (     W      U     )                     =                    P        (     W   ,   F   ,   C   ,   K   ,   E     )         P        (   W   )              P        (     U      W     )              P        (   W   )         P        (   U   )                       =                    P        (     W   ,   F   ,   C   ,   K   ,   E     )            P        (     U      W     )           P        (   U   )                                     
 
         [0037]    In the above formula, we assume that P(F, C, K, E|W, U)≈P(F, C, K, E|W). Besides, since the probability term P(U) is a constant, it can be ignored without cahnging the ranking order of alternatives. Therefore, only the probability term P(U|W) and P(W,F,C,K,E) need to be calculated.  
         [0038]    The probability formula used for understanding utterance of the user can be edited as:  
         (       W   ^     ,     F   ^     ,     C   ^     ,     K   ^     ,     E   ^       )     =       argmax     (     W   ,   F   ,   C   ,   K   ,   E     )                       P   (     W   ,   F   ,   C   ,   K   ,   E     )          P   (     U      W     )                             
 
         [0039]    P(U|W) is the probability for obtaining the articulation characteristics U from the hypothetical word sequence W. The probability can be estimated using Hidden Markov Model or other methods in speech recognition. Only the probability term P(W,F,C,K,E) need to be calculated in language understanding module.  
         [0040]    Since the parameters of the probability term P(W,F,C,K,E) are enormous and cannot be estimated directly, it is simplified as:  
               P        (     W   ,   F   ,   C   ,   K   ,   E     )       =                  P        (     W   ,     F      C     ,   K   ,   E     )            P        (     C   ,     E      K       )            P        (   K   )                     ≈                  P        (     W   ,     F      C       )            P        (     C   ,     E      K       )            P        (   K   )                     =                  P        (     F      C     )            P        (     E      K     )            P        (   K   )                                     
 
         [0041]    In the above formula, we assume that P(W,F|C,K,E)≈P(W,F|C). In addition, as the terminal of the concept parse forest is the word sequence W, P(W,F|C)=P(F|C). Similarly, as the edit operation sequence includes information of the consequence sequence C, the probability term: P(C, E|K)=P(E|K).  
         [0042]    The probability term P(F|C) can be estimated using SCFG (stochastic context-free grammar) model as:  
         P        (     F      C     )       =       ∏       T   ∈   F     ,       A   →   α     ∈   T                P        (     α      A     )       .                             
 
         [0043]    T is a concept parse tree. A→α is one of the production rules that assemble T. A is the left-hand-side symbol. α is the right-hand-side symbols.  
         [0044]    The probability term P(K) can be estimated by N-gram probability model as:  
         P        (     K   =     k   1   m       )       =         ∑     i   =   1     m          P        (       k   i          k   1     i   -   1         )         ≈       ∑     i   =   1     m          P        (       k   i          k     i   -   N   +   1       i   -   1         )                                 
 
         [0045]    wherein m is the number of concepts in K, k, is the i-th concept, and k 1   m  represents k 1 , . . . , k m .  
         [0046]    The probability term P(E|K) can be simplified as:  
               P        (     E   =         e   1   n        K     =     k   1   m         )       =                  ∏     i   =   1     n          P        (         e   i          e   1     i   -   1         ,     k   1   m       )                     ≈                ∏     P        (       e   i          k   1   m       )                     ≈                ∏     P        (         e   i          k       L        (     e   i     )       -   X   +   1       L        (     e   i     )           ,     k     R        (     e   i     )           R        (     e   i     )       +   Y   -   1         )                                     
 
         [0047]    n is the number of the edit operations in E. e 1  is the i-th edit operation. L(e 1 ) is the position of the concept left adjacent to e 1  in the exemplary concept sequence K. Similarly, R(e 1 ) is the position of concept right adjacent to e, in the exemplary concept sequence K. k L(e     1)−X+1     L(e     1)    denotes the X concepts in the concept sequence example K at the left hand side of e 1 . k R(e     1)     R(e     1)+Y−1    denotes the Y concepts in the concept sequence example K at the right hand side of e 1 .  
         [0048]    In the process of understanding the utterance of the user, the probability formula is edited as:  
         (       W   ^     ,     F   ^     ,     C   ^     ,     K   ^     ,     E   ^       )     =         argmax     (     W   ,   F   ,   C   ,   K   ,   E     )                     log        {       P   (     U      W     )     ×       ∏       T   ∈   F     ,       A   →   α     ∈   T                P        (     α      A     )       ×       ∏     i   =   1     m            P        (       k   i          k     i   -   N   +   1       i   -   1         )       ×       ∏     i   =   1     n          P        (         e   i          k       L        (     e   i     )       -   X   +   1       L        (     e   i     )           ,     k     R        (     e   i     )           R        (     e   i     )       +   Y   -   1         )                   }       =       argmax     (     W   ,   F   ,   C   ,   K   ,   E     )            {       S   W     +     S   F     +     S   K     +     S   E       )                               
 
         [0049]    S W =log P(U|W) is called speech score.  
         S   F     =       ∑       T   ∈   F     ,       A   →   α     ∈   T                log      P          (     α      A     )                               
 
         [0050]    is called grammar score.  
         S   k     =       ∑     i   =   1     m          log                   P        (       k   1          k     i   -   N   +   1       i   -   1         )                                 
 
         [0051]    is called example score.  
         S   E     =       ∑     i   =   1     n          log                   P        (         e   i          k       L        (     e   i     )       -   X   +   1       L        (     e   i     )           ,     k     R        (     e   i     )           R        (     e   i     )       +   Y   -   1         )                                 
 
         [0052]    is called edit score. However, due to the modeling error caused by various assumptions and the estimation error caused by insufficient training data, different kinds of probability parameters have different discrimination powers and reliabilities. To resolve this problem, different weights are added to different kinds of probability parameters. Therefore, during the process of understanding the utterance of a user, the most possible word sequence, concept parse forest, hypothetical concept sequence, exemplary concept sequence and edit operation sequence are found in accordance with the scoring function: S(W,F,C,K,E)=w 1 ×S W +w 2 ×S F +W 3 ×S K +w 4 ×S E . w 1  is the weight of speech score. w 2  is the weight of grammar score. w 3  is the weight of example score. w 4  is the weight of edit score. The above weights are positive.  
         [0053]    The above parameters N, X and Y can be determined by the amount of training data. Typically, for the concept score, N=2 is a good choice. However, the training data is usually not enough to reliably estimate the parameters of the edit score, even using the setting of X= 0 , Y= 0 . In such case, the category of edit operation can be used to replace the edit operation itself, that is, using the following formula to estimate the probability term.  
         P        (     E   =         e   1   n        K     =     k   1   m         )       =       ∏     i   =   1     n          P        (     f        (     e   i     )       )                               
 
         [0054]    where f((e 1 )) denotes the operation category of e 1 . In other words, when the training data is insufficient, the concept score and the edit score are defined as:  
         S   K     =       ∑     i   =   1     m          log                   p        (       k   i          k     i   -   1         )                                 
 
         S   E     =       ∑     i   =   1     n          log                   P        (     f        (     e   i     )       )                                 
 
         [0055]    [0055]FIG. 4 shows a block diagram illustrating the method of probabilistic error-tolerant language understanding. A word sequence set  140  is formed after speech recognizing the utterance of a user. The word sequence set  140  can be expressed as sentence list or word graph. For explanatory convenience, we use a word graph to represent the word sequence set. Each word w in the word graph is attached with a word score by the speech recognizer. FIG. 5 shows the speech scores of various words in the word graph. Therefore, for a word sequence W, the speech score S W  is computed as the sum of the word scores of all the words in W. For example, in FIG. 5, every word in the word sequence “Qi-Wen Hsin-Chu Jin-Tien Zao-Shang Hei-Bu-Hei Xia-Yu” is attached with a word score −1 by the speech recognizer. Then, the speech score of the word sequence is −6.  
         [0056]    In FIG. 4, the parser in block  142  is responsible for parsing the word sequence set  140  into the concept parse forest set  144  according to a context-free grammar, called the concept grammar  150 . In the concept grammar  150 , each non-terminal symbol represents one concept, for example, Query, Location, Date or Topic.  
         [0057]    [0057]FIG. 6 shows the static and dynamic grammars. The concept grammar is divided into the static grammar  160  (denoted as G S ) and the dynamic grammar  162  (denoted as G D ). The static grammar  160  contains some predefined production rules. The dynamic grammar  162  contains the production rules dynamically generated by comparing the word sequence set  140  to the static grammar  160  as follows.  
         G D ={ w →w|wεI,A→w∉G S } 
         [0058]    I is the input word sequence set. A is any non-terminal symbol of G S .  w  is the non-terminal symbol dynamically formed (to represent the concept of the word w). For example, “Xin-Qing” is a dynamically nonterminal and “Xin-Qing→Xin-Qing” is a dynamically generated production rule. The probability P(w| w ) of each rule  w →w in dynamic grammar  162  is set as 1. The dynamic grammar  162  is to make up the insufficiency of the static grammar  160 , to avoid that any word can not be a part of a concept phrase.  
         [0059]    [0059]FIG. 7 shows an example of a concept parse forest set represented by a graph. Each box in FIG. 7 is a concept parse tree and is attached with a score computed as follows.  
             w   1     ×       ∑     w   ∈   T            S   w         +       w   2     ×       ∑       A   →   α     ∈   T            log                   P        (     α      A     )               =         w   1     ×       ∑     w   ∈   T            S   w         +       w   2     ×       ∑       A   →     ∈   T            S     A   →   α                                   
 
         [0060]    Wherein:  
         [0061]    S w  is the word score of a word w belonging to the concept parse tree T and (S A→α =log P(α|A) represents the score of production rule A→α. In FIG. 7, the score inside of the bracket is the score of each concept parse tree under the condition of setting the weight as: w 1 =w 2 =1.  
         [0062]    In FIG. 4, the error-tolerant interpreter  146  compares the exemplary concept sequences  152  to the hypothetical concept sequences included by the concept parse forest set  144 , and then, finds the most probable hypothetical concept sequence, exemplary concept sequence and edit sequence to construct the semantic frame  148  that represents the intention of the user. The exemplary concept sequences are collected from parsing a text corpus. In addition, the exemplary concept sequences can also contain the legitimate concept sequences provided by system developers.  
         [0063]    [0063]FIG. 8 shows a directed acyclic graph, called exemplary concept graph. This graph consists of four exemplary concept sequences, such as “Query Location Date Topic” or “Query Date Location Topic”. In addition to the graph representation form, the concept sequence examples can also be organized as a list or a tree. However, the graph representation form is more compact in storage size and more efficient in comparing sequences.  
         [0064]    [0064]FIG. 9 shows a concept graph, called hypothetical concept graph. This graph is constructed according to the concept parse forest set. Each node in this graph is linked to a concept parse tree in FIG. 7 and is attached with the score of the linked concept parse tree.  
         [0065]    The method of directed network comparison (Kruskal, J. B., and D. Sankoff, “An anthology of algorithms and concepts for sequence comparison” in Time Warps, String Edits, and Macromolecules: The Theory and Practice Sequence Comparison, D. Sankoff and J. B. Kruskal (Eds.), Addison-Wesley Publishing Company, 1983, pp. 265-310) can be used to efficiently compare sequences in the exemplary and hypothetical concept graphs. The selected scoring function is used as the standard for distance measure. The most matched pair of hypothetical concept sequence and exemplary concept sequence is selected out of the graphs. These two sequences and their corresponding edit operation sequence are the most possible hypothetical concept sequence, exemplary concept sequence and edit operation sequence for the user&#39;s utterance.  
         [0066]    [0066]FIG. 10 shows the semantic frame constructed by the interpreter according to the most possible hypothetical concept sequence, exemplary concept sequence and edit operation sequence. For example, assuming that the exemplary concept graph in FIG. 8 is compared to the hypothetical concept graph in FIG. 9, the most possible exemplary concept sequence and edit operation sequence are “Query Location Date Topic” and “&lt;Query, Topic&gt;&lt;Location, Location&gt;&lt;Date, Date&gt;&lt;Topic, Topic&gt;”, respectively, as shown in FIG. 10. The interpreter can thus determines the concept sequence that the user wants to express is “Query Location Date Topic and tries to edit the concept parse forest linked to the most possible hypothetical concept sequence “Topic Location Date Topic”, so as to construct the semantic frame.  
         [0067]    The performance of speech recognition using the probabilistic error-tolerant language understanding method (called ET model hereinafter) is inspected by comparing with the concept-bigram (called CB model hereinafter) applied in normal system. The CB model selects concept sequence according to the following scoring function:  
         S        (     W   ,   F   ,   C     )       ≡         w   1     ×   log        {     P        (     U      W     )       }       +       w   2     ×   log        {       ∏       A   →   α     ∈   F            P        (     α      A     )         }       +       w   3     ×   log        {       ∏     i   =   1     n          P        (       c   i          c     i   -   1         )         }                               
 
         [0068]    wherein c i  is the i-th concept of C. The ET model provided by the invention uses S(W,F,C,K,E)=w 1 ×S W +w 2 ×S F +w 3 ×S K +w 4 ×S E , where  
         S   K     =       ∑     i   =   1     m          log                   p        (       k   i          k     i   -   1         )                                 
 
         [0069]    and  
         S   E     =       ∑     i   =   1     n          log                   P        (     f        (     e   i     )       )                                 
 
         [0070]    as the scoring functions which explores the information provided by the speech recognition, concept grammar and exemplary concept sequences.  
         [0071]    Using a Chinese spoken dialogue system for weather information as a test bed, the above two different language understanding models are embedded into the system. A total of 422 utterances of users requests are used for testing. To clearly recognize the performance of handling error sentence for speech recognition by the invention, whether the error-tolerant model observes the speech recognition error is used as a reference to divide the testing utterances into the well-formed set and the ill-formed set. For each utterance in well-formed set, at least one word sequence in the word graph provided by the speech recognizer can be parsed into a legitimate concept sequence (i.e., a concept sequence exactly matches one of exemplary concept sequences). On the contrary, for each utterance in the ill-formed set, none of the word sequence in the word-graph provided by the speech recognizer can be parsed into a legitimate concept sequence.  
         [0072]    Among the 422 test utterance, there are 288 well-formed set (68% overall), and 134 ill-formed wet (32% overall). For the well-formed testing set, the ET model behaves like the CB model. This is because the ET model determines that no speech recognition error is mixed in the most probable hypothetical concept sequence. Both models achieve 98.8% precision rate and 96.0% recall rate of semantic slots.  
         [0073]    However, for the ill-formed set, ET model and CB model have different performances. Table 2 shows the performances of the CB model and ET model. Based on the 134 utterances in the ill-formed testing set. In ET model, both the precision and recall rates are improved greatly. With the error reduction rate as the reference to measure the improvement of performance, the ET model in the embodiment provides 40.3% and 25.4% of the improvements for precision and recall rates.  
                               TABLE 2                                   Condition   Precision   Recall                           CB Model (Prior Art)   73.0%   60.1%           ET Model (The Invention)   83.9%   70.2%           Improvement   40.3%   25.4%                      
 
         [0074]    Thus, the invention includes at least the advantage of constructing a correct concept sequence database using text corpus. By way of comparison, the error concept sequence is edited. The whole process for language understanding is guided by a probability oriented scoring function. The scoring function integrates the information from speech recognition, concept grammar knowledge and exemplary concept sequence example knowledge to detect whether there are errors for speech recognition, and finds the best editing method when errors are detected.  
         [0075]    Other embodiments of the invention will appear to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. It is intended that the specification and examples to be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.