# Patent

## Title
Speech recognition system, training arrangement and method of calculating iteration values for free parameters of a maximum-entropy speech model

## Abstract

The invention relates to a speech recognition system and a method of calculating iteration values for free parameters λαortho(n) of a maximum-entropy speech model MESM with the aid of the generalized-iterative scaling training algorithm in a computer-supported speech recognition system in accordance with the formula λαortho(n+1)=G(λαortho(n), mαortho, . . . ), where n is an iteration parameter, G a mathematical function, α an attribute in the MESM and mαortho a desired orthogonalized boundary value in the MESM for the attribute α. It is an object of the invention to further develop the system and method so that they make a fast computation of the free parameters λ possible without a change of the original training object. According to the invention this object is achieved in that the desired orthogonalized boundary value mαortho is calculated by a linear combination of the desired boundary value mα with desired boundary values mβ from attributes β that have a larger range than the attribute α. mα and mβ are then desired boundary values of the original training object.

## Background
The invention relates to a method of calculating iteration values for free parameters λαortho(n) of a maximum-entropy speech model MESM in a speech recognition system with the aid of the generalized iterative scaling training algorithm in accordance with the following formula:

λαortho(n+1)=G(λαortho(n), mαortho, . . . )  (1)

where:

    n: is an iteration parameter;
    G: is a mathematical function;
    α: is an attribute in the MESM; and
    mαortho: is a desired orthogonalized boundary value in the MESM for the attribute α.


The invention further relates to a computer-supported speech recognition system known in the state of the art, as well as a known computer-supported training arrangement in which the method described is implemented.
A starting point for the formation of a speech model as it is related in a computer-supported speech recognition system for recognizing entered speech is a predefined training object. The training object maps certain statistical patterns in the language of a future user of the speech recognition system into a system of mathematically formulated boundary conditions, which system generally has the following form: 



  
    
      
        
          
            ∑
            
              (
              
                h
                ,
                w
              
              )
            
          
          ⁢
          
            
              N
              ⁡
              
                (
                h
                )
              
            
            ·
            
              p
              ⁡
              
                (
                
                  w
                  ❘
                  h
                
                )
              
            
            ·
            
              
                f
                α
              
              ⁡
              
                (
                
                  h
                  ,
                  w
                
                )
              
            
          
        
        =
        
          m
          α
        
      
    
    
      
        (
        2
        )
      
    
  




where:

    N(h): refers to the frequency of history h in a training corpus;
    p(w|h): refers to probability p(w|h) with which a predefined word w follows a previous word sequence h (history);
    ƒα(h,w): refers to a binary attribute function for an attribute α; and α
    mα: refers to a desired boundary value in the system of boundary conditions.


The solution of this system of boundary conditions i.e. the training object is formed by the so-termed maximum-entropy speech model MESM which indicates a suitable solution of the system of boundary conditions in the form of a suitable definition of the probability p(w|h), which reads as follows: 



  
    
      
        
          p
          ⁡
          
            (
            
              w
              ❘
              h
            
            )
          
        
        =
        
          
            p
            ⁢
            
              
            
            ⁢
            
              λ
              ⁡
              
                (
                
                  w
                  ❘
                  h
                
                )
              
            
          
          =
          
            
              1
              
                
                  Z
                  λ
                
                ⁡
                
                  (
                  h
                  )
                
              
            
            ·
            
              exp
              (
              
                
                  ∑
                  α
                
                ⁢
                
                  
                    λ
                    α
                  
                  ·
                  
                    
                      f
                      α
                    
                    ⁡
                    
                      (
                      
                        h
                        ,
                        w
                      
                      )
                    
                  
                
              
              )
            
          
        
      
    
    
      
        (
        3
        )
      
    
  




where:

    Zλ(h): refers to a history-dependent standardization factor;
    λα: refers to a free parameter for the attribute α;
    λ: refers to the set of all parameters. For the above parameters hold their above definitions.


The binary attribute function fα(h,w) makes, for example, a binary decision whether predefined word sequences h,w contain predefined words at certain locations. An attribute α may generally refer to a single word, a word sequence, a word class (color or verbs), a sequence of word classes or more complex patterns.
FIG. 4 shows predefined attributes in a speech model by way of example. For example, the unigrams shown each represent a single word, the bigrams each represent a word sequence consisting of two words and the trigram shown represents a word sequence consisting of three words. The bigram “ORA” includes the unigram “A” and, in addition, includes a further word; therefore it is referred to as having a larger range compared to the unigram “A”. Analogously, the trigram “A WHITE HOUSE” has a larger range than the unigram “HOUSE” or than the bigram “WHITE HOUSE”.
The free parameters λ are adapted so that equation 3 represents a solution for the system of boundary conditions according to equation 2. This adaptation is normally made with the aid of known training algorithms. An example for such a training algorithm is the so-termed generalized iterative scaling GIS algorithm as it is described, for example, in J. N. Darroch and D. Ratcliff, “Generalized iterative scaling for log linear models”, Annals Math. Stat., 43(5):1470–1480, 1972.
This GIS algorithm provides an iterative calculation of the free parameters λ. Traditionally, this calculation is made very slowly, however. For expediting this calculation, there is proposed in the state of the art to substitute orthogonalized attribute functions ƒαortho(h,w) for the attribute functions ƒα(h,w) in the system of boundary conditions in accordance with equation (2); see for this purpose R. Rosenfeld “A maximum-entropy approach to adaptive statistical language modeling”; Computer Speech and Language, 10:187–228, 1996. Because of the substitution of the attribute functions on the left in equation 2, however, also the boundary values mα on the right are changed. This changes the original system of boundary conditions i.e. the original training object in the customary sets approaches for estimating the boundary values; for this purpose see Rosenfeld at other locations, page 205, first sentence of the last-but-one paragraph.
In this respect it can be established as a disadvantage of the state of the art that when the calculation of the GIS algorithm is accelerated, the free parameters λ are trained to a changed training object. The parameters λ calculated in this manner are the cause for an inadequate adaptation of the speech model to the original training object when the parameter λ is used in equation 3.
Starting from this state of the art it is an object of the invention to further develop a known computer-supported speech recognition system, a computer-supported training system and a known method of iteratively calculating free parameters λαortho(n) of a maximum-entropy speech model in the speech recognition system, so that they make a fast calculation possible of the free parameters λ without a change of the original training object.
This object is achieved in that with the known above-described method of calculating the free parameters λ according to the GIS algorithm, any desired orthogonalized boundary value mαortho is calculated by linearly combining the associated desired boundary value mα with desired boundary values mβ of attributes β that have a larger range than the attribute α. Here mα and mβ are desired boundary values of the original training object.
The use of the boundary values mαortho calculated in this manner makes it possible in an advantageous manner to make an improved approximation of the free parameters λ and thus an improvement of the speech model with a view to the original training object. This qualitative improvement is possible while a high convergence speed continues to realize for the free parameters λ during the iterative calculation with the aid of the GIS algorithm.
The use of the desired orthogonalized boundary values mαortho calculated according to the invention is recommended for several variants of the GIS training algorithm.
The object of the invention is furthermore achieved by a speech recognition system based on the maximum-entropy speech model MESM and a training system for training the MESM.
By implementing the method according to the invention in the training system, compared to the state of the art the MESM in the speech recognition system is adapted more effectively to the individual language peculiarities of a certain user of the speech recognition system; the quote with which the speech recognition system then correctly recognizes the semantic content in the user's speech is improved considerably.
Otherwise the advantages of this speech recognition system and of the training system correspond to the advantages discussed above for the method.



The following Figures are added to the description of the invention, in which
FIGS. 1a and 1b describe a method according to the invention of calculating a desired orthogonalized boundary value mαortho;
FIGS. 2a and 2b describe a method according to the invention of calculating an orthogonalized attribute function ƒαortho;
FIG. 3 describes a block diagram of a speech recognition system according to the invention;
FIG. 4 describes an attribute tree.



In the following first a detailed description is given of an example of embodiment of the invention while reference is made to FIGS. 1a and 1b. 
FIGS. 1 and 1b illustrate a method according to the invention of calculating an improved desired orthogonalized boundary value mαortho for an attribute α=β0 in a speech model. In a first step of the method all the attributes βi with i=1 . . . g that have a so-termed larger range than the predefined attribute α=β0 i.e. which include this at a predefined position are determined in accordance with this method. Subsequently, in a method step S2 a desired boundary value mβi of the original training object is calculated for all the attributes βi with i=0 . . . g, thus also for the attribute α=β0.
For the calculation of such a desired boundary value mβi, several methods are known in the state of the art.
According to a first method the calculation is made in that first a frequency N(βi) is determined with which the associated binary attribute function fβi yields the value 1 when a training corpus of the speech model is used and that, subsequently, the thus determined frequency value N(βi) is smoothed.
According to a second, alternative method, the calculation is performed by reducing the quantities of attributes in the speech model until the boundary conditions no longer demonstrate conflicts. This sort of reduction in the quantity of attributes must be very extensive in practical situations, since otherwise the generated speech model will no longer represent a solution to the original training object. According to a third method, the calculation is made by using a so-called induced speech model as it is described in J. Peters and D. Klakow, “Compact Maximum Entropy Language Models”, Proc. ASRU, Keystone, Colo., 1999.
In a method step S3 all the attributes βii are subsequently sorted according to their range where an attribute βi that has the largest range is assigned the index i=g. It may then certainly happen that individual classes of ranges thus, for example, the class of bigrams or the class of trigrams are assigned a plurality of attributes βi. In these cases a plurality of attributes βi having different, but successive indices i are assigned to one and the same class of ranges i.e. these attributes then always have the same RW and belong to the same class of ranges.
For the method to be carried out, in which in the successive steps the individual attributes βi are evaluated one after the other, it is important for the attributes to be processed according to decreasing (or constant) range. In the first run of the method a start is therefore made with an attribute βi which is assigned to the highest class of ranges; preferably i is set equal to g (see method step S4 and S5 in FIG. 1a).
In a subsequent method step S6 a check is then made whether larger-range attributes βk occur with i<k≦g for the currently selected attribute βi, which include the attribute βi. With the first run the attribute βi with i=g automatically belongs to the class that has the largest range, as observed above, and therefore the query in the method step S6 is to be answered in the negative for this attribute βi. In this case the method jumps to method step S8 where a parameter X is set to zero. Then a calculation is made of an improved desired orthogonalized boundary value mβiortho for the attribute βi (with a first run with i=g) in accordance with method step S9. As can be seen there, this boundary value for the attribute βi is set equal to the desired boundary value mβi calculated in step S2, if the parameter X=0 (this is the case, for example, during the first run).
The method steps S5 to S11 are then successively repeated for all the attributes βi−1 with i−1=g−1 . . . 0. In the method step S10 the index i is re-initialized, which is necessary, and in method step S11 a query is made whether all the attributes βi with i=0 . . . g have been processed.
For all attributes βi for which there are attributes βk with i<k≦g that have a larger range, the query in method step S6 must be answered with “Yes”. The parameter X is then not set to zero but is instead calculated according to method step S7 by totaling the corresponding improved desired orthogonalized boundary values mβkortho each calculated in previous run-throughs in method step S9 for the respective attributes βk that have a larger range.
Once it has been determined in method step S11 that the desired orthogonalized boundary value mβ0ortho has been calculated in method step S9, this is then output in method step S12 as mαortho. The method according to the invention extensively described just now for the calculation of the improved desired orthogonalized boundary value mαortho may be shortened to the following formula: 



  
    
      
        
          m
          α
          ortho
        
        =
        
          
            m
            ⁢
            
              
            
            ⁢
            α
          
          -
          
            
              ∑
              
                (*
                )
              
            
            ⁢
            
              
                m
                β
                ortho
              
              .
            
          
        
      
    
    
      
        (
        4
        )
      
    
  




The sum (*) includes all attributes β that have a larger range and contain the predefined attribute α. For calculating the boundary value mβortho said formula can be used in an almost recursive manner for each attribute β again and again until the sum term disappears for certain attributes, that is, for those with the largest range, because there are no more attributes that have a larger range for them. The desired orthogonalized boundary values for the attributes βk that have the largest range then correspond to the respective originally desired boundary values mβk.
The implementation of the method according to the invention and as shown in FIGS. 1a and 1b will be further explained hereinafter while use is made of the following training corpus of a speech model used by way of example. The training corpus reads:


















“THAT
WAS
A
RED




OR
A
GREEN HOUSE




OR
A
BLUE HOUSE



THIS
IS
A
WHITE HOUSE AND



THAT
IS
THE
WHITE HOUSE”










The training corpus consists of N=23 individual words. It is assumed that in the speech model the desired unigram, bigram and trigram attributes are predefined according to FIG. 4.
Then, by using the normal attribute function fα for the training corpus it may be established that the unigrams, bigrams and trigrams according to FIG. 4 occur in the training corpus with the following frequencies:


















Unigrams:






A
4



HOUSE
4



IS
2



OR
2



THAT
2



WHITE
2



Bigrams:



A
WHITE
1



OR
A
2



WHITE
HOUSE
2



Trigrams:



A
WHITE
HOUSE
1










In the example shown here the improved desired orthogonalized boundary value mαortho is to be calculated for the attribute α=“HOUSE”. For this purpose first according to method step S1 in FIG. 1a all attributes that have a larger range are to be determined for the attribute α. They are according to FIG. 4 the bigram “WHITE HOUSE” and the trigram “A WHITE HOUSE”. According to method step S2 the normal desired boundary values are to be calculated for these attributes that have a larger range but also for the attribute α, for example, in that the respective frequencies established above are smoothed. This smoothing is effected here, for example, by subtracting the value 0.1. Thus the following normal desired boundary values are the result:

    mα: “HOUSE”=4−0.1=3.9
    mβ1: “WHITE HOUSE”=2−0.1=1.9
    mβ2: “A WHITE HOUSE”=1−0.1=0.9.


The attributes α, β1, β2 are now sorted according to their range and—starting with the widest ranging attribute—the respective improved desired orthogonalized boundary values are calculated according to formula (6) or according to method step S7–S9 in FIGS. 1a and 1b:

mβ2ortho=mβ2=0.9  (5)

mβ1ortho=mβ1−mβ2ortho=1.9−0.9=1  (6)

Finally, the improved desired orthogonalized boundary value mαortho is calculated for the attribute α to:

mαortho=mα−mβ1ortho−mβ2ortho=3.9−1−0.9=2  (7)

The orthogonalized boundary value mαortho calculated according to the invention makes a sufficiently accurate calculation possible of the free parameters λ and thus of the probability according to formula (1) with a view to an original training object while the calculation velocity remains the same when used in the GIS training algorithm.
Hereinafter the use of the boundary value mαortho calculated according to the invention will be represented for three different variants of the GIS training algorithm.
With a first variant of the GIS training algorithm the mathematical function G has the following form according to equation 1 when the orthogonalized boundary value mαortho calculated according to the invention is used: 



  
    
      
        
          
            
              
                λ
                α
                
                  ortho
                  ⁡
                  
                    (
                    
                      n
                      +
                      1
                    
                    )
                  
                
              
              =
              
              ⁢
              
                G
                ⁡
                
                  (
                  
                    
                      λ
                      α
                      
                        ortho
                        ⁡
                        
                          (
                          n
                          )
                        
                      
                    
                    ,
                    
                      m
                      α
                      ortho
                    
                    ,
                    ,
                    ...
                  
                  )
                
              
            
          
        
        
          
            
              =
              
              ⁢
              
                
                  λ
                  α
                  
                    ortho
                    ⁡
                    
                      (
                      n
                      )
                    
                  
                
                +
                
                  
                    t
                    α
                    ortho
                  
                  ·
                
              
            
          
        
        
          
            
              
              ⁢
              
                log
                ⁡
                
                  (
                  
                    
                      
                        [
                        
                          
                            
                              t
                              α
                              ortho
                            
                            ·
                            
                              m
                              α
                              ortho
                            
                          
                          +
                          
                            b
                            α
                          
                        
                        ]
                      
                      
                        [
                        
                          
                            
                              t
                              α
                              ortho
                            
                            ·
                            
                              m
                              α
                              
                                ortho
                                ⁡
                                
                                  (
                                  n
                                  )
                                
                              
                            
                          
                          +
                          
                            b
                            α
                          
                        
                        ]
                      
                    
                    ·
                    
                      
                        1
                        -
                        
                          
                            ∑
                            γ
                          
                          ⁢
                          
                            [
                            
                              
                                
                                  t
                                  γ
                                  ortho
                                
                                ·
                                
                                  m
                                  γ
                                  
                                    ortho
                                    ⁡
                                    
                                      (
                                      n
                                      )
                                    
                                  
                                
                              
                              +
                              
                                b
                                γ
                              
                            
                            ]
                          
                        
                      
                      
                        1
                        -
                        
                          
                            ∑
                            γ
                          
                          ⁢
                          
                            [
                            
                              
                                
                                  t
                                  γ
                                  ortho
                                
                                ·
                                
                                  m
                                  γ
                                  ortho
                                
                              
                              +
                              
                                b
                                γ
                              
                            
                            ]
                          
                        
                      
                    
                  
                  )
                
              
            
          
        
      
    
    
      
        (
        8
        )
      
    
  




where:

    n: refers to an iteration parameter;
    α: refers to a just considered attribute;
    γ: refers to all the attributes in the speech model;
    tαortho, tγortho: refer to the size of the convergence step;
    mαortho, mγortho: desired orthogonalized boundary values in the MESM for the attributes α and γ;
    mαortho(n), mγortho(n): refers to iterative approximate values for the desired boundary values mαortho, mγortho; and
    bα and bγ: refer to constants.


The calculation of the convergence step sizes t and of the iterative approximate values for the desired boundary values m is effected—as will be shown hereinafter—by the use of an orthogonalized attribute function ƒαortho defined according to the invention, which reads as follows: 



  
    
      
        
          f
          α
          ortho
        
        =
        
          
            f
            ⁢
            
              
            
            ⁢
            α
          
          -
          
            
              ∑
              
                (*
                )
              
            
            ⁢
            
              f
              β
              ortho
            
          
        
      
    
    
      
        (
        9
        )
      
    
  




It should be observed at this point that the orthogonalized attribute function ƒαortho calculated according to the invention in accordance with equation 9 corresponds as regards value to the attribute function proposed by Rosenfeld at other locations. However, their calculation according to the invention is effected totally different as can be seen in FIGS. 2a and 2b. The calculation method is effected analogously to the method described in FIGS. 1a and 1b for the calculation of the desired orthogonalized boundary values mαortho where only the symbol for the boundary value m is to be replaced by the symbol for the attribute function f and the parameter X by the function F. To avoid repetitions, reference is made here to the description of FIGS. 1a and 1b for explanations of the method according to FIGS. 2a and 2b. 
With the orthogonalized attribute function ƒαortho or ƒβortho thus calculated according to the invention, the size of the convergence steps tαortho and tγortho is calculated in equation 8 as follows: 



  
    
      
        
          t
          α
          ortho
        
        =
        
          
            t
            γ
            ortho
          
          =
          
            
              
                1
                /
                
                  M
                  ortho
                
              
              ⁢
              
                
              
              ⁢
              with
              ⁢
              
                
              
              ⁢
              
                M
                ortho
              
            
            =
            
              
                max
                
                  (
                  
                    h
                    ,
                    w
                  
                  )
                
              
              ⁢
              
                (
                
                  
                    ∑
                    β
                  
                  ⁢
                  
                    
                      f
                      β
                      ortho
                    
                    ⁡
                    
                      (
                      
                        h
                        ,
                        w
                      
                      )
                    
                  
                
                )
              
            
          
        
      
    
    
      
        (
        10
        )
      
    
  




where Mortho for binary attribute functions ƒβortho represents the maximum number of functions which yield the value 1 for the same argument (h,w).

Furthermore, with the attribute function ƒαortho defined according to the invention, the iterative approximate value mαortho(n) can be calculated for the desired orthogonalized boundary value mαortho when the following equation (2) is used: 



  
    
      
        
          
            m
            α
            
              ortho
              ⁡
              
                (
                n
                )
              
            
          
          =
          
            
              ∑
              
                (
                
                  h
                  ,
                  w
                
                )
              
            
            ⁢
            
              
                N
                ⁡
                
                  (
                  h
                  )
                
              
              ·
              
                
                  p
                  
                    (
                    n
                    )
                  
                
                ⁡
                
                  (
                  
                    w
                    ❘
                    h
                  
                  )
                
              
              ·
              
                
                  f
                  α
                  ortho
                
                ⁡
                
                  (
                  
                    h
                    ,
                    w
                  
                  )
                
              
            
          
        
        ;
      
    
    
      
        (
        11
        )
      
    
  




where:

    N(h): refers to the frequency of the history h in the training corpus; and
    p(n)(w|h): refers to an iteration value for the probability p(w|h) with which a predefined word w follows a previous word sequence h (history);
    Here p(n)(w|h) uses the parameter values λαortho(n).


The use of the improved desired orthogonalized boundary value mαortho calculated according to the invention is furthermore recommended for a second variant of the GIS training algorithm. Here the attributes of the MESM are subdivided into m groups Ai and for each iteration only the parameters λαortho of the attributes α from one of the groups are changed according to the following formula: 



  
    
      
        
          
            
              
                λ
                α
                
                  ortho
                  ⁡
                  
                    (
                    
                      n
                      +
                      1
                    
                    )
                  
                
              
              =
              
              ⁢
              
                G
                ⁡
                
                  (
                  
                    
                      λ
                      α
                      
                        ortho
                        ⁡
                        
                          (
                          n
                          )
                        
                      
                    
                    ,
                    
                      m
                      α
                      ortho
                    
                    ,
                    ...
                  
                  )
                
              
            
          
        
        
          
            
              =
              
              ⁢
              
                
                  λ
                  α
                  
                    ortho
                    ⁡
                    
                      (
                      n
                      )
                    
                  
                
                +
                
                  
                    t
                    α
                    ortho
                  
                  ·
                  
                    log
                    ⁡
                    
                      (
                      
                        
                          
                            m
                            α
                            ortho
                          
                          
                            m
                            α
                            
                              ortho
                              ⁡
                              
                                (
                                n
                                )
                              
                            
                          
                        
                        ·
                        
                          
                            1
                            -
                            
                              
                                ∑
                                
                                  β
                                  ∈
                                  
                                    Ai
                                    ⁡
                                    
                                      (
                                      n
                                      )
                                    
                                  
                                
                              
                              ⁢
                              
                                (
                                
                                  
                                    t
                                    β
                                  
                                  ·
                                  
                                    m
                                    β
                                    
                                      ortho
                                      ⁡
                                      
                                        (
                                        n
                                        )
                                      
                                    
                                  
                                
                                )
                              
                            
                          
                          
                            1
                            -
                            
                              
                                ∑
                                
                                  β
                                  ∈
                                  
                                    Ai
                                    ⁡
                                    
                                      (
                                      n
                                      )
                                    
                                  
                                
                              
                              ⁢
                              
                                (
                                
                                  
                                    t
                                    β
                                  
                                  ·
                                  
                                    m
                                    β
                                    ortho
                                  
                                
                                )
                              
                            
                          
                        
                      
                      )
                    
                  
                
              
            
          
        
      
    
    
      
        (
        12
        )
      
    
  




where:

    n: represents the iteration parameter
    Ai(n): represents an attribute group Ai(n) with 1≦i≦m selected in the nth iteration step;
    α: represents a just considered attribute from the just selected attribute group Ai(n);
    β: represents all attributes from the attribute group Ai(n);
    tαortho, tβortho: represent the size of the convergence step with tαortho=tβortho=1/Mi(n)ortho with 



  
    M
    
      i
      ⁢
      
        (
        n
        )
      
    
    ortho
  
  =
  
    
      max
      
        (
        
          h
          ,
          w
        
        )
      
    
    ⁢
    
      (
      
        
          ∑
          
            β
            ∈
            
              Ai
              ⁢
              
                (
                n
                )
              
            
          
        
        ⁢
        
          
            f
            β
            ortho
          
          ⁡
          
            (
            
              h
              ,
              w
            
            )
          
        
      
      )
    
  




where

    Mi(n)ortho for binary functions ƒβortho represents the maximum number of functions from the attribute group Ai(n) which yield the value 1 for the same argument (h,w);
    mαortho, mβortho: represent the desired orthogonalized boundary values in the MESM for the attributes α and β respectively;
    mαortho(n), mβortho(n): represents iterative approximate values for the desired boundary values mαortho, mβortho.


The group Ai(n) of attributes α whose parameters λαortho are adapted in the current iteration step, then cyclically runs through all the m groups in accordance with i(n)=n(mod m).
The use of the desired orthogonalized boundary value mαortho calculated according to the invention is further recommended for a third variant of the GIS training algorithm which distinguishes itself from the second variant only in that the attribute group Ai(n) to be used for each iteration step is not selected cyclically but according to a predefined criterion Di(n).
FIG. 3 finally shows a speech recognition system 10 of the type according to this invention which is based on the so-termed maximum-entropy speech model. It includes a recognition device 12 which attempts to recognize the semantic content of supplied speech signals. The speech signals are generally supplied to the speech recognition system in the form of output signals from a microphone 20. The recognition device 12 recognizes the semantic content of the speech signals by mapping patterns in the received acoustic signal on two predefined recognition symbols such as specific words, actions or events, using the implemented maximum-entropy speech model MESM. Finally, the recognition device 12 outputs a signal which represents the semantic content recognized in the speech signal and can be used to control all kinds of equipment—for example a word-processing program or telephone.
To make the control of the equipment as error-free as possible in terms of the semantic content of speech information used as a control medium, the speech recognition system 10 must recognize the semantic content of the speech to be evaluated as correctly as possible. To do this, the speech model must be adapted as effectively as possible to the linguistic peculiarities of the speaker, i.e. the user of the speech recognition system. This adaptation is performed by a training system 14 which can be operated either externally or integrated into the speech recognition system 10. To be more accurate, the training system 14 is used to adapt the MESM in the speech recognition system 10 to recurrent statistical patterns in the speech of a particular user.
Both the recognition device 12 and the training system 14 are normally, although not necessarily, in the form of software modules and run on a suitable computer (not shown).

## Claims

1. A method of calculating iteration values for free parameters λαortho(n) of a maximum-entropy speech model MESM in a speech recognition system with the aid of the generalized iterative scaling training algorithm, the method comprising the step of
iteratively determining:


λαortho(n+1)=G(λαortho(n), mαortho, . . . )


 where:
n: is an iteration parameter;
G: is a mathematical function;
α: is an attribute in the MESM; and
mαortho: is a desired orthogonalized boundary value in the MESM for the attribute α,

characterized in that the desired orthogonalized boundary value mαortho is calculated by linearly combining the desired boundary value mα with desired boundary values mβ of attributes β that have a larger range than the attribute α.

2. A method as claimed in claim 1, characterized in that the calculation of the desired orthogonalized boundary value mαortho for the attribute α=β0 comprises the following steps:
a) Selecting all the attributes βi with i=1 . . . g in the speech model that have a larger range RW than the attribute α=β0 and include the latter;
b) Calculating desired boundary values mβi for the attributes βi with i=0 . . . g;
c) Sorting the attributes βi with i=0 . . . g according to their RW;
d) Selecting one of the attributes βi having the largest RW;
e) Checking whether there are other attributes βk which include the attribute βi and have a larger RW than the selected attribute βi;
f1) If so, defining a parameter X as a linear combination of the orthogonalized boundary values mβkortho calculated in step g) during the last run of the steps e) to g) for all the attributes βi that have a larger range and are determined in the most recently run step e);
f2) If not, defining the parameters X to X=0;
g) Calculating the desired orthogonalized boundary value mβkortho for the attribute βi by arithmetically combining the desired boundary value mβi with a parameter X; and
h) Repeating the steps e) to g) for the attribute βi−1 whose RW is smaller than or equal to the RW of the attribute βi until the desired orthogonalized boundary value mβ0ortho=mαortho with i=0 has been calculated in step g).

3. A method as claimed in claim 2, characterized in that the calculation of the parameter X in step f1) is made according to the following formula: 



  X
  =
  
    
      ∑
      k
    
    ⁢
    
      
        m
        
          β
          ⁢
          
            
          
          ⁢
          k
        
        ortho
      
      .

4. A method as claimed in claim 3, characterized in that the calculation of the desired orthogonalized boundary value mβiortho is made in step g) according to the following formula:


mβiortho=mβi−X.

5. A method as claimed in claim 2, characterized in that the calculation of the desired boundary values mβi for the attributes βi with i=0, . . . , g is made in step b) by respectively calculating the frequency N(βi), with which the attribute βi occurs in a training corpus and by subsequently smoothing the calculated frequency value N(βi).

6. A method as claimed in claim 5, characterized in that the calculation of the frequency N(βi) is made by applying a binary attribute function fβi to the training corpus where fβi is defined as: 



  
    
      
        f
        
          β
          ⁢
          
            
          
          ⁢
          i
        
      
      ⁡
      
        (
        
          h
          ,
          w
        
        )
      
    
    ⁢
    
      
        f
        
          β
          ⁢
          
            
          
          ⁢
          i
        
      
      ⁡
      
        (
        
          h
          ,
          w
        
        )
      
    
  
  =
  
    {
    
      
        
          
            1
            ⁢
            
              
            
            ⁢
            if
            ⁢
            
              
            
            ⁢
            
              β
              i
            
            ⁢
            
              
            
            ⁢
            fits
            ⁢
            
              
            
            ⁢
            in
            ⁢
            
              
            
            ⁢
            the
            ⁢
            
              
            
            ⁢
            word
            ⁢
            
              
            
            ⁢
            sequence
            ⁢
            
              
            
            ⁢
            
              (
              
                h
                ,
                w
              
              )
            
          
        
      
      
        
          
            otherwise
            ⁢
            
              
            
            ⁢
            0
          
        
      
    
  




and where ƒβi(h,w) indicates whether the attribute βi correctly describes a pattern predefined by the word sequence (h,w).

7. A method as claimed in claim 1, characterized in that the mathematical function G has as a further variable the magnitude of a convergence step tαortho with:


tαortho=1/Mortho


where
Mortho: represents for binary functions ƒαortho the maximum number of functions which yield the value 1 for the same argument (h,w).

8. A method as claimed in claim 7, characterized in that the attribute function ƒαortho is calculated by linearly combining an attribute function ƒα with orthogonalized attribute functions ƒβortho is calculated from attributes β that have a larger range than the attribute α.

9. A method as claimed in claim 8, characterized in that the calculation of the orthogonalized attribute function ƒαortho for the attribute α=β0 comprises the following steps:
a) Selecting all the attributes βi with i=1 . . . g in the speech model that have a larger range RW than the attribute α=β0 and include the latter;
b) Calculating boundary values fβi for the attributes βi with i=0 . . . g;
c) Sorting the attributes βi with i=0 . . . g according to their RW;
d) Selecting one of the attributes βi having the largest RW;
e) Checking whether there are other attributes βk which include the attribute βi and have a larger RW than the selected attribute βi;
f1) If so, defining a function F as a linear combination of the orthogonalized attribute function ƒβkortho calculated in step g) during the last run of the steps e) to g) for all the attributes βk that have a larger range determined in the most recently run step e);
f2) If not, defining the function F to F=0;
g) Calculating the orthogonalized attribute function ƒβkortho for the attribute βi by arithmetically combining the attribute function fβi with the function F; and
h) Repeating the steps e) to g) for the attribute βi−1 whose range is smaller than or equal to the range of the attribute βi until the orthogonalized attribute function ƒβ0ortho=ƒαortho with i=0 has been calculated in step g).

10. A method as claimed in claim 9, characterized in that the calculation of the function F in step f1) is made according to the following formula: 



  F
  =
  
    
      ∑
      k
    
    ⁢
    
      
    
    ⁢
    
      
        f
        
          β
          ⁢
          
            
          
          ⁢
          k
        
        ortho
      
      .

11. A method as claimed in claim 9, characterized in that the calculation of the orthogonalized attribute function ƒβiortho in step g) is made according to the following formula:


ƒβiortho=ƒβi−F.

12. A method as claimed in claim 1, characterized in that the mathematical function G has the following form: 



  
    
      
        
          λ
          α
          
            ortho
            ⁡
            
              (
              
                n
                +
                1
              
              )
            
          
        
        =
        
          G
          ⁡
          
            (
            
              
                λ
                α
                
                  ortho
                  ⁡
                  
                    (
                    n
                    )
                  
                
              
              ,
              
                m
                α
                ortho
              
              ,
              ...
            
            )
          
        
      
    
  
  
    
      
        =
        
          
            λ
            α
            
              ortho
              ⁡
              
                (
                n
                )
              
            
          
          +
          
            
              t
              α
              ortho
            
            ·
            
              log
              ⁡
              
                (
                
                  
                    
                      [
                      
                        
                          
                            t
                            α
                            ortho
                          
                          ·
                          
                            m
                            α
                            ortho
                          
                        
                        +
                        
                          b
                          α
                        
                      
                      ]
                    
                    
                      [
                      
                        
                          
                            t
                            α
                            ortho
                          
                          ·
                          
                            m
                            α
                            
                              ortho
                              ⁡
                              
                                (
                                n
                                )
                              
                            
                          
                        
                        +
                        
                          b
                          α
                        
                      
                      ]
                    
                  
                  ·
                  
                    
                      1
                      -
                      
                        
                          ∑
                          γ
                        
                        ⁢
                        
                          
                        
                        ⁢
                        
                          [
                          
                            
                              
                                t
                                γ
                                ortho
                              
                              ·
                              
                                m
                                γ
                                
                                  ortho
                                  ⁡
                                  
                                    (
                                    n
                                    )
                                  
                                
                              
                            
                            +
                            
                              b
                              γ
                            
                          
                          ]
                        
                      
                    
                    
                      1
                      -
                      
                        
                          ∑
                          γ
                        
                        ⁢
                        
                          
                        
                        ⁢
                        
                          [
                          
                            
                              
                                t
                                γ
                                ortho
                              
                              ·
                              
                                m
                                γ
                                ortho
                              
                            
                            +
                            
                              b
                              γ
                            
                          
                          ]
                        
                      
                    
                  
                
                )
              
            
          
        
      
    
  




where:
α: refers to a just considered attribute;
γ: refers to all the attributes in the speech model;
tαortho, tγortho: refer to the size of the convergence step with tαortho=tγortho=1/Mortho with 



  
    
      M
      ortho
    
    =
    
      
        max
        
          (
          
            h
            ,
            w
          
          )
        
      
      ⁢
      
        (
        
          
            ∑
            β
          
          ⁢
          
            
          
          ⁢
          
            
              f
              β
              ortho
            
            ⁡
            
              (
              
                h
                ,
                w
              
              )
            
          
        
        )
      
    
  
  ;




 where Mortho for binary functions ƒβortho represents the maximum number of functions which yield the value 1 for the same argument (h,w);
mαortho, mγortho: refers to desired orthogonalized boundary values in the MESM for the attributes α and γ;
mαortho(n), mγortho(n): refers to iterative approximate values for the desired boundary values mαortho, mγortho(n); and
bα and bγ: refer to constants.

13. A method as claimed in claim 1, characterized in that the mathematical function has the following form: 



  
    
      
        
          λ
          α
          
            ortho
            ⁡
            
              (
              
                n
                +
                1
              
              )
            
          
        
        =
        
          G
          ⁡
          
            (
            
              
                λ
                α
                
                  ortho
                  ⁡
                  
                    (
                    n
                    )
                  
                
              
              ,
              
                m
                α
                ortho
              
              ,
              ,
              ...
            
            )
          
        
      
    
  
  
    
      
        =
        
          
            λ
            α
            
              ortho
              ⁡
              
                (
                n
                )
              
            
          
          +
          
            
              t
              α
              ortho
            
            ·
            
              log
              ⁡
              
                (
                
                  
                    
                      m
                      α
                      ortho
                    
                    
                      m
                      α
                      
                        ortho
                        ⁡
                        
                          (
                          n
                          )
                        
                      
                    
                  
                  ·
                  
                    
                      1
                      -
                      
                        
                          ∑
                          
                            β
                            ∈
                            
                              Ai
                              ⁡
                              
                                (
                                n
                                )
                              
                            
                          
                        
                        ⁢
                        
                          
                        
                        ⁢
                        
                          (
                          
                            
                              t
                              β
                            
                            ·
                            
                              m
                              β
                              
                                ortho
                                ⁡
                                
                                  (
                                  n
                                  )
                                
                              
                            
                          
                          )
                        
                      
                    
                    
                      1
                      -
                      
                        
                          ∑
                          
                            β
                            ∈
                            
                              Ai
                              ⁡
                              
                                (
                                n
                                )
                              
                            
                          
                        
                        ⁢
                        
                          
                        
                        ⁢
                        
                          (
                          
                            
                              t
                              β
                            
                            ·
                            
                              m
                              β
                              ortho
                            
                          
                          )
                        
                      
                    
                  
                
                )
              
            
          
        
      
    
  




where:
n: represents the iteration parameter;
Ai(n): represents an attribute group Ai(n) with 1≦i≦m selected in the nth iteration step;
α: represents a just considered attribute from the just selected attribute group Ai(n);
β: represents all the attributes of the attribute group Ai(n);
tαortho, tβortho: represents the size of a convergence step with tαortho=tβortho=1/Mi(n)ortho with 



  
    M
    
      i
      ⁡
      
        (
        n
        )
      
    
    ortho
  
  =
  
    
      max
      
        (
        
          h
          ,
          w
        
        )
      
    
    ⁢
    
      (
      
        
          ∑
          
            β
            ∈
            
              Ai
              ⁡
              
                (
                n
                )
              
            
          
        
        ⁢
        
          
        
        ⁢
        
          
            f
            β
            ortho
          
          ⁡
          
            (
            
              h
              ,
              w
            
            )
          
        
      
      )
    
  




 where Mi(n)ortho represents for binary functions ƒβortho the maximum number of functions from the attribute group Ai(n), which yield the value 1 for the same argument (h,w);
mαortho, mβortho: represent desired orthogonalized boundary values in the MESM for the attributes α and β respectively;
mαortho(n), mβortho(n): represent iterative approximate values for the desired boundary values mαortho, mβortho;

where the selection of the group=Ai(n) of attributes α, whose associated parameters λαortho are adapted to a current iteration step is made either cyclically or according to a predefined criterion.

14. A speech recognition system comprising: a recognition device for recognizing the semantic content of an acoustic signal captured and rendered available by a microphone, more particularly a speech signal, by mapping parts of this signal onto predefined recognition symbols as they are offered by the implemented maximum-entropy speech model MESM, and for generating output signals which represent the recognized semantic content; and a training system for adapting the MESM to recurrent statistical patterns in the speech of a certain user of the speech recognition system; characterized in that the training system calculates free parameters λ in the MESM in accordance with the method as claimed in claim 1.

15. A training system for adapting the maximum-entropy speech model MESM in a speech recognition system to recurrent statistical patterns in the speech of a certain user of this speech recognition system, characterized in that the training system calculates free parameters λ in the MESM in accordance with the method as claimed in claim 1.