Training method and apparatus for speech recognition

Abstract: A new training method and apparatus are described for pattern-based speech recognition, e . g ., a hidden Markov model (HMM) based speech recognizer using Viterbi scoring. The principle of minimum recognition error rate is applied by the present invention, in which segmentation and discriminative training are jointly optimized. Various issues related to the special structure of HMMs are presented. Parameter update expressions for HMMs are provided.

Description: Field of the Invention The present invention relates to the field of speech recognition generally, and more particularly to the field of speech recognizer training. Background of the Invention Speech recognition is a process by which an unknown speech utterance (usually in the form of a digital PCM signal) is identified. Generally, speech recognition is performed by comparing the features of an unknown utterance to the features of known words or phrases. Features of known words or phrases are determined with a process known as training . Through training, one or more samples of known words or phrases ( training speech ) are examined and their features (or characteristics) recorded as reference patterns in a database of a speech recognizer see, for example, document EP-A-0 128 288. Typically, each reference pattern represents a single known word. To recognize an unknown utterance, a speech recognizer extracts features from the utterance to characterize it. The features of the unknown utterance are referred to as a test pattern . The recognizer then compares combinations of one or more reference patterns in the database to the test pattern of the unknown utterance. A scoring technique is used to provide a relative measure of how well each combination of reference patterns matches the test pattern. The unknown utterance is recognized as the words associated with the combination of one or more reference patterns which most closely matches the unknown utterance. There are many types of speech recognizers, e.g., template -based recognizers and hidden Markov model (HMM) recognizers. Template-based recognizers are trained using first-order statistics based on known word samples ( e . g ., spectral means of such samples) to build reference patterns. Typically, scoring is accomplished with a time registration technique, such as dynamic time warping (DTW) . DTW provides an optimal time alignment between reference and test patterns by locally shrinking or expanding the time axis of one pattern until that pattern optimally matches the other. DTW scoring reflects an overall distance between two optimally aligned reference and test patterns. The reference pattern having the lowest score ( i . e , the shortest distance between itself and the test pattern) identifies the test pattern. HMM recognizers are trained using both first and second order statistics ( i.e., spectral means and variances) of known word samples. Each reference pattern of an HMM recognizer is an N-state statistical model (an HMM) which reflects these statistics. Each state of an HMM corresponds in some sense to the statistics associated with the temporal events of samples of a known word. An HMM is characterized by a state transition matrix, A (which provides a statistical description of how new states may be reached from old states), and an observation probability matrix, B (which provides a description of which spectral features are likely to be observed in a given state). Scoring of a test pattern reflects the probability of the occurrence of the sequence of features of the test pattern given a particular model. Scoring across all models may be provided by efficient dynamic programming techniques, such as Viterbi scoring. The HMM which indicates the highest probability of the sequence of features in the test pattern occurring identifies the test pattern. The performance of speech recognizers generally is closely associated with the effectiveness of the techniques used to train them. Conventional training of, for example, HMM speech recognizers is based on the principle of statistical data fitting which concerns increasing the likelihood that a particular HMM will match the statistics of known word samples. The success of conventional HMM training is conditioned on the availability of large amounts of training speech samples and proper choice of HMMs. Often, the amount of available training speech is limited, and the assumptions made by chosen HMMs on the speech production process are often inaccurate. As a consequence, likelihood-based training of HMMs may not be very effective. The deficiency of conventional training methods is due to the lack of a direct relation between training and recognition error rate. To illustrate this deficiency, an HMM-based speech recognizer will now be considered in greater detail. In conventional HMM based speech recognizers, a continuous speech waveform is blocked into frames, and a discrete sequence of feature vectors, X = {x 0 ,x 1 ,...x T(x) }, is extracted, where T ( x ) corresponds to the total number of frames in the speech signal (the input speech utterance may be identified as its feature vector sequence X = {x 0 ,x 1 ,..., x T(x) } without confusion). In the framework of the HMM, the input speech feature vector sequence X is modeled as a noisy observation of the outcomes from a certain discrete time Markov chain from time t = 1,..., T ( x ). Every possible state transition sequence during the time t = 1,..., T ( x ) constitutes a path through the trellis determined by this Markov chain. The observation probability density function of observing vector x in the j -th state of i -th word HMM is which is a mixture of Gaussian distributions, where c / i j,k is the mixture weights and satisfies The optimal path under Viterbi scoring is the one that attains the highest log-likelihood score. If Θ i denotes the optimal path of the input utterance X in i -th word HMM λ i , then the log-likelihood score of the input utterance X along its optimal path in i-th model λ i , g i ( X ,λ i ), can be written as where  i / t is the corresponding state sequence along the optimal path Θ i , x t is the corresponding observation vector at time t , T ( X ) is the number of frames in the input utterance X , and is the state transition probability from state  i / t -1 to state  i / t . In the recognition part of an HMM-based isolated word recognizer using Viterbi scoring, the input utterance is first processed, and the log-likelihood score of the input utterance X at each word model along its optimal path is evaluated. The recognizer classifies the input utterance to the i -th word W i if and only if i = arg max j g j ( X,λ j ). If the recognition error count function for i -th word is defined as: then the goal of training an HMM is to reduce the expected error rate: where the expectation is with respect to X . In practice, the training result is often measured by an empirical error rate for a given set of training speech samples {X n , n =1,2,..., N } However, direct minimization of the empirical error rate function (7) has several serious deficiencies. It is numerically difficult to optimize, because classification error count function is not a continuous function. The empirical error rate function does not distinguish near miss and barely correct cases; this may impair recognizer performance on an independent test data set. Viterbi scoring also adds a complexity here, since the form and the value of the empirical error rate function vary with segmentation determined by the HMM parameters. A set of numerically optimal HMM parameters based on the current segmentation does not maintain its optimality under a different segmentation, unless a good convergence result can be proved. It has been a problem of standing interest to find a training method that directly minimizes the recognition error rate and is consistent with HMM framework using Viterbi scoring. Summary of the Invention The present invention provides a training method and apparatus for speech recognition which minimizes recognition error rate. The invention is applicable to a wide variety of speech recognition systems, such as, e.g., template-and HMM-based speech recognizers. An illustrative embodiment of the invention for an HMM speech recognizer minimizes recognition error rate through the use of a misrecognition measure embedded in a smooth loss function . The misrecognition measure of the embodiment indicates the likelihood that a recognizer having given training will misrecognize an utterance ( i . e ., commit an error based on its present state of training). In this embodiment, the misrecognition measure reflects the difference between ( i ) a recognizer score for a known training utterance based on the correct reference pattern for that utterance, and ( ii ) an average of the sum of one or more scores for the training utterance based upon one or more other recognizer reference patterns. The loss function establishes a relationship between expected recognizer error and competing reference pattern scoring differential. Thus, the minimization of expected error may be directly related to the maximization of scoring differential between a correct reference pattern and other competing reference patterns for a given training utterance. The loss function of the embodiment provides a good approximation of the recognition error count -- a function which is inherently not continuous --so that a sequential training method for HMMs using Viterbi decoding can lead to enhanced recognition performance. Furthermore, it characterizes the decision rule in a smooth functional form, allowing the use of numerical search techniques to achieve an optimal separation of likelihood scores, effectively distinguishing "near miss" and "barely correct" cases. The illustrative embodiment of the invention may be initialized from a pattern database of a given recognizer, regardless of whether the recognizer has been directly generated from a training source with (non-optimal) linear segmentation or trained according to other criteria. The embodiment provides adaptive adjustments (or updates) to HMM parameters to achieve an enhanced configuration with maximum possible separation between competing words. It can be used either off-line line or on-line, and can learn new features from a new training source to adapt models to the target application. The invention is as set out in the independent claims. Brief Description of the Drawings Figure 1 presents an illustrative HMM-based speech recognition system according to the present invention. Figure 2 presents an illustrative embodiment of an enhanced trainer appearing in Figure 1. Figure 3 presents an embodiment of an HMM update processor appearing in Figure 2. Detailed Description The illustrative embodiment of the present invention is a speech recognizer employing an enhanced trainer. The embodiment operates on real physical speech signals ( e . g ., pulse code modulated (PCM) speech) in both training and recognition modes, and provides identified speech, also in digital form, as output. For purposes of clarity of explanation, the illustrative embodiment of the present invention is presented as comprising individual functional blocks (including functional blocks labeled as "processors"). The functions these blocks represent may be provided through the use of either shared or dedicated hardware, including, but not limited to, hardware capable of executing software. (Use of the term "processor" should not be construed to refer exclusively to hardware capable of executing software.) It is preferred that the functional blocks of the illustrative embodiment comprise digital signal processor (DSP) hardware, such as the AT&T DSP16 or DSP32C, and software performing the operations described below. However, very large scale integration (VLSI) hardware embodiments, as well as hybrid DSP/VLSI embodiments, among others, may also be provided. An Illustrative Embodiment Figure 1 presents an illustrative HMM speech recognition system 1 according to the present invention. The system includes a training speech database 10, a feature extractor 20, mode switches 15,30, a scoring comparator 40, score processor 50, conventional trainer 60, HMM parameter (pattern) database 70 and an enhanced trainer 80. The training speech database 10 of system 1 comprises samples of known speech signals in digital form. These samples are used for the purposes of the conventional and enhanced trainers 60,80, respectively. Samples of known speech from database 10 are provided to other components of the system 1 via mode switch 15. Mode switch 15 reflects two operational modes of system 1: a training ( T ) mode and a recognition ( R ) mode. When switch 15 is in the T position (or state), training speech from database 10 may be provided to the balance of the system 1 such that training may be performed by training section 90. When switch 15 is in the R position, unknown speech utterances (signals) in digital form are provided to the balance system 1 for recognition by recognition section 95. The feature extractor 20 of system 1 is coupled to mode switch 15. Depending on the state of mode switch 15, extractor 20 will receive either training or unknown speech signals. Based on these received speech signals, extractor 20 produces one or more feature vectors , X , characterizing the received speech. Feature extractor 20 may be any of the conventional feature extractors, such as, e . g ., a filter bank feature extractor, a linear predictive coding ( LPC ) feature extractor, or a discrete Fourier transform ( DFT ) feature extractor. Feature vectors output from extractor 20 are provided to a second mode switch 30. This mode switch 30 operates in tandem with mode switch 15. That is, both switches are set to the same state - - T or R -- at the same time based upon a mode signal provided to both switches 15,30. Mode switch 30 directs the output of the extractor 20 to either the recognition or training section of system 1. The recognition section 95 of system 1 comprises a scoring comparator 40 and a score processor 50. The scoring comparator 40 relates trained patterns (in this case, HMM models) to unknown speech utterance signals, and determines a score indicating the closeness of the comparison. Conventional HMM scoring comparators employing log-likelihood Viterbi scoring may be used for comparator 40. See , U.S. Patent No. 4,783,804, entitled "Hidden Markov Model Speech Recognition Arrangement", which is commonly assigned with the present application. Scores produced by comparator 40 are provided to the score processor 50. Score processor 50 determines which of the provided scores is greatest and identifies the HMM which is responsible for that score. The unknown speech signal is then recognized by processor 50 as the known speech associated with the identified HMM. Processor 50 obtains representations of identified speech for output from HMM parameter database 70 ( see below ). The training section 90 of system 1 comprises a conventional HMM trainer 60, an HMM parameter database 70 and enhanced trainer 80. HMM trainer 60, such as, e . g ., that described by U.S. Patent No. 4,783,804, provides conventional training of HMMs. The output of trainer 60 comprises a set of one or more conventionally trained HMMs, Λ I , as well as the feature vectors, X , of training speech on which the set of HMMs are based. For purposes of the illustrative embodiment of the present invention, the degree of training provided by conventional trainer 60 is unimportant. In fact, conventional trainer 60 need do no more than provide an initial set of HMM parameters, Λ I , which may be retrieved from read-only memory. The output of trainer 60 is recorded in HMM database 70 for use by enhanced trainer 80 as initialization parameters. Enhanced trainer 80 receives Λ I and X and returns to database 70 a set of enhanced or updated HMMs, Λ U . Ultimately, enhanced models, Λ U , are provided to scoring comparator 40 during recognition mode. The scoring comparator's 40 use of enhanced HMMs, Λ U , rather than conventionally trained HMMs, Λ I , provides for a reduced speech recognition error rate. Figure 2 presents an illustrative embodiment of the enhanced trainer 80 appearing in Figure 1. Enhanced trainer 80 operates on a schedule of training speech provided by HMM parameter database 70. This schedule defines the number of individual training speech samples, N , used by the trainer 80 in providing an updated Λ I : Λ U . As a result of processing N samples of training speech, enhanced trainer 80 returns the updated set of HMM parameters, Λ U , to HMM parameter database 70. Λ U may then be used subsequently during recognition mode as a set of recognizer 1 reference patterns, or as a new Λ I to be updated further as a result of processing the same or additional training speech. For purposes of explanation clarity and computational simplicity, the HMM update processor is illustratively described as processing one training speech sample at a time ( i . e ., N=1). With a slight modification to be described below ( see Discussion section), the embodiment can update Λ I based on several training speech samples ( i . e ., N > 1). Referring to Figure 2, enhanced trainer 80 comprises a misrecognition measure processor 82, a word loss function processor 84, a loss function sum 86, and an HMM update processor 88. Misrecognition Measure Processor Misrecognition measure processor 82 receives HMM parameters, Λ I , and a training speech sample, X , from database 70. Based on the sample, X , and Λ I , λ i ε Λ I , processor 82 determines a misrecognition measure, d i ( X ,Λ): where g j ( X ,λ j ) is the log-likelihood recognizer score of the input utterance in the j -th word model, η is a positive number illustratively set to 2 and W is the total number of words. As η approaches infinity, the misrecognition measure: d i ( X ,Λ)=- g i ( X ,λ i )+max j ≠ i g ( X ,λ j ) in the limit, and only the correct and most confusible words are considered. The separation between a correct word and other competing words is measured by the misrecognition measure. Misrecognition measure d i ( X ,Λ)>>0 indicates a misrecognition has been observed, which means that g i ( X ,λ i ) is significantly smaller than max j ≠ i g ( X ,λ j ). Moreover, the sign and absolute value of the misrecognition measure, d i ( X ,Λ), imply the near miss and barely correct cases. Misrecognition measure processor 82 determines the value of a scalar, d i , for use by the subsequent processors shown in Figure 2. This is done by evaluating (8) given X and Λ I . However, the functional relationship of the misrecognition measure (8) also provides the basis of the across-word adjustment training of the parameters of Λ I by taking into account competing words (when embedded in the loss function (10) described below ; see HMM Update Processor section, below ). The scalar d i ( X ,Λ) is provided as an output of the misrecognition measure processor 82 for input to the word-loss function processor 84. Word-Loss Function Processor Word-loss function processor 84 evaluates a smooth loss function, l i , based on the scalar value d i ( X ,Λ): l i ( d i ( X , Λ)) = 1 1+ e -γ d i ( X , Λ) , where γ is illustratively set to 1. Processor 84 provides scalar l i as output to training population loss function processor 86. Parameters γ and η, (discussed above ) help provide a smoothed approximation to the classification error count function. The gradient of the loss function (10) is used by the HMM update processor 88 to update the HMM parameters, Λ I . Therefore, minimization of the expected loss of this specially designed loss function is directly linked to the minimization of the error probability. Loss Function Sum The loss function sum processor 86 provides a sum, L , of all values of l i determined to the present time for a given pass (or round) through the speech samples of database 70 ( i . e ., for all l i based on all X in the database 70 used to update Λ so far): Values for both l i and L are provided by processor 86 to the HMM update processor 88. Value L based on a complete round through the database 70 is used by HMM update processor 88 as described below as part of a threshold determination. HMM Update Processor Prior to presenting a discussion of HMM parameter updating, some background to the operation of the HMM update processor 88 will be presented. As mentioned above, the goal of parameter optimization in speech recognition is to minimize the expected error rate. If error rate is viewed as one form of loss, the general problem of minimizing expected loss can be written as follows: l (Λ) = E ( l ( x , Λ)) where W is the number of different words and W k is a word to be recognized. HMM model parameters Λ may be adjusted recursively: Λ n +1 =Λ n -ε n U n ▿ l ( X n ,Λ n ), where U n is a positive definite matrix ( see (18) and associated text, below ), ε n is a sequence of positive numbers and ▿ l ( X n ,Λ n ) is the gradient vector of the loss function l ( X ,Λ) ( see (8) and (10)) at the n -th training sample X n with the parameter Λ n . The recursion represented by (14) will converge to a stationary point of the expected loss, provided that and When the stationary point of the expected loss is not dense and the step size is sufficiently small, the stationary point to which convergence occurs will be a local minimum point of the expected loss. The sequence ε n may be chosen illustratively to be (1.0-0.2R), where R is an integer equalling the number of the current training round beginning with R=0, and a round represents training based on all samples of training speech in database 70. In the illustrative embodiment, the maximum number of training rounds is fifty. The illustrative embodiment of the present invention makes no assumptions regarding the probability distributions related to the expected loss. Therefore, error introduced by inaccurate distribution estimates is eliminate Moreover, the embodiment adaptively adjusts the parameters according to the value of some observable features, such as log-likelihood score. Adaptation based on the function of the log-likelihood score is advantageous for the HMM-based recognizer using Viterbi scoring, because the exact segmentation and the log-likelihood score of the input utterance on the optimal path can be calculated precisely. This property is especially useful to HMMs and speech signal processing, because speech signals have a wide range of variations, including difference in articulation, frictive sound, and even noise introduced from the recording media. In the illustrative embodiment of Figure 2, the HMM parameters are adaptively adjusted according to (14) by HMM update processor 88. Due to the structure of HMMs, their parameters must satisfy certain constraints. HMM update processor 88 employs transformed HMM parameters as part of the parameter update process to satisfy all such constraints. The following transformations are used by processor 88: (1) Logarithm of the variance σ 2 i,j,k,d = log σ 2 i,j,k,d where σ / 2 i,j,k,d is the variance of the i-th word, j-th state, k-th mixture component and d-th dimension of a feature vector. (2) Transformed logarithm of the mixture weights The original mixture weights, c i , j , k , are related to the transformed mixture weights c i , j , k as follows: where L is the total number of the mixture weights in the j-th state in the i-th word model. (3) Transformed logarithm of the transition probability The original transition probabilities, a i , j , are related to the transformed transition probabilities as follows: where M is total number of states in i-th word model. A significant aspect of the illustrative embodiment concerns the handling of small variance. In some corrective training algorithms proposed in the past, variance adjustment is avoided, because if handled incorrectly, it can have an adverse effect. Variances in HMMs can differ by as much as 10 4 to 10 6 times. These variances occur in the exponent part of the observation probability density function and have a dominant effect on the likelihood score of HMMs. In the illustrative embodiment, this leads to a different sensitivity to HMM parameter adjustments, especially to the adjustment of mean parameters in the observation probability density function of HMMs. In order to compensate for this vast difference in sensitivity, the embodiment employs a positive definite matrix U n . The positive definite matrix U n is a diagonal matrix: diag (σ 2 1 ( n ), ..., σ 2 D ( n )), for each state, where σ 2 ( n ) is the variance of HMM Λ I at time n. Regarding the update expressions themselves, each includes a term ▿ l as described in (14) above. In general, ▿ l takes the form ∂ l / ∂ b × ∂ b / ∂Λ. The term ∂ l / ∂ b = l i (1- l i ) is common among the updates and is presented as a partial derivative. The term ∂ b / ∂Λ is presented specifically for each model parameter being updated. Figure 3 presents an illustrative block diagram of the HMM update processor 88. As shown in the Figure, the HMM update processor 88 updates parameters µ, σ 2 , c , and a , based on Λ I , X and l i , and returns an updated Λ U to HMM parameter data base 70. Both Λ I and Λ U comprise parameters µ, σ 2 , c and a , with Λ I and Λ U representing unupdated and updated quantities respectively. The parameter updates provided by the HMM update processor 88 are: (1) Mean update where x nn ( d ) is the d-th dimension component of the feature vector x nn ,  j corresponds to the time frame that the optimal path first enters the state j,  j +1 corresponds to the time frame that the optimal path enters the state j+1, l (X,Λ) is the loss function constructed according to (10), ε n is the step size and where D is the dimension of the feature vector. The mean update is provided by block 88-1 of Figure 3. (2) Variance update Updating of σ 2 = log σ 2 is performed according to the following formula: where γ i , j , k ( x nn ) is defined as in (20). Therefore, the variance at time n+1 is given by σ 2 i,j,k,d (n+1)=e σ 2 i,j,k,d (n+1) . Variance is clipped below at 10 -6 and it satisfies the constraint of σ / 2 i,j,k,d (n)>10 -6 ..The variance update is provided by block 88-2 of Figure 3. (3) Mixture weights update The parametrized mixture weights are adjusted according to Therefore, the mixture weights at time n+1 is given by Thus, the adjusted mixture weights meet the constraints of Σ k c i , j , k ( n )= 1 and c i , j , k ( n )>0 during training process. The mixture weights update is provided by block 88-3 of Figure 3. (4) State transition probability update: In a left-to-right HMM, the parametrized transition probability of the l -th word model is adjusted by: where g l is the likelihood score of X in the l -th word model, i is not the end state and the total number of self-transition inside state i is denoted by N l i,i = {# of }t |( t -1 ,  t )=( i,i ) in l-th word model λ l } Consequently, the transition probability at time (n+1) is given by which also satisfies the constraints of Σ j a l / i,j (n) = 1, a l / i,i >0 and a l / i,i +1>0. The state transition probability update is provided by block 88-5 of Figure 3. Update expressions (21-24) computed by HMM update processor 88 relate to an updated observation probability density function of the i-th word, in the j-th state according to: where c i , j , k is the mixture weights and N ( x ,µ i , j , k , V i , j , k ) is a D-dimensional normal Gaussian distribution for the i-th word, j-th state and k-th mixture with a diagonal covariance matrix V i , j , k . Values for µ( n + 1), σ 2 ( n + 1), and c ( n + 1) output from blocks 88-1 through 88-3 are returned to database 70, along with values for state transition probabilities a ( n + 1) provided by block 88-5. As shown in Figure 3, Λ U comprises updated values for µ, σ 2 , c and a . Expressions for HMM parameter updating provided above concern the use of a single speech training sample from database 70 to enchance HMM parameters. Enhanced trainer 80 may iterate a plurality of times, however, to improve the HMM parameters. For example, the enhanced trainer 80 may operate on all training samples in database 70. However, if desired, trainer 80 may operate on several passes or rounds through the complete database 70. Trainer 80 may be made to stop processing samples in any of several ways. For example, the trainer 80 may stop when it has made a fixed number of rounds through the database 70 of samples. It is preferred, however, that trainer 80 maintain a record of the incremental improvement in loss due to processing all speech training samples of the current round. The illustrative embodiment of the present invention tests for incremental improvement in loss by forming a difference, Δ L , between values of L as determined by processor 86 in the current and previous rounds. When Δ L is less than or equal to a preset threshold (illustratively, 0.005), processing by the enhanced trainer 80 may cease ( see Figure 3, 88-6 and STOP signal). Discussion As can be seen from Figure 1, only a minimal amount of alteration to a conventional HMM-based recognizer is required to implement an embodiment of the present invention. While the illustrative embodiment of the present invention specifically concerns an HMM recognizer, the present invention is applicable to other recognizers as well, such as, e . g ., a template-based recognizer employing dynamic time warping as the method of scoring. In order to adapt the present invention to other types of recognizers, the method of scoring, represented as function g in (8), must be changed to reflect the recognizer type. This change would also be reflected in the HMM update process in terms of ▿ l . In the embodiment described above, each sample of training speech is used sequentially. The HMM update processor 88 takes the information provided by the recognizer on the current sample and updates HMM parameters according to the updating formulae provided above. The computational complexity of processor 88 depends mainly on the form of the misrecognition measure which determines how many competing candidate models will be adjusted for each input utterance. In the illustrative embodiment, all competing word HMMs can be adjusted. The advantage of this approach is to make an efficient use of the available training speech. In conventional training methods, each word HMM model is trained by the utterances of that particular word only. The inter-relation between the correct model and the other competing models is not explored. This can be a major factor that impairs the performance of the recognizer, especially when trying to discriminate between words from confusing classes. In some applications, usually there are only a few competing candidates with a score which is close to the correct one. The misrecognition measure (8) can be constructed to include only a selected number of competing candidates. Step size ε n generally depends on the given HMMs and the parameters of the loss function. However, the expected loss and the error rate on the training samples are often good indicators of the proper step size. As described above, each iteration of the enhanced trainer 80 operates on a single speech training sample ( i . e ., N=1). However, it is possible for the trainer to provide an updated set of HMM parameters, Λ U , based on a plurality of samples. To do this, the misrecognition measure processor 82 operates on a vector of speech samples to yield a vector of values for d , where each value corresponds to a given sample. Word loss function processor 84 receives the vector of d values and yields a vector of l values, each based on a corresponding value of d . Loss function sum 86 operates to determine L as for purposes of the above described threshold calculation, where N is the number of samples of speech currently being processed and l n represents the elements of the vector of 1 values provided by processor 84. HMM update processor 88 updates parameters as described above, where each update λ( n ) to λ( n + 1) is provided by a single speech sample (of the N samples). However, all N samples are used in succession such that λ( n + 1) resulting from processing one sample serves as λ( n ) for processing a subsequent sample. Note that in updating Λ I based on N samples, the value of Λ I on the right side of (19, 21, 23 and 25) remains constant. Only after all N samples have been processed is Λ I updated to the database as Λ U . Note that the loss function presented in (10) is but one type of function applicable to the present invention. Other types of functions, such as that based on the hyperbolic tangent, are also applicable, i . e ., l i ( d i ( X ,Λ))=tanh(γ d i ( X ,Λ)) . The iterative process described generally by (14), and specifically by (19, 21, 23, and 25), provides for the identification of a local minimum of the loss function. However, conventional techniques for finding the global minimum of the loss function, such as simulated annealing , may be applied. It should be understood that the parameter update process described by (14) can be made to operate on unknown data in an on-line, bootstrap, adaptive manner. Suppose at time n , the recognizer parameter Λ n is used to identify an unknown utterance X n and the decision based on Λ n is to identify X n as word W k . The decision is then fed back to the enhanced trainer 80 as a training sample so that the update process (14) can produce a new recognizer parameter Λ n+1 for later use. The difference between the normal (known data) and the bootstrap (unknown data) mode is in the way the word label is provided. In the normal case, word labels are known a priori in conventional fashion. In the bootstrap case, the word label is produced by the recognizer itself. Moreover, it should be understood that the advantages provided by the present invention may be extended to the training of models for phrases of one or more words. An embodiment for multiple word training may be provided by defining an HMM for each such phrase, rather than for each word, and training on sample phrases. In light of the above, it will be apparent to one of ordinary skill in the art that the present invention is applicable to both speaker-dependent and speaker-independent speech recognition.

Claims: A method of making a speech recognizer pattern database based on one or more known speech signals and a set of current recognizer reference patterns (Λ I ), the method including receiving a known speech signal (X), generating a first recognizer scoring signal (g i ) based on the known speech signal and a current reference pattern for that signal (λ i ); CHARACTERISED BY: generating one or more other recognizer scoring signals (g j ), each such scoring signal based on the known speech signal and another current reference pattern (λ j ); generating a misrecognition signal (d i ) based on the first and other recognizer scoring signals; based on the misrecognition signal (d i ) and the known speech signal, modifying one or more of the current reference patterns including at least one said other current reference pattern to decrease the likelihood of misrecognizing an unknown speech signal; and storing one or more modified reference patterns in memory (70). The method of claim 1 wherein the step of generating a misrecognition signal comprises the step of forming a difference between: a. the first recognizer scoring signal; and b. an average of the one or more other recognizer scoring signals. The method of claim 1 wherein the first recognizer scoring signal reflects how well the known speech signal matches the current reference pattern for that signal. The method of claim 1 wherein the one or more other scoring signals reflect how well the known speech signal matches one or more other current reference patterns. The method of claim 1 wherein the step of modifying one or more of the current speech reference patterns comprises the steps of: a. determining a gradient of a function relating i. recognizer scoring of known speech based on a current reference pattern for that speech to ii. recognizer scoring of known speech based on one or more other current reference patterns; and b. adjusting one or more parameters of the current speech reference patterns based on the gradient. The method of claim 5 wherein the step of adjusting one or more parameters is further based on a matrix of current reference pattern parameters. The method of claim 6 wherein the matrix of current reference pattern parameters comprises variances of the patterns. The method of claim 5 wherein the step of adjusting one or more parameters comprises the step of adjusting transformations of reference pattern parameters to adhere to reference pattern constraints. The method of claim 1 wherein the set of current recognizer reference patterns comprises one or more hidden Markov models. The method of claim 1 wherein the set of current recognizer reference patterns comprises one or more templates. The method of claim 1 wherein the current recognizer reference patterns comprise the output of a pattern trainer. The method of claim 1 wherein the current recognizer reference patterns comprise a modified set of reference patterns. The method of claim 1 wherein the step of modifying current reference patterns comprises the step of modifying reference patterns a plurality of times prior to storing modified reference patterns in memory, each of the plurality of modifications based on a distinct known speech signal. The method of claim 1 further comprising the steps of: recognizing an unknown speech signal based on current recognizer reference patterns; providing the recognized speech signal to be received as a known speech signal. A speech recognizer trainer (90) for providing a speech recognizer database (70) based on one or more known speech signals and a set of current recognizer reference patterns, the trainer including means (60) for generating a first recognizer scoring signal based on the known speech signal and a current reference pattern for that signal; CHARACTERISED BY: means (60), coupled to the means for generating a first recognizer scoring signal, for generating one or more other recognizer scoring signals, each such scoring signal based on the known speech signal and another current reference pattern; means (82), coupled to the means for generating a first and other recognizer scoring signals, for generating a misrecognition signal (d i ) based on the first and other recognizer scoring signals; means (88), coupled to the means for generating a misrecognition signal, for modifying one or more of the current reference patterns including at least one said other current reference pattern, based on the misrecognition signal and the known speech signal, to decrease the likelihood of misrecognizing an unknown speech signal; and means (70), coupled to the means for modifying, for storing one or more modified reference patterns. The trainer of claim 15 wherein the means for generating a misrecognition signal comprises means for forming a difference between: a. the first recognizer scoring signal; and b. an average of the one or more other recognizer scoring signals. The trainer of claim 15 wherein the means for modifying one or more of the current speech reference patterns comprises: a. means (88) for determining a gradient of a function relating i. recognizer scoring of known speech based on a current reference pattern, and ii. recognizer scoring of known speech based on one or more other current reference patterns; and b. means (88) for adjusting one or more parameters of the current speech reference patterns based on the gradient. The trainer of claim 15 wherein the set of current recognizer reference patterns comprises one or more hidden Markov models. The trainer of claim 15 wherein the set of current recognizer reference patterns comprises one or more templates. The trainer of claim 15 wherein the current recognizer reference patterns comprise the output of a pattern trainer. The trainer of claim 15 wherein the current recognizer reference patterns comprise a modified set of reference patterns. The trainer of claim 15 further comprising: means for recognizing an unknown speech signal based on current recognizer reference patterns; means for providing the recognized speech signal to be received as a known speech signal. A speech recognizer comprising a. a feature extractor (20) for receiving an unknown speech signal and identifying features characterizing the signal; b. a first memory means (70) for storing current reference patterns; c. a second memory means (10) for storing known speech training samples; d. a scoring comparator (40), coupled to the feature extractor and the first memory means, for comparing a plurality of current reference patterns with one or more features of the unknown speech signal to determine a comparison score for each such pattern; e. a score processor (50), coupled to the scoring comparator, for selecting the highest comparison score and recognizing speech based on the highest score; and f. a trainer (90) as claimed in claim 15, coupled to the first and second memory means.

Inventors: CHOU WU, JUANG BIING-HWANG, CHOU, WU, JUANG, BIING-HWANG
Applicants: AT & T CORP, AT&T CORP.
Application year: 1993
Main classification: G10L5
IPC codes: G10L15