Method and apparatus for speech recognition

Abstract: Speech recognition is performed by using recognizing methods suitable for each phoneme after phonemes are classified by rough segmentation. Furthermore, matching of the symbol series developed from the word dictionary with the input speech is performed by means of dynamic programming using the table of phoneme recognition results obtained in advance by calculation in order to obtain the boundary of phoneme in detail. Finally, the recognized word is determined by comparing the largeness of the scores obtained by this dynamic programming. The improvement in accuracy of word recognition is provided by dealing with the difficulty in recognizing phonemes by using different recognizing methods by different phonemes and the difficulty in segmentation by using dynamic programming.

Description: BACKGROUND OF THE INVENTION 1.Field of the Invention The present invention relates to a method and apparatus for speech recognition which performs recognition of the speech of an unspecified speaker referring to a word dictionary in which the phonemes of words are declared. 2.Description of the Related Art Recently, techniques using phonemes or syllables as a unit have been investigated as a speech recognition apparatus. Such techniques depend on the following grounds. In a speech recognition apparatus targeting large vocabularies, a large capacity of memory is required to store the standard patterns for every word. In addition, much labor is required to register these words and it becomes difficult to append new words. In contrast, with the method using phonemes and the like as a basic unit for recognition, since the words written in Roman characters (romaji) or in Japanese syllables (kana) can be stored in a dictionary, the aforementioned problems can be eliminated. However, since there are problems in the variation of the phoneme spectrum by speech, combinations of intonations and the existence of phonemes difficult to recognize, such as plosives, speech recognition is not easy. Furthermore, individual difference also affects recognition when unspecified speakers are targeted making it even more difficult. Therefore, the following techniques have been investigated to deal with these problems. (1) Learning of vowels (2) Statistical discriminating method (3) Hidden Markov model (4) Multi-template method However, since each phoneme in Japanese differs from every other in the appearance of phonemes by groups of phonemes, speech is difficult to recognize based upon a uniform method. For example, although vowels are characterized by the relative position of the formant, semivowels, plosives and so on are characterized by a change in the spectrum in time. Furthermore, although the changes in the spectrum are characteristic of each semivowel and plosive, there are differences in that the spectrum relatively slowly changes in the semivowels. In contrast, the spectrum rapidly changes in a short time in the plosives. In recognizing these differently characterized phonemes, there is a defect in that a high recognition rate cannot be obtained because all the phonemes are recognized uniformly using one of the above described methods of the conventional apparatuses. For example, detection of the characteristics of segment aiming at the recognition of continuous speech (Kosaka et al., Japanese Acoustics Society, Voice Section, S85-53, December of 1985) can be cited as the method belonging to the aforementioned method (2). However, although the recognition rates for plosives and so on are high because this method is devised so as to correspond to the changes of the spectrum in time, this method is not suitable for recognizing the phonemes, such as semivowels whose spectrum slowly changes and whose time structure changes, because it does not cope with the variation of the change of spectrum with respect to time. In addition, there-are systems which perform phoneme recognition on each rough classified group by methods different from each other after rough segmentation, like a system devised at MIT Lincoln Institute (ref. Yasunaga Niimi, Speech Recognition, pp. 81-87, Kyoritsu Publishing, October of 1979). However, there is a defect that the segmentation is greatly loaded in such a system and the recognition rate greatly depends on the quality of the segmentation. The present invention is directed towards the above-described problems. Specifically, a concern of this invention is to provide a method and apparatus for speech recognition which can eliminate the difficulty in recognizing the speech of an unspecified speaker and has a high recognition accuracy. A paper entitled "Top-down controlled and optimal syllable-template chaining algorithm for large vocabulary speech recognition" by S. Kabasawa et al. and published in "ICASSP 86 IEEE-IECEJ-ASJ International Conference on Acoustics, Speech, and Signal processing" disclosed an algorithm for voice recognition. However this publication does not consider the steps of segmenting the input speech data, classifying each segment of input speech, and then selecting an appropriate recognition method for each classified segment. Accordingly, from a first aspect the present invention provides a speech recognition method as set out in claim 1. From a second aspect the present invention provides speech recognition apparatus as set out in claim 4. The invention will be more readily understood from the following detailed explanation which is given by way of example with reference to the accompanying drawings, in which: Figs. 1A and 1B are flowcharts showing a processing procedure of speech recognition in accordance with the present invention; and Fig. 2 is a block diagram showing an embodiment of the speech recognition apparatus in accordance with the present invention. DESCRIPTION OF THE PREFERRED EMBODIMENT An embodiment of the present invention will be explained in detail as follows with reference to the attached figures. Figs. 1A and 1B are flowcharts which most clearly show an operation of this apparatus. These figures show processing steps after a word is uttered and analyzed. The syllabic nasal /N/ is included in the vowels in this embodiment. At first, in step S1, a speech block is classified into the several groups of phoneme using all the parameter time series of the input words. The number of groups of phoneme classified into depends on how many kinds of recognition systems for phoneme described below are prepared. In this embodiment, a speech block is classified into three kinds of classes, that is, a vowel, a semivowel and others. Since its classification is described in "Speech Recognition" (Yasunaga Niimi, pp. 81-87, Kyoritsu Publishing, October of 1979), and so on, the explanation is omitted in this description. Subsequently, in step S2, a pointer fr (in this case, the speech data are input from fr=1) which represents the frame of input speech is initialized (in this embodiment, it is "0" cleared). In step S3, the frame pointer fr is incremented and the next data is input. In step S4, whether the speech block is terminated or not is judged and when the speech data file is terminated then the process is advanced to step S12, otherwise the process is advanced to step S5. In step S5, the phoneme is judged by type referring to the results of rough segmentation obtained by the process of step S1. This embodiment classifies phonemes into three kinds, vowels, semivowels and others, and the process along step S6, step S8 and step S10 is advanced according to the results. In steps S6, S8 and S10, the vowels, the semivowels and other phonemes are recognized, respectively. When the recognition is terminated, the value output as the result is normalized in a range of "0" to "1" by each step of a step S7, a step S9 and a step S10. Furthermore, a neural net which has learned the coefficients of each speaker in order to recognize the vowels at step S6 is used in this embodiment. Since the method for the preparation and the recognition of this neural net is described in "Speech Recognition by A Statistical Model" (Seiichi Nakagawa, pp. 156-177, Society for Electronic Information Communication, July of 1988) in detail, this method will not be explained in this description. A dynamic programming (hereinafter called "DP") using statistical distance index is used for the recognition of the semivowels in step S8. This method is described in a thesis (Word Speech Recognition by DP Matching Using Mahalanobis Distance, Journal of Electro-Communication, (January of 1983 Vol. J66-A, No. 1, pp. 64-70) in detail under the name of Mahalanobis DP. Although this thesis describes the word recognition method, this method is applied in this embodiment using the initial and the terminal ends of semivowels obtained by the segmentation in the step S1 as the initial and the terminal ends of DP. In the recognition of other phonemes in step S10, the identification method is used according to the Bayesian decision of changing patterns of spectrum along time. This method is described in detail in the society data (Detection of the Characteristics of Segment Aiming at the Recognition of Continuous Speech, Japanese Acoustics Society, Voice Section, S85-53, December of 1985). In the recognition processes for the vowels in step S6 and the other phonemes in step S10, the output results have already converged at a range of "0" to "1". In this case, the greater the output is, the more likely the phoneme is of the type to be designated by such step. On the contrary, in the recognition process for the semivowels at step S8, since a Mahalanobis distance is used at the time of recognition, the less the output result is, the more likely the phoneme is of the type to be designated by such step. The output values also converge at a range of about "0" to plus several. In order to normalize in step S9, at first the maximal value of the output is made to be "0" by marking a minus sign to the output value. Subsequently, a threshold th (<0) is set and output values less than or equal to th are replaced with th in order to make the range of the value from th to "0". In addition, the linear transformation is performed so that the output values become th → "0" and "0" → "1", and the results obtained are used as the normalized output. The above described process at each step is repeated until the speech block is completed and the process is advanced to step S12 where it is terminated. In step S12, the preliminary selection of words is performed based on the results of rough segmentation in step S1. In concrete terms, the process is that only words which the rows of three kinds of segments obtained by the segmentation are coincident are selected from the word dictionary. The words in the word dictionary selected at step S12 are read one by one in step S13, and whether all the selected words are matched or not is judged in step S14. If the operation is not terminated, the score calculating is performed according to DP in step S15. This DP directly matches the row of phoneme standard patterns corresponding to the row of phoneme symbols obtained from the word dictionary with the parameter time series of input speech. The score d(i,j) at the frame j and the phoneme class Ci is calculated using the values obtained at each step S7, 9 and 11 as they are. The equations of this DP is expressed as follows; g(i,0) = -∞ g(0,j) = -∞ g(1,1) = d(1,1) g(1,j) = d (1,j) + g(1,0-1) D(A,X) = g(I,J) / I+J [A, dictionary; X, input word; g (i, j), accumulated score at (i, j); I and J, maximal value of i and j] When the dictionary is terminated according to the judgement at step S14, the process is advanced to step S16. The word to be given the maximal score is selected from the matched words and is used as the recognition result of input speech. This recognition result is output in step S17. Fig. 2 is a block diagram showing the hardware structure of this apparatus. As shown in this figure, the speech input from a microphone 18 is analyzed by a group of band-pass filters at an analyzing unit 19 and is converted into a short time spectrum. A central processing unit ("CPU") 20 controls the processing procedure shown in Fig. 1 and this program is stored in a ROM1 21. A ROM2 22 is used as a word dictionary. A RAM 23 is used for storing the phoneme pattern and stores the data sent from a floppy disk device 24 or the ROM 22. The reason why the phoneme patterns are stored in the RAM is that the phoneme pattern can be adapted to a specific person by learning the vowels. In this case, the contents in the RAM is is rewritten and the vowel pattern is registered. In this embodiment, although the recognizing method using the same parameter is described as one example, the method using different parameters according to the groups of phonemes is also considered. In this case, since the kind of phoneme can not be determined at the step of rough segmentation, the parameter can not be selected. However, the kind of phoneme is determined at the process of the step S5 shown in Fig. 1A, and the different parameter can be used after analyzing the input speech again by the different method. In such a case, a band-pass filter is similarly used in the step S10 and a parameter of LPC type, which the peak is well expressed, is used in the steps S6 and S8. In these embodiments, since various parameters are used, the analysis is performed by softwares. As a result, the structure of the hardware can be simplified. Therefore, the analyzing unit 19 shown in Fig. 2 is not required to analyze the input speech but performs A/D conversion and only takes them into the bass. Although the present invention is explained referring to the preferred embodiment as above described, the present invention is not limited to the above described embodiment and various modifications can be made within the scope of the following claims. As above explained, the speech recognition with high accuracy can be made according to the present invention, since the different parameters and methods of recognition are used according to the kind of phoneme, and dynamic programming is applied for positioning the phoneme pattern corresponding to the input speech after rough segmentation. Furthermore, speech recognition resistant to unspecified speakers can be made by learning the phonemes in which individual differences are strongly revealed, such as vowels.

Claims: A method of speech recognition, comprising the steps of: inputting speech data into speech recognition apparatus (19,20) and performing a segmentation operation (51) on the input speech data so that each segment includes a phoneme, classifying (55) each segment so generated in dependence upon its phoneme; selecting from a plurality of recognition methods a suitable recognition method to be applied to each segment in response to the classification of the segment (S5); recognizing (S6,S8,S10) each segment by using the recognition method selected for the segment; specifying a recognition result and a value of similarity of each recognition result obtained by said recognition step; characterized by converting the value of similarity obtained by each recognition method into a value of unified range; and utilising the values of unified range in a dynamic programming operation to provide a recognition output. A method according to claim 1, and further comprising selecting from a word dictionary words stored in the dictionary the phonemes of which have been classified and matching the normalised values obtained from the input speech data with the selected words. A method according to either of the preceding claims, wherein the recognition methods comprise recognition of a vowel, recognition of a consonant, and recognition of other phonemes. Apparatus for speech recognition comprising: means (19) for performing a segmentation operation on input speech data so that each segment contains a phoneme, a plurality of means (19,20,21) for assigning different classifications to segments derived from the segmentation operation in dependence on the phonemes of the segments; a plurality of recognition means (20,23,21) each for carrying out a different recognition process on a segment; means for transmitting each segment to a selected one of the recognition means in accordance with the classification of the segment so as to generate a value of similarity for the segment; characterized by means for normalising the values of similarities output from the recognition means to values of unified range; and dynamic programming means for processing the normalised values and for providing a recognition output. Apparatus according to claim 4, and including a word dictionary (22) in which is stored words the phonemes of which have been classified, means (20) for selecting words from the word dictionary and matching the normalised recognition results with the selected words. Apparatus according to either of claims 4 or 5, wherein the recognition means comprise means for recognising vowels, means for recognising consonants and means for recognising other phonemes.

Inventors: KOSAKA TETSUO, KOSAKA, TETSUO, KOSAKA, TETSUO, C/O CANON-DAIICHI-AOBADAI-RYO
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1990
Main classification: G10L5
IPC codes: G10L15, G06F3