SPEECH RECOGNITION SYSTEM USING MARKOV MODELS

Abstract: The present invention relates to a speech recognition system of the type comprising a plurality of probabilistic finite state models each having a number of states and the ability of undergoing transitions from one state to another and producing a corresponding output representing a speech element, and means for defining for each model probability parameters each representing the probability that the model will undergo a transition from one predetermined state to another predetermined state and produce a corresponding output. Such a system can be used to recognise input speech data by initially dividing the input speech data into individual speech elements (4, 5, 6) and then applying the input speech elements to the models, and utilising the probability parameters of the models to recognise the input speech elements. According to the invention the speech recognition system is characterised in that it comprises training means (8) for supplying training speech data to the models in order to train the models and to define initial values for the probability parameters for each of the models, and adaptation means (9) for supplying adaptation speech data to the models in order to adapt the models and to define adapted values of the probability parameters for each of the models. The adapted values of the probability parameters are used to recognise the input speech elements (10).

Description: The present invention relates to a speech recognition system using Markov models. In a speech recognition system using Markov models, speech is recognised from a probabilistic view point. In one such system, for example, a Markov model is established for each word. A Markov model is a finite state device having a plurality of states and the ability to undergo transitions between the states. For each transition, the probability of occurrence is defined and each transition produces an output of a string of labels or symbols. Unknown speech to be recognised is converted into a label string, and thereafter the probability of each word Markov model producing the label string as an output is determined based on the transition occurrence probabilities and the label output produced, which are hereafter referred to as parameters, and then the word Markov model having the highest probability of producing the label string is determined. The speech recognition is performed according to this result. In a speech recognition system using Markov models, the parameters can be estimated statistically so that a recognition score is improved. The details of the above speech recognition technique are described in the following articles. (1) "A Maximum Likelihood Approach to Continuous Speech Recognition" (IEEE Transactions on Pattern Analysis and Machine Intelligence, PAMI-Vol.5, No.2, pp. 179-190, 1983, Lalit R.Bahl, Frederick Jelinek and Robert L. Mercer) (2) "Continuous Speech Recognition by Statistical Methods" (Proceedings of the IEEE vol. 64, 1976, pp. 532-556, Frederick Jelinek) (3) "An Introduction to the Application of the Theory of Probabilistic Functions of a Markov Process to Automatic Speech Recognition" (The Bell System Technical Journal vol. 64, No. 4, 1983, April, S. E. Levinson, L. R. Rabiner and M. M. Sondhi). A speech recognition system using Markov models, however, needs a tremendous amount of speech data and the training thereof requires much time. Furthermore a speech recognition system trained to recognise the speech from a particular speaker often is not able to recognise satisfactorily the speech from other speakers. Even with the same speaker, when there is a long time between the training of the system and the use of the system or the recognition of speech from that speaker, only a poor standard of recognition can be achieved. The object of the present invention to provide an improved speech recognition system. The present invention relates to a speech recognition system of the type comprising a plurality of probabilistic finite state models each having a number of states and the ability of undergoing transitions from one state to another and producing a corresponding output representing a speech element, means for defining for each model probability parameters each representing the probability that the model will undergo a transition from one predetermined state to another predetermined state and produce a corresponding output and training means for supplying training speech data to the models in order to train the models and to define initial values for the probability parameters for each of the models. Such a system can be used to recognize input speech data by initially dividing the input speech data into individual speech elements and then applying the input speech elements to the models, and utilising the probability parameters of the models to recognise the input speech elements. According to the invention the speech recognition system is characterised in that it comprises adaptation means for supplying, after training has been completed, adaptation speech data to the models in order to adapt the models and to define adapted values of the probability parameters for each of the models. The adapted values are derived, when the adaptation speech data relates to the same speech data as the training speech data, by interpolation between the initial values and values derived from the adaptation speech data and, when the adaptation speech data relates to different speech data to the training speech data, by interpolation between the initial values and a constant followed by the first interpolation, and means for utilizing the adapted values of the probability parameters to recognise said input speech elements. The adapted values of the probability parameters are used to recognize the input speech elements. According to the invention, a speech recognition method is as claimed in claim 4. In order that the invention may be more readily understood an embodiment will now be described with reference to the accompanying drawings, in which: Fig. 1 is a block diagram illustrating a speech recognition system in accordance with the invention, Fig. 2 is a diagram for describing the recognition system illustrated in Figure 1, Fig. 3 is a flow chart describing the operation of one component of the recognition system illustrated in Figure 1, Fig. 4 is a flow chart describing the operation of another component of the recognition system illustrated in Figure 1, Fig. 5, Fig. 6 and Fig. 7 are diagrams relating to the operation of the component illustrated in Figure 4, Fig. 8 is a flow chart describing the operation of yet another component of the recognition system illustrated in Figure 1, and Fig. 9 is a flow chart describing the operation of a modified form of the recognition system illustrated in Figure 1. Fig. 2 illustrates the operation of a speech recognition system which includes a Markov model. In Fig. 2, the transverse axis represents the passage of time and the ordinate axis indicates different states of the Markov model. An input label string representing speech to be recognised is shown as w₁, w₂ .... w₁ along the time axis. The state of the Markov model, as time passes, undergoes transitions from an initial state I to a final state F. The broken line represents the envelope of all the possible transition paths. The probability of undergoing a transition from the i-th state to the j-th state and at the same time producing an output label k is C * (i,j,k). In other words, the probability of passing along the transition paths indicated by the arrows in Fig. 2 and producing an output label k is determined from the parameters p(i,j,k). Here p(i,j,k) is defined as the probability of undergoing a transition from state i to state j and producing an output k. The probability of the Markov model being in the state i, S * (i), as shown by the arc, is obtained by summing C * (i,j,k) for each j and each k. From the definition of the probabilities C * (i,j,k) and S * (i), new parameters P′(i,j,k) can be obtained according to the following estimation equation. P'(i,j,k)= C * (i,j,k)/S * (i) Repeating the above estimation can result in the parameters P₀(i,j,k) accurately reflecting the training data. Here the suffix Zero indicates that the value is after training. Therefore S₀ * and C₀ * are the values after training. In a speech recognition system according to the invention, during adaptation of the system, the probabilities C₁ * (i,j,k) and S₁ * (i) are obtained using parameter P₀(i,j,k). Then the new parameter after adaptation, P₁(i,j,k), is determined as follows. P₁(i,j,k)={λ C₀ * (i,j,k)+(1-λ ) C₁ * (i,j,k) } / {λS₀ * (i)+ (1-λ )S₁ * } wherein 0<=λ<=1 This means that the probabilities needed for estimation are determined by interpolation. This interpolation can be used to adapt the parameters P₀(i,j,k) obtained by the initial training operation, for different recognition circumstances. Based on the equation of C₀ * (i,j,k)=P₀(i,j,k)xS₀ * (i) , the following estimation can be made. P1(i,j,k) ={λP₀(i,j,k)·S₀ * (i)+(1-λ)C₁ * (i,j,k) }/{λS₀ * (i)+ (1-λ)S₁ * (i) } In this case the probability C₀ * (i,j,k) does not need to be stored. When input speech data used for initial training is quite different from input speech data used for adaptation, it is desirable to make use of the following, instead of P₀(i,j,k). (1-µ)P₀(i,j,k)+µe where 0<= µ<=1 and e is a certain small constant number which may be equal to 1/(the number of the labels)x(the number of the branches). In a speech recognition system now to be described, the probabilities of the occurrence of the transition from one state to another state and producing an output label are used as probabilistic parameters of Markov models, although transition occurrence probabilities and output label output probabilities may be defined separately and used as parameters. Fig.1 illustrates a s speech recognition system in accordance with the invention as a whole. Input speech data is supplied to an analog/digital (A/D) converter 3 through a microphone 1 and an amplifier 2 to be converted into digital data, which is then supplied to a feature extracting block 4. The feature extracting block 4 can be a array processor of the type sold by Floating Point Systems Inc. In the feature extracting block 4, the digitised input speech data is initially Fourier transformed every ten milli seconds using a twenty milli second wide window. The speech data is then produced as a output in each channel of a 20 channel band pass filter and is subsequently provided to the next stage, labelling block 5. This block 5 performs a labelling operation by referring to a label prototype dictionary 6, whose prototypes have been produced by clustering. The number of them is 128. The labelling operation is for example performed as illustrated in the flow diagram of Fig.3, in which X is an input speech feature, Y i is the feature of the i-th prototype, N is the total number of prototypes (=128), dist(X, Y i ) is the Euclid distance between X and Y i , and m is the minimum value among previous distances (X,Y i ). m is initialised to a very large number. As shown in the flow diagram, each input feature X is in turn compared with the feature of each prototype, and for each input feature the most similar prototype, that is, the prototype having the shortest distance (X,Y i ) is produced as an output label or label number P. As described above, the labelling block 5 produces an output label string with time period of ten milli seconds. between consecutive labels. The label string from the labelling block 5 is provided either to a training block 8, or to an adaptation block 9, or to a recognition block 10, through the operation of a switching block 7. The detailed description of the operation of the training block 8 and the adaptation block 9 will be given later referring to Fig.4 and the following Figures. During initial training, the switching block 7 is switched to the training block 8 to supply the label string thereto. The training block 8 determines the parameter values of a parameter table 11 by training Markov models using the label string. During adaptation, the switching block 7 is switched to the adaptation block 9, which adapts the parameter values of the parameter table 11 based on the label string. During recognition, the switching block 7 is switched to the recognition block 10, which recognises input speech data based on the label string and the parameter table 11. The recognition block 10 can be designed according to Forward calculation or Viterbi algorithms which are described in detail in the above-mentioned article (2). The output from the recognition block 10 is supplied to a workstation 12 and is, for example, displayed on its monitor screen. In Fig.1 the blocks surrounded by the broken line can be implemented in software on a host computer. An IBM 3083 processor can be used as the host computer, and CMS and PL/1 are used as an operation system and a programming language respectively. The above blocks can alternatively be implemented in hardware. The operation of the training block 8 will now be described in detail. In Fig. 4, showing the procedure of the initial training, each word Markov model is first defined, step 13. In the embodiment being described the number of words is 200. A word Markov model is such as shown in Fig.5. In this figure small solid circles indicate states, and arrows show transitions. The number of probable states, including the initial state I and the final state F, is 8. There are three types of transition, that is, transitions to the next state tN, transitions skipping one state tS, and transitions looping the same state tL. The number of the labels assigned to one word is about 40 to 50, and the label string of the word is matched from the initial state to the final state, looping sometimes and skipping sometimes. To define the Markov models means to establish the parameter table 11 of Fig. 1 tentatively. In particular, for each word a table format as shown in Fig.6 is assigned and the parameters P(i,j,k) are initialised. The parameter P(i,j,k) means the probability that a transition from the state i to the state j occurs in a Markov model, outputting a label k. Furthermore, in the initialisation process, the parameters are set so that a transition to the next state, a looping transition and a skipping transition occur at probabilities of 0.9, 0.05 and 0.05 respectively, and so that on each transition all labels are produced at an equal probability, that is 1/128. After defining word Markov models, initial training speech data is inputted, step 14 (Fig. 4), which data has been obtained by speaking 200 words to be recognised five times each. Five utterances of a word have been put together and each utterance has been prepared to show which word it responds to, and in which order it was spoken. Here let U=(u₁,u₂,···,u₅) to indicate a set of utterances of one specific word and let u n =w n1 , w n2 ,...,w n1n to indicate each utterance u n . w n1 ... indicate here observed labels. After completing the input of the initial training speech data, then Forward calculation and Backward calculation are performed, step 15 (Fig. 4). Though the following procedure is performed for each word, for convenience of description, consideration is only given to a set of utterances of one word. In Forward calculation and Backward calculation the following forward value f(i,x,n) and backward value b(i,x,n) are calculated. f(i,x,n): the probability that the Markov model undergoes a transition forward to the state i at time x after starting from the initial state at time 0 for the label string u n . b(i,x,n): the probability that the Markov model undergoes a transition backwards to the state i at time x after starting from the final state at time l n for the label string u n . Forward calculation and Backward calculation are easily performed sequentially using the following equations. Forward Calculation For x=0, f(i,0,n)= 1, if i=1 = 0, otherwise For 1<=x<=l n , wherein P t-1 is the parameter stored in the parameter table at that time, and k is determined depending on the Markov model, and in the embodiment being described k=0,1,or 2. Backward Calculation For x=l n , b(i,x,n)= 1 if i=E, = 0, otherwise For 0<=x<=l n , wherein E is the number of the states of the Markov model (8 for the embodiment being described). After completing the Forward and Backward calculations, the probability that the Markov model will undergo a transition from the state i to the state j outputting the label k for the label string u n , count(i,j,k,n) is then determined based on the forward value f(i,x,n) and the backward value b(i,k,n) for the label string u n , step 16. Count(i,j,k,n) is determined according to the following equations. wherein δ(w nx ,k)=1, if w nx =k = 0 otherwise The above expression can be easily understood referring to Fig.7, which shows a graph for matching the Markov model of the embodiment being described against the label string u n (= w n1 w n2 ...w nln ). u n (w nx ) is also shown along the time axis. When w nx =k, that is, δ (w nx ,k)=1, the w nx is circled. Consider the path accompanied by an arrow and extending from the state i, state 3 in Fig.7 to the state j, state 4 in Fig.7 at the observing time x, at which the label w nx occurs. Both ends of the path are indicated by small solid circles in Fig.7. In this case the probability that the Markov model outputs k=w nx is P t-1 (i,j,w nx ). Furthermore, the probability that the Markov model undergoes a transition forward from the initial state I to the solid lattice point of the state i at time x-1 as shown by the broken line f is represented by the forward value f(i,x-1,n), and on the other hand the probability that it undergoes a transition back from the final state F to the solid lattice point of the state j at time x as shown by the broken line b is represented by the backward value b(j,x,n). The probability that k=w nx is outputted on the path p is therefore as follows. f(i,x-1,n).b(j,x,n).P(i,j,w nx ) Count(i,j,k,n) is obtained by summing up the probabilities of the circled labels, which corresponds to the operation of δ (w nx ,k). The can be expressed as follows: After obtaining Count(i,j,k,n) for each label string u n (n=1 to 5), the probability for a set of label strings, U, that is, the whole training speech data for a certain word,C t (i,j,k) is obtained, step 17. It should be noted that successive label strings u n are different from each other and that the probabilities for each of the label strings u n , and the total probabilities of the label strings T n are all different from each other. Probability Count (i,j,k,n) should therefore be normalised by the total probability T n . Here T n =f(E,l n ,n) and E=8 in the embodiment being described. The probability for the whole training speech data of the word to be recognised, C t (i,j,k) is determined as follows. Next, the probability that the Markov model is at the state i for the training speech data for the word to be recognised, S t (i) is determined Count(i,j,k,n), step 18. Based on the probabilities C t (i,j,k) and S t (i), the next parameter P t+1 (i,j,k) is estimated as follows,step 19. The above estimation process,or procedure of steps 14 through 19 is repeated a predetermined number of times, for example five times, step 20 to complete the training of the target words. In other words the same training operation is performed repeatedly. After completing the training, the final parameter Po(i,j,k) is determined on the parameter table, Fig.1, to be used for the speech recognition that is followed. The probability which has been used for the last round of the estimation, S o (i), is also stored. This probability S o (i) is to be used for the adaptation, which will be hereinafter described. The operation of the adaptation block 9 will be next described referring to Fig.8. In Fig.8 parts having counterparts in Fig.4 are given the same reference numbers with suffix A, and a detailed description thereof will not be given. In Fig. 8 adaptation speech data is inputted first, Step 14A, which data has been obtained by the speaker who is going to input his speech, uttering only once each word to be recognised. After this, the operations shown successively in the steps 15A through 18A are performed in the same way as in the case of the above mentioned training (Fig. 4). Then two probabilities which are to be used for estimation are obtained by interpolation. In the end the new parameter P₁(i,j,k) is obtained as follows, Step 21. In this example the adaptation process is performed only once, though this process may be performed more than once. Actually Co (i,j,k) is equal to Po(i,j,k)·So(i) , so the following expression is used for the estimation of P1(i,j,k). "a" of count (i,j,k,a) in Fig. 8 shows that this probability is related to the label string for the adaptation data. After performing those steps above mentioned, the adaptation is completed. From now on the speech of the speaker for whom the adaptation has been done is recognised with a high rate of success. The speech recognition system being described can be adapted for different circumstances with small data and short training time. Additionally optimisation of the system can be achieved by adjusting the interior division ratio, λ, according to the quality of the adaptation data such as reliability. Assuming that the numbers of Markov models, branches, and labels are respectively X, Y, Z, then the amount of speech data increased by S(i) is X. On the other hand the amount of speech data increased by P₀(i,j,k) is XYZ. Therefore the amount of speech data increased by this adaptation is very small, as follows. Z/XYZ=1/YZ The speech recognition system described also has an advantage that parts of software or hardware used can be used for both the adaptation process and the initial training process because these processes have many identical steps. Futhermore the adaptation process can be performed again for example for the word wrongly recognised because the adaptation process can be performed for each word. Needless to say, an adaptation process for a word may not be performed until the word is wrongly recognised. An alternative form of the above described speech recognition system will be next described. The adaptation process can be performed well using this alternative form when the quality of the adaptation speech data is quite different from that of the initial training speech data. Fig. 9. shows the adaptation process of this alternative form of the system. In this figure parts having counterparts in Fig. 8 are given the same reference numbers, and a detailed description thereof will not be given. In the alternative form of the system shown in Fig. 9. an interpolation process using P₀(i,j,k) is performed as follows, step 22, before the new probabilities C₁(i,j,k) and S₁(i) are derived using the adaptation speech data. P o (i,j,k)=C(1-µ)Po(i,j,k)+µe This means that the value obtained by interpolating the parameter P o (i,j,k) and a small value e with the interior division ratio µ is utilised as the new parameter. In the training process during the adaptation process, how well parameters converge to actual values also depends heavily on initial values. Some paths which occurred rarely for initial training speech data may occur frequently for adaptation speech data. In this case adding a small number e to the parameter P o (i,j,k) provides a better convergence. By utilising a speech recognition system as described above, the adaptation of the speech recognition system can be done with a small amount of speech data and in a short time. The required store capacity, the increase in the number of program steps and hardware components are respectively very small. Additionally, optimisation of the system can be achieved by adjusting the interior division ratio according to the quality of the adaptation speech data.

Claims: A speech recognition system comprising a plurality of probabilistic finite state models each having a number of states and the ability of undergoing transitions from one state to another and producing a corresponding output representing a speech element, means for defining for each model probability parameters each representing the probability that said model will undergo a transition from one predetermined state to another predetermined state and produce a corresponding output, training means (8) for supplying training speech data to said models in order to train said models and to define initial values (P₀(i,j,k)), for said probability parameters for each of said models, means (4, 5, 6) for dividing input speech data into individual speech elements and for applying said input speech elements to said models, and means for utilizing the probability parameters of said models to recognize said input speech elements, characterised in that said system comprises adaptation means (9) for supplying, after training has been completed, adaptation speech data to said models in order to adapt said models and to define adapted values (P₁(i,j,k)) of said probability parameters for each of said models, said adapted values being derived, when said adaptation speech data relates to the same speech data as the training speech data, by interpolation between said initial values and values derived from said adaptation speech data and, when said adaptation speech data relates to different speech data to said training speech data, by interpolation between said initial values and a constant followed by said first interpolation, and means (10) for utilising said adapted values of said probability parameters to recognize said input speech elements. A speech recognition system as claimed in claim 1 characterised in that said training speech data comprises a plurality of speech elements closely related to said input speech elements and each repeated a plurality of times. A speech recognition system as claimed in either of the preceding claims characterised in that said adaptation speech data comprises a plurality of speech elements closely related to said input speech elements and each occurring only once. A speech recognition method comprising defining, for a plurality of probabilistic finite state models each having a number of states and the ability of undergoing transitions from one state to another and producing a corresponding output representing a speech element, probability parameters each representing the probability that said model will undergo a transition from one predetermined state to another predetermined state and produce a corresponding output, supplying training speech data to said models in order to train said models and to define initial values (P₀ (i,j,k)) of said probability parameters for each of said models, dividing input speech data into individual speech elements and applying said input speech elements to said models, and utilising the probability parameters of said models to recognise said input speech elements, characterised in that said method comprises supplying after training has been completed adaptation speech data to said models in order to adapt said models and to define adapted values (P₁ (i,j,k)) of said probability parameters for each of said models, said adapted values being derived, when said adaptation speech data relates to the same speech data as the training speech data, by interpolation between said initial values and values derived from said adaptation speech data and, when said adaptation speech data relates to different speech data to said training speech data, by interpolation between said initial values and a constant followed by said first interpolation, and utilising said adapted values of said probability parameters to recognise said input speech elements. A speech recognition method as claimed in claim 4 characterised in that said training speech data supplied to said models comprises a plurality of speech elements closely related to said input speech elements and each repeated a plurality of times. A speech recognition method as claimed in claims 4 or claim 5 characterised in that said adaptation speech data supplied to said models comprises a plurality of speech elements closely related to said input speech elements and each occurring only once.

Inventors: KURODA, AKIHIRO, NISHIMURA, MASAFUMI, SUGAWARA, KAZUHIDE
Applicants: INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1987
Main classification: G10L5
IPC codes: G10L15, G10L11