Patent Document

FIELD OF THE INVENTION 
     The present invention generally relates to a speech recognition system employing a probabilistic technique and, more particularly, to a speech recognition system wherein speech recognition may be performed conveniently without deteriorating the recognition accuracy. 
     BACKGROUND OF THE INVENTION 
     As a probabilistic technique for recognizing speeches, there is known a technique using Markov models. The speech recognition using Markov models employs probabilistic models, each having a plurality of states, transitions between the states, a probability of each of the transitions occurring, and a probability of each of the labels being output in each of the transitions. For example, such a probabilistic model is provided for each word and its probability parameters are established by training. At the time of speech recognition, a label string obtained from an unknown input speech is matched with each probabilistic model, and a word of a probabilistic model having the highest probability of the label string occurring, is determined as a recognition result. Such a technique is described, for example, in an article by F. Jelinek, &#34;Continuous Speech Recognition by Statistical Methods,&#34; Proceedings of the IEEE, Vol. 64, 1976, pp. 532-556. 
     The speech recognition using Markov models, however, requires a great amount of training data for establishing the probability parameters by training and also a significant amount of calculating time for training. 
     Other techniques in the prior art include the following: 
     (1) Article by T. Kaneko, et. al., &#34;Large Vocabulary Isolated Word Recognition with Linear and DP Matching,&#34; Proc. 1983 Spring Conference of Acoustical society of Japan, March 1983, pp. 151-152. 
     (2) Article by T. Kaneko, et. al., &#34;A Hierarchical Decision Approach to Large Vocabulary Discrete Utterance Recognition,&#34; IEEE Trans. on ASSP. Vol. ASSP-31, No. 5, October 1983. 
     (3) Article by H. Fujisaki, et. al., &#34;High-Speed Processing and Speaker Adaptation in Automatic Recognition of Spoken Words,&#34; Trans. of the Committee on Speech Recognition, The Acoustical Society of Japan, S80-19, June 1980, pp. 148-155. 
     (4) Article by D. K. Burton, et. Al., &#34;A Generalization of Isolated Word Recognition Using Vector Quantization,&#34; ICASSP 83, pp. 1021-1024. 
     These articles disclose dividing a word into blocks along a time axis. However, they describe nothing about obtaining label output probabilities in each of the block and performing probabilistic speech recognition based on the label output probabilities in each of the blocks. 
     SUMMARY OF THE INVENTION 
     As a consequence of the foregoing difficulties in the prior art, it is an object of the present invention to provide a speech recognition system employing a probabilistic technique, which can perform training conveniently and requires less calculating time. 
     In order to accomplish the above object, according to the present invention, a probability of each of a plurality of labels being produced in each of N blocks (first segments) in each of a plurality of recognition units, i.e., each of words in a vocabulary for recognition is estimated. The estimation is obtained by generating a histogram of labels in training data for each of N blocks in each of the recognition units and normalizing the histogram. An unknown input unit is also divided into N blocks (second segments) and each of these N blocks is linearly matched with each of N blocks in each of the recognition units. Then, a likelihood of a block in the unknown input unit being a matched block in a given recognition unit is calculated based on the probabilities estimated for the block in the recognition unit. Namely, the probability of each of the labels in the block in the unknown input unit occurring in the corresponding block in the recognition unit is determined, by referring to the probabilities estimated for the block in the recognition unit. Such probabilities are obtained over the block in the unknown input unit, and a likelihood for the block is then obtained, and further the likelihoods for all the blocks are summed up to obtain an overall likelihood for the recognition unit. A recognition unit having the highest overall likelihood is determined as a recognition result. 
     According to the present invention, since the description of label output probabilities is quite simple, they can be obtained easily by training and the calculations for recognition are simple. The matching, although it is basically performed linearly, can absorb fluctuations in time by adopting probabilistic expressions and can suppress recognition errors due to the fluctuations in time. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 shows a block diagram illustrating an embodiment of the present invention as a whole. 
     FIGS. 2A and 2B show flow charts for explaining the training unit 8 shown in FIG. 1. 
     FIG. 3 shows a flow chart for explaining the recognition unit 9 shown in FIG. 1. 
     FIGS. 4, 5, 6, and 7 show diagrams for explaining the important portions shown in FIG. 2A and 2B 
    
    
     DESCRIPTION OF PREFERRED EMBODIMENTS 
     Now, referring to the drawings, the present invention will be explained below with respect to an embodiment thereof which is applied to an isolated word recognition system for unspecified speakers. 
     In FIG. 1 illustrating the embodiment as a whole, speech data is supplied to an analog/digital (A/D) converter 3 through a microphone 1 and an amplifier 2. The speech data can be training data or unknown word data. The A/D converter 3 converts the speech data into digital data by sampling it at 8 KHz. The digital data is supplied to a feature value extraction unit 4 to be converted into feature values by using linear prediction coding (LPC) analysis. Each feature value is generated every 14 nsec to be supplied to a labelling unit 5. The labelling unit 5 performs labelling with reference to a prototype dictionary 6. Namely, a label alphabet {f i  }and prototypes of feature values corresponding thereto are stored in the prototype dictionary 6, and a label f i  having a prototype which is nearest to an input feature value is discriminated and output therefrom. The number of elements of the label alphabet is 32, for example, and a prototype of a label may be obtained by sampling at random feature values in a speech spoken for 20 sec. 
     The label f i  from the labelling unit 5 is supplied to a training unit 8 or a recognition unit 9 through a switching means 7. An input terminal 7c of the switching means 7 is connected to a switching terminal 7a for the training unit 8 during training or to a switching terminal 7b for the recognition unit 9 during recognition. The training unit 8 processes a label string obtained from the training data and establishes a preselection table 10 and a probability table 11. The preselection table 10 stores a maximum speech length L(i) and a minimum speech length l(j) for each word in the vocabulary for recognition. The probability table stores a probability p (i, j, k) of each of the labels f i  being output in each of blocks b jk  obtained by equally dividing a word w j  in a vocabulary for recognition. In fact, for convenience of calculations, log p is stored in the probability table 11, instead of the probability. 
     The recognition unit 9 processes a label string obtained from a speech of an unknown word by referring ring to the preselection table 10 and the probability table 11, and performs a recognition operation in two stages, to be stated later, to obtain a recognition result. The recognition result is displayed on a CRT 12, for example. 
     In fact, the elements of block 13 may be realized as software in a personal computer, e.g., PC XT manufactured by IBM corporation. The elements of block 13 may also be realized as hardware by adopting a configuration consisting of blocks shown with solid lines within block 13. These blocks correspond respectively to the functions of the software, which will be explained later in detail in the explanation of steps corresponding thereto with reference to FIG. 2A, 2B, or 3. For ease of understanding, the blocks shown with solid lines in FIG. 1 are illustrated with the same numbers as those of the steps corresponding thereto shown in FIG. 2A, 2B, or 3. 
     The elements of block 14 may be realized by a signal processing board added to a personal computer. 
     Next, training of the system will be explained with reference to FIGS. 2A and 2B. The system, which is for unspecified speakers, performs training based on speeches spoken by a plurality, for example ten to tens, of training speakers. The speakers sequentially input training data. In a particular embodiment, a speaker inputs a plurality of speeches, for example three speeches, at a time for each of the words w j  in the vocabulary for recognition. 
     In training, a histogram h (i, j, k) for the label f i  in the training data is obtained first in each of the blocks b jk  in the work w j . FIG. 2A illustrates a procedure for generating the histograms h (i, j, k). In FIG. 2A, at the beginning, the maximum speech length L(j), the minimum speech length l(j), and j for each of the words w j  are initialized (Step 15). Namely, they are set to L(j)=∞, l(j) =+∞, and j =0, respectively. 
     Then, the CRT 12 (FIG. 1) displays an indication that the word w j  be spoken three times (Step 16), and a speaker responds thereto. The A/D conversion, feature value extraction, and labelling are sequentially performed on the speeches (Steps 17-19). Thereafter, the maximum speech length L(j) and the minimum speech length l(j) are updated, if necessary (Step 20). Namely, in case the longest one of these three speeches is longer than the maximum speech length L(J), the value is set to a new maximum speech length L(j). Similarly, in case the shortest one of these three speeches is shorter than the minimum speech length l(j), the value is set to a new minimum speech length l(j). 
     Next, a normalization of the speech length and a block segmentation will be performed for each of the speeches (of a word) (Steps 21 and 22). In the normalization of the speech length, the number of labels included in one speech is set to a predetermined number N f  ( =N 0  ×N b , where N 0  is a positive integer and N b  is the number of blocks b jk ), so that the block segmentation could be performed easily. Of course, the block segmentation may be performed by using a unit smaller than a label. In that case, however, the calculation of histograms would be more complicated. In a particular example, the normalization is performed by setting the number of blocks, N b , to 8 and the positive integer N 0  to 10, so that one speech includes 80 labels. This is illustrated in FIG. 4. The example illustrated in FIG. 4 shows a case where a word speech before the normalization of the speech length includes 90  labels. As seen from FIG. 4, some labels may be skipped as a result of the normalization. In a particular example, a label f(t) at a time t after the normalization to time (e.g., label) intervals 0 through 79 is equal to a label f(t) at a time t before the normalization, assuming t= (t×90)/ 80+0.5  , where  α  indicates that the figures of α below the decimal point should be omitted. The above formula may typically be illustrated as in FIG. 5. Generally, the formula may be expressed as t= (t×N f ) / N f  +0.5  , where N f  is the number of labels after the normalization and N f  is the number of labels before the normalization. In FIG. 4, N f  =90, and N f  &gt;N f , although it may be that N f  ≦N f  . 
     In the block segmentation, each of the speeches after the normalization is equally divided into the blocks b jk , as illustrated in FIG. 6. 
     These Steps 16 through 23 are performed for all of the words w j  in the vocabulary for recognition (Steps 24 and 25). The procedure of generating the histograms illustrated in FIG. 2A is shown for one speaker. By performing the procedure for a plurality of speakers, it is possible to generate the histograms h (i, j, k) which are not biased to any particular speaker. 
     After having generated the histograms h (i, j, k) which are not biased to any particular speaker as stated above, the histograms are normalized and the probability p (i, j, k) of the label f i  being output in the block b jk  in the word w j  is calculated as illustrated in FIG. 2B (Step 26). The probability p (i, j, k) is obtained according to the following formula. ##EQU1## The block segmentation and the calculation of histograms in Steps 22 and 23, respectively, illustrated in FIG. 2A may be performed as illustrated in FIG. 7, for example. FIG. 7 shows a case where the number of blocks b jk  is 8 and the number of labels f i  in the block b jk  is 10. In FIG. 7, c 1  and c 2  indicate the values of counters, each of which is set to 0 at the beginning (Step 27). The c 1  is incremented by one each time a label is reached (Step 29), and is reset to 0 when the counter has reached 10 (Step 31). The c 2  is incremented by one, each time the c 1  is reset (Step 31). With the end of each of the blocks b jk  and the end of each of the speeches being discriminated in Steps 30 and 32, respectively, the histograms h (i (10c 2  +c 1 ), j, c 2 ) are incremented by one, every time t =10c 2  +c 1 . The i(t) indicates the number of a label at the time t (t=0 through 79; the time units are intervals at which labels are produced). 
     Next, referring to FIG. 3, an explanation will be made as to the recognition of an unknown input unit. 
     In FIG. 3, when the data of an unknown word x is input (Step 33), the A/D conversion, feature value extraction, and labelling are sequentially performed on the data (Steps 34, 35, and 36). Thereafter, the length of the speech of the unknown word x is discriminated (Step 37) and used in the subsequent preselection Step 40. The length of the speech of the unknown word x is normalized in the same manner as in Step 21 illustrated in FIG. 2A (Step 38). 
     Particularly, in the preselection step 40, it is discriminated whether or not the word w j  satisfies the following formula, by referring to the preselection table 10 (FIG. 1). 
     
         1(j)·(1-delta )&lt;Length (x) &lt;L(j)·(1 +delta) 
    
     where the Length (x) denotes the length of the speech of the unknown word. The delta is a small value, for example 0.2. If this condition is not satisfied, the likelihood is set as - ∞ so that the word wj would be omitted from the candidates for the recognition result (Step 43). If the condition is satisfied, after the speech of the unknown word x is divided into the blocks b jk  (step 41) in the same manner as in Step 22 illustrated in FIG. 2A, the likelihood is calculated (step 42). The likelihood LH (j) of the word w j  being the unknown word x may be obtained according to the following formula. ##EQU2## All the Steps 40 through 43 are performed for all of the words w j  (Steps 39, 44, and 45) and the likelihoods LH (j) of all of the words w j  are obtained. Then, a word having the highest likelihood LH (j) is output as the recognition result (Step 46). 
     It should be understood that the present invention is not limited to the above embodiment, but various changes in form and details may be made therein without departing from the spirit and scope of the invention. For example, while in the above embodiment, the present invention has been realized as software in a personal computer, it can, of course, be realized as hardware. 
     Further, while in the above embodiment, the present invention has been applied to speech recognition for unspecified speakers, such as used in banking systems, subway information systems and the like, it may also be applied to systems for specified speakers. 
     Further, smoothing may be performed in the present invention in order to improve the recognition accuracy. For example, in case a label output probability is 0, it may be replaced with a value in the order of ε=10 -7 , or the histograms may be recalculated in consideration of confusions between labels. 
     As explained above, according to the present invention, label output probabilities can be expressed quite simply. Therefore, the present invention enables to perform training conveniently and reduce calculations at the time of recognition. Further, since errors due to fluctuations in time can be absorbed by adopting the probabilistic expressions, recognition errors can be suppressed.

Technology Category: 3