Phoneme similarity calculating apparatus
BACKGROUND OF THE INVENTION 
     The present invention relates to a phoneme similarity calculating apparatus for calculating a similarity (which herein includes both a similarity in a narrow sense which is increased as a feature parameter resembles a corresponding phoneme more closely, and a distance which is decreased as the parameter resembles a corresponding phoneme more closely) of a feature parameter of input speech in each frame of a predetermined time to each phoneme in a speech recognition apparatus or a speech learning apparatus. 
     Upon recognition of continuous speech, since an object to be recognized is input in units of words or sentences, it is important how a phoneme structure of input speech is determined. For this purpose, a phoneme similarity calculation is necessary. 
     Since the sound produced as the human voice is continuously changed, a feature parameter extracted from a speech signal is continuously changed over time. 
     In a conventional phoneme recognition method, reference phoneme patterns or statistic identification functions are prepared for every phoneme class, and input speech is matched with these patterns or functions for each frame to calculate a phoneme similarity. Note that the phoneme class means a classification unit of phonemes such as k, f, and the like. 
     Although phonemes include steady phonemes, such as vowels or nasal sounds which are not significantly changed, and unsteady phonemes, such as plosives which are abruptly changed, a phoneme similarity is calculated regardless of steadiness and unsteadiness in each frame of input speech in the above-mentioned matching. Therefore, a similarity to another phoneme class may be accidentally increased for a so-called &#34;glide&#34; segment between adjacent phonemes in the input speech, and a phoneme may be erroneously recognized. 
     In the conventional phoneme similarity calculating apparatus, since a similarity is calculated using a reference pattern regardless of the steadiness and unsteadiness of the phoneme class, an incorrect similarity is often calculated. 
     SUMMARY OF THE INVENTION 
     It is an object of the present invention to provide a phoneme similarity calculating apparatus which can accurately calculate a similarity to each phoneme class of input speech in accordance with steadiness of the phoneme class. 
     A phoneme similarity calculating apparatus according to this invention comprises an acoustic analyzer for calculating a feature parameter of input speech for every predetermined frame of a predetermined time, and calculating a steadiness parameter indicating steadiness of the input speech in accordance with a change in the feature parameter; an initial similarity calculator for calculating a similarity of the feature parameter for each phoneme category by matching between the feature parameter and a reference phoneme pattern for each phoneme category; and a similarity normalizing circuit for correcting the initial similarity in accordance with the steadiness parameter and whether or not the phoneme category are steady. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram schematically showing a phoneme similarity calculating apparatus according to an embodiment of the present invention; 
     FIGS. 2A and 2B are graphs showing normalizing functions used in this embodiment; and 
     FIGS. 3A to 3D represent signal waveforms for explaining the overall operation of this embodiment. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     A phoneme similarity calculating apparatus according to an embodiment of the present invention will now be described with reference to the accompanying drawings. Continuous speech is input to acoustic analyzer 11. Acoustic analyzer 11 comprises a filter bank which is known as a means for spectrum analysis. The filter bank has a plurality of bandpass filters having different center frequencies. The filter bank filters (acoustically analyzes) input speech for every predetermined analysis time period (frame) and outputs an energy of an output value of each channel (each filter) of the filter bank as a feature parameter vector. The following processing is performed for every frame. As acoustic analyzer 11, a circuit for performing Fourier transformation or a circuit for calculating a linear partial correlation may be utilized. 
     Acoustic analyzer 11 calculates a steadiness parameter indicating steadiness of input speech as well as outputting of the feature parameter vector. The steadiness parameter represents a degree of change in the spectrum of the input speech. In this sense, it can be regarded that phonemes such as vowels or nasal sounds which are less changed are steady, and phonemes such as plosives which are abruptly changed are unsteady. If the feature parameter vector of a (t)th frame is given by x(t), steadiness parameter v(t) of the (t)th frame is calculated as follows: ##EQU1## where ∥X ∥ is a norm of vector x. Period T can be set to fall within the range of 10 to 50 msec. As can be seen from equation (1), steadiness parameter v(t) is proportional to a reciprocal of a change in the spectrum of the input speech during period T. 
     Feature parameter vector x(t) obtained by acoustic analyzer 11 is input to initial similarity calculator 12. Similarity (in the narrow sense) to each reference phoneme pattern stored in reference phoneme pattern memory 13 is calculated in calculator 12. As the similarity calculation method, a known multiple similarity method can be employed. In the multiple similarity method, a covariance matrix is calculated beforehand from sample pattern vectors associated with a large number of phonemes, and an eigen value and an eigen vector of the covariance matrix are stored as a reference pattern for each phoneme. Then, similarity s.sup.(c) [x(t)] to phoneme category is calculated by the following equation using input characteristic parameter vector x(t): ##EQU2## where λm(c) is an (m)th eigen value of the covariance matrix for category c, and φm(c) is an eigen vector when the norm is normalized to 1. (x(t), φm(c)) is an inner product of x(t) and φm(c). With the above equation (2), a similarity for each phoneme (since this similarity cannot be directly used in phoneme recognition, it is called an initial similarity) is calculated. 
     Initial similarity S.sup.(c) [x(t)] is input to similarity normalizing circuit 14, and is normalized in accordance with steadiness parameter v(t) obtained by acoustic analyzer 11. Here, normalization is a weighting for reflecting similarity information in accordance with the steadiness or unsteadiness of a phoneme. More specifically, the covariance matrix, as a base of eigen value λm(c) and eigen vector φm(c) both used in the calculation of the initial similarity, is constituted by samples extracted from speech patterns belonging to respective phoneme categories. However, these samples are either steady or unsteady depending on the types of phoneme. For this reason, it is impossible to calculate the similarity by the same calculation method with respect to all the phonemes. Therefore, for steady phonemes such as vowels, nasal sounds and the like, if the steadiness parameter of input speech is large, the similarity is preferably corrected to be a large value, and, on the contrary, if the steadiness parameter is small, it is preferably corrected to be a small value, since patterns extracted from a steady portion of the input speech are used as reference patterns. Similarly, for unsteady phonemes such as plosives, if the steadiness parameter of the input speech is small, the similarity is preferably corrected to be a large value, and if the steadiness parameter is large, it is preferably corrected to be a small value. The output from similarity normalizing circuit 14 is supplied to a word similarity calculator although not shown, and is used for word recognition. 
     Therefore, the initial similarity S.sup.(c) [x(t)] for a steady phoneme can be normalized (weighted) by normalizing function w[v(t)] which is increased in proportion to an increase in steadiness parameter v(t), as shown in FIG. 2A. On the other hand, the initial similarity S.sup.(c) [x(t)] for an unsteady phoneme can be normalized by normalizing function w[v(t)] which is decreased upon an increase in steadiness parameter v(t), as shown in FIG. 2B. Normalized similarity NS.sup.(c) [x(t)] finally obtained by this normalization is expressed as follows: 
     
         NS.sup.(c) [x(t)]=S.sup.(c) [x(t)] w[v(t)]                 (3) 
    
     where normalizing function w[v(t)] is selected as follows as shown in FIGS. 2A and 2B. 
     For a steady phoneme: ##EQU3## 
     For an unsteady phoneme: ##EQU4## 
     The normalizing function is set to be a nonlinear function so that the normalized similarity is not abruptly changed upon an abrupt change in steadiness parameter of speech, and stable normalization can be performed. Parameters v 0  and v 1  for determining an inclination of normalizing function w[v(t)] can be calculated from a reference phoneme parameter distribution prepared in advance. Parameter α can be set to be an appropriate value, e.g., 0.5. These normalizing parameters (v 0 , v 1 , α) are stored in normalizing parameter memory 15. Similarity normalizing circuit 14 determines which one of the normalizing functions shown in FIG. 2A or 2B is to be used in accordance with the phoneme category of each phoneme similarity supplied from initial similarity calculator 12, and also determines a normalizing function value in accordance with steadiness parameter v(t). Then, circuit 14 normalizes the initial similarity based on equation (3). 
     According to this embodiment as described above, when the similarity of a steady phoneme such as a vowel or nasal sound is to be calculated, the initial similarity is relatively increased if the input speech is steady, and is relatively decreased if the input speech is unsteady. When the similarity of an unsteady phoneme such as a fricative is to be calculated, the initial similarity is relatively decreased if the input speech is steady, and is relatively increased if the input speech is unsteady. As a result, a phoneme recognition error due to an accidental increase in similarity to a steady phoneme class at an unsteady portion of input speech, e.g., a so-called &#34;glide&#34; portion between adjacent phonemes can be prevented. 
     The effect of this embodiment will now be described with reference to FIGS. 3A to 3D. For example, as shown in FIG. 3A, assume that vowels &#34;a&#34; and &#34;i&#34; (Japanese) are continuously uttered. In this case, a large initial similarity value of &#34;e&#34; (Japanese) may be accidentally and frequently obtained at a boundary (glide) between vowels &#34;a&#34; and &#34;i&#34;, as shown in FIG. 3C. The initial similarity is corrected by the normalizing function shown in FIG. 2A or 2B. Steadiness parameter v(t) at the boundary portion at which the large initial similarity value &#34;e&#34; is obtained is small, as shown in FIG. 3B. Therefore, at this boundary portion, the normalizing function value for a steady phoneme is decreased, as shown in FIG. 2A, and the normalizing function value for an unsteady phoneme is increased, as shown in FIG. 2B. Though, &#34;e&#34; belongs to the steady phoneme category, the normalized similarity of &#34;e&#34; at the glide portion having the large initial similarity can be decreased relative to the steady portion which represents a vowel feature, as shown in FIG. 3D. 
     In contrast to this, &#34;a&#34; and &#34;i&#34; are steady phonemes, and steadiness parameters v(t) at these portions are large as shown in FIG. 3B. Therefore, the normalized similarities of &#34;a&#34; and &#34;i&#34; can be relatively increased at a steady portion and can be relatively decreased at a glide portion, as shown in FIG. 3D. 
     As a result, when the similarity calculation for input speech is performed, the similarity of a phoneme category can be obtained depending on the situation, and an improvement of a phoneme recognition probability can be expected. 
     In this embodiment, only the steadiness of a category is taken into account, two normalizing functions are prepared regardless of the types of category, and one of these functions is selected in accordance with whether or not a phoneme is steady. However, normalizing functions can be prepared for each category. In this case, a normalizing function is expressed by w.sup.(c) [v(t)] instead of w[v(t)]. 
     In the above description, a similarity in a narrow sense is used as phoneme information. However, a distance may be employed. In this case, initial similarity calculator 12 and similarity normalizing circuit 14 shown in FIG. 1 can be replaced with an initial distance calculator and a distance normalizing circuit, respectively. For example, if Mahalanobis distance is employed, an initial distance is calculated as follows: ##EQU5## where μ(c) is an average vector of training samples belonging to a (c)th category, and Σ(c) is its covariance matrix. 
     Normalizing function w&#39;[v(t)] is multiplied with the initial distance calculated as described above, thereby normalizing the initial distance. It should be noted that contrary to the case of similarity, in the case of a distance, the normalizing function shown in FIG. 2B is used for a steady phoneme, and a function shown in FIG. 2A is used for an unsteady phoneme. This is because the similarity is increased as parameters resemble a phoneme more closely, while a distance is decreased as parameters resemble a phoneme more closely. 
     According to the present invention as described above, since a phoneme similarity is calculated in accordance with steadiness or unsteadiness in each frame of input speech, an error in calculating a similarity for a steady phoneme class at a so-called &#34;glide&#34; portion between adjacent phonemes of the input speech and recognizing the phoneme is prevented. Therefore, a phoneme similarity calculating apparatus which can precisely calculate a similarity for each phoneme class of the input speech can be provided.