Abstract:
Disclosed is a speech recognition method in a speech recognition apparatus to applying speech recognition to a voice signal applied thereto. The input voice signal is converted from an analog to a digital signal and sequences of feature vectors are extracted based upon the digital signal (S 12 ). A search space is defined by the sequences of feature vectors and an HMM ( 16 ) prepared beforehand for each unit of speech. The search space allows a transition between HMMs only in specific feature-vector sequences. A search is conducted in this space to find an optimum path for which the largest acoustic likelihood regarding the voice signal is obtained to find the result of recognition (S 14 ), and this result is output (S 15 ).

Description:
FIELD OF THE INVENTION  
         [0001]    This invention relates to a speech recognition method and apparatus using a Hidden Markov Model, a program for executing speech recognition by computer, and a storage medium from which the stored program can be read by a computer.  
         BACKGROUND OF THE INVENTION  
         [0002]    Methods using the Hidden Markov Model (referred to as “HMM” below) are the focus of continuing research and application as effective methods of speech recognition, and many speech recognition systems are currently in use.  
           [0003]    [0003]FIG. 6 is a flowchart illustrating an example of conventional speech recognition using an HMM.  
           [0004]    Step S 1 , which is a voice input step, subjects a voice signal that has been input from a microphone or the like to an analog-to-digital conversion to obtain a digital signal. Step S 2  subjects the voice signal obtained by the conversion at step S 1  to acoustic analysis and extracts a time series of feature vectors. In acoustic analysis, an analytical window having a window width of 30 ms is provided for a voice signal, which is a continuous waveform that varies with time, and the voice signal is subjected to acoustic analysis while the analytical window is shifted by one-half to one-third the window width (i.e., 10 to 15 ms). The analytical results within each of the windows are output as feature vectors. The voice signal is converted to feature-vector sequences O(t) (1≦t≦/T), wherein t represents the frame number.  
           [0005]    Next, processing proceeds to step S 3 . This step includes generating a search space, in which the two axes are HMM state sequences and feature-vector sequences of the input voice, by using an HMM database  5 , which stores HMMs comprising prescribed structural units, and a dictionary  6  that describes the corresponding relationship between words to be recogized and HMM state sequences, and finding an optimum path using Viterbi algorithm for which the maximum acoustic likelihood is obtained, in this search space.  
           [0006]    The details of a procedure for the search will be described with reference to FIG. 7.  
           [0007]    [0007]FIG. 7 illustrates search space and the manner in which the search is conducted in a case where two words “akil” and “aka” are subjected to continuous speech recognition using phoneme HMMs. In FIG. 7, horizontal axis shows an example of feature-vector sequences and the vertical axis shows an example of the HMM state sequences.  
           [0008]    First, HMM state sequences corresponding to one or more words to undergo recognition are generated from the HMM database  5  and dictionary  6 , which describes the corresponding relationship between words to be recogized and the HMM state sequences. The HMM state sequences thus generated are as shown along the vertical axis in FIG. 7.  
           [0009]    A two-dimensional, grid-like search space is formed from the HMM state sequences thus generated and feature-vector sequences.  
           [0010]    Next, with regard to all paths that originate from “START” and arrive at “END” in the search space of FIG. 7, an optimum path for which the maximum cumulative acoustic likelihood will be obtained is found from the state output probability at each grid point and HMM state transition probability corresponding to a transition between grid points.  
           [0011]    Then, with regard to each of the grid points (state hypotheses) in search space, the cumulative acoustic likelihoods (state-hypothesis likelihoods) up to arrival at the respective grid points are calculated in numerical order from t=1 to t=T. A state-hypothesis likelihood H(s,t) of state s of frame t is calculated by the following equation: 
             H ( s,t )=max H (s′,t−1)× a ( s′,s )× b[s,O ( t )] s′εS′ ( s ) . . .   Eq. (1) 
           [0012]    where S′ (s) represents a set of states connected to state s, a(s′,s) represents the transition probability from state s′ to state s, and b[s,O(t)] represents the state output probability of state s with respect to a feature vector  0 (t).  
           [0013]    By using the state-hypothesis likelihood calculated above, the acoustic likelihood of the optimum path leading to “END” is calculated in accordance with the following equation: 
           max H ( s,T )× a ( s,s′ ) s εSf. . .    Eq. (2) 
           [0014]    where Sf represents a set of phoneme HMM states for which arrival at “END” is possible, i.e., a set of HMM final states representing each of the words to be recognized. Further, a(s,s′) denotes the probability of a transition from state s to other states.  
           [0015]    When the state-hypothesis likelihood of each state hypothesis is calculated in the calculation process described above, the states of the origins of transitions [s′ in Equation (1)] for which the state-hypothesis likelihood is maximized are stored and the optimum path for which the maximum acoustic likelihood is calculated by tracing the stored values.  
           [0016]    The HMM state sequences corresponding to the optimum path found through the above-described procedure are obtained and the recognized words corresponding to these state sequences are adopted as the results of recognition. In a case where the path indicated by the bold line in FIG. 7 is the optimum path for which the maximum cumulative acoustic likelihood is obtained, this path traverses the states of phoneme HMM/a/ /k/ /a/and therefore the result of speech recognition in this instance is “aka”.  
           [0017]    Finally, processing proceeds to step S 4  in FIG. 6, where the result of recognition is displayed on a display unit or delivered to another process.  
           [0018]    The search space shown in FIG. 7 increases in size in proportion to the number of words to be recognized and the duration of the input speech. This enlargement of the search space is accompanied by an enormous increase in the amount of processing needed to search for the optimum path. As a consequence, the response speed of speech recognition declines when implementing speech recognition applied to a large vocabulary and when implementing speech recognition using a computer that has an inferior processing capability.  
         SUMMARY OF THE INVENTION  
         [0019]    Accordingly, an object of the present invention is to provide a speech recognition method, apparatus and storage medium wherein high-speed speech recognition is made possible by reducing the amount of processing needed for speech-recognition search processing.  
           [0020]    According to the present invention, a speech recognition method for attaining the foregoing object comprises a speech recognition method comprising the steps of: extracting sequences of feature vectors from an input voice signal; and subjecting the voice signal to speech recognition using a search space in which an HMM-to-HMM transition is not allowed in specific feature-vector sequences.  
           [0021]    Further, a speech recognition apparatus for attaining the foregoing object comprises a speech recognition apparatus comprising: extraction means for extracting sequences of feature vectors from an input voice signal; and recognition means for subjecting the voice signal to speech recognition using a search space in which an HMM-to-HMM transition is not allowed in specific feature-vector sequences.  
           [0022]    Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same or similar parts throughout the figures thereof. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0023]    The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the principle of the invention.  
         [0024]    [0024]FIG. 1 is a block diagram illustrating the hardware implementation of a speech recognition apparatus according to an embodiment of the present invention;  
         [0025]    [0025]FIG. 2 is a flowchart illustrating speech recognition processing executed by the speech recognition apparatus according to an embodiment of the present invention;  
         [0026]    [0026]FIG. 3 is a diagram useful in describing paths for executing search processing according to an embodiment of the present invention;  
         [0027]    [0027]FIG. 4 is a diagram useful in describing a Hidden Markov Model;  
         [0028]    [0028]FIG. 5 is a diagram illustrating the manner in which words to be recognized are constructed by a plurality of phoneme models;  
         [0029]    [0029]FIG. 6 is a flowchart illustrating the procedure of speech recognition processing according to the prior art; and  
         [0030]    [0030]FIG. 7 is a diagram useful in describing search processing paths in a speech recognition method according to the prior art.  
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0031]    A preferred embodiment of the present invention will now be described in detail with reference to the accompanying drawings.  
         [0032]    [0032]FIG. 1 is a block diagram illustrating the hardware implementation of a speech recognition apparatus according to an embodiment of the present invention.  
         [0033]    As shown in FIG. 1, the apparatus includes an output unit  101 , which includes a display or printer, etc., for outputting the result of speech recognition or a response (document data) obtained from the result of speech recognition, and an input unit  102 , which is adapted to input voice from a microphone or the like and to input various data in response to operation by an operator using a keyboard and mouse, etc. The apparatus further includes a central processing unit (CPU)  103  for calculating numerical values and controlling the overall operation of the speech recognition, and a storage unit  104 , which includes an external memory device such as a disk drive and an internal memory such as a RAM or ROM, for storing a control program (illustrating in FIG. 2) for executing the procedure and processing of this embodiment. Also stored in the storage unit  104  are temporary data necessary for processing, a dictionary indicating the corresponding relationship between words to be recognized and HMMs, and the HMMs, etc. The apparatus further includes a speech recognition unit  105 .  
         [0034]    The operation of the speech recognition unit  105  will now be described.  
         [0035]    This embodiment will be described with regard to a case where input voice is subjected to continuous speech recognition using the state sequences of HMMs, in which the structural units of the HMMs are assumed to be phonemes and “aka”, “aki” are assumed to be the words undergoing recognition.  
         [0036]    [0036]FIG. 5 is a diagram illustrating the words to be recognized in this embodiment. Each word is composed of phoneme HMMs, and each phoneme HMM is constructed as a linkage of a plurality of states, as shown in FIG. 4.  
         [0037]    In FIG. 4, three states (S 1 , S 2  and S 3 ) are illustrated. Self-loop probability at state S 1  is indicated by a 11 , and the transition probability from state S 1  to state S 2  is indicated by a 12 . By using the Viterbi algorithm, the scores of paths within the search space are found based upon the transition probabilities between these states and then a search is conducted for the path that will afford the largest cumulative value (likelihood) of the score values.  
         [0038]    [0038]FIG. 2 is a flowchart illustrating speech recognition processing executed by the speech recognition unit  105  according to this embodiment. It should be noted that steps similar to those of the speech recognition method using the HMM of FIG. 6 will not be described in detail again. The description will start from search processing, which follows the extraction of feature-vector sequences O(t) (1≦t≦T) from input voice by the voice input processing at step S 11  (with corresponds to step S 1  in FIG. 6) and the acoustic analysis processing of step S 12  (which corresponds to step S 2 ).  
         [0039]    Processing proceeds from step S 12  to step S 13 , which is processing for generating search space. Specifically, state sequences of HMMs corresponding to one or more words to be recognized are generated using an HMM database  16 , which stores HMMs in which phonemes are the structural units, and a dictionary  17  that describes the corresponding relationship between words to be recogized and HMM state sequences, and generates a two-axis search space comprising feature-vector sequences O(t) and HMM state sequences (see FIGS. 3 and 7).  
         [0040]    [0040]FIG. 3 is a diagram useful in describing paths for executing search processing in the speech recognition apparatus according to this embodiment.  
         [0041]    The embodiment shown in FIG. 3 and the prior-art example of FIG. 7 differ in that when the search space is generated in FIG. 3, HMM-to-HMM transitions are allowed only in specific frames; an HMM-to-HMM transition is not allowed in frames other than these specific frames. As a result, it is possible to reduce the number of paths that are to be searched, and this in turn makes it possible to raise processing speed. By way of example, here the frames which allow the HMM-to-HMM transition are set in such a manner that the frame interval will be N (2≦N≦4).  
         [0042]    In the example of FIG. 3, N=3 is assumed to hold and the search space is established so as to allow the HMM-to-HMM transition every three frames. In comparison between FIGS. 3 and 7, the number of paths transit between HMMs in FIG. 3 is much less than the number of the paths in FIG. 7.  
         [0043]    According to the example of FIG. 3, the HMMs representing each of the phonemes (/a/, /k/, /i/) have three states and a transition from one HMM to another occurs in accordance with a predetermined transition rule. In this embodiment, a transition between these HMMs is allowed every N (=3) frames. More specifically, an HMM-to-HMM transition is allowed only in feature-vector sequences O(2), O(5), O(8), . . . , O(T−1).  
         [0044]    Next, processing proceeds to step S 14 . Here, with regard to all paths that originate from “START” and arrive at “END” in the search space of FIG. 3, the cumulative likelihood of each state hypothesis is calculated from the state output probability and the state transition probability corresponding to the transition between each of the grid points. Then, the optimum path which has the maximum cumulative acoustic likelihood is found. The method of searching for optimum path is processing similar to that of step S 3  in FIG. 6 and need not be described here. At step S 14 , however, the frames at which the HMM-to-HMM transition is allowed are determined in advance. As a result, the amount of calculation needed to calculate likelihood in this search processing is reduced in comparison with step S 3  of FIG. 6.  
         [0045]    The recognized words of the HMM sequences on the optimum path thus found are adopted as the results of recognition. These results are displayed on the display of output unit  101  or are delivered to other processing at the output processing of step S 15 .  
         [0046]    Thus, in accordance with this embodiment as described above, an HMM-to-HMM transition is allowed every N frames when search space is generated using the sequences of feature vectors and the HMM state sequences, thereby making it possible to reduce the number of paths searched so that a higher speech recognition speed can be achieved.  
         [0047]    This embodiment has been described with regard to a case where a transition between HMMs is allowed every N (N=3) frames at step S 13  in FIG. 2. However, this does not impose a limitation upon the invention. For example, taking into consideration the fact that the above-described search space grows in size with an increase in the number of words to be recognized or with an increase in duration of input speech, the frame interval at which the HMM-to-HMM transition is allowed can be enlarged in stages within the range 2≦N≦4 in accordance with the increase in number of words or increase in duration of input speech. Further, taking into consideration both an increase in the number of words to be recognized and an increase in duration of input speech, the frame interval can also be changed in stages within the range 2≦N≦4. By adopting this arrangement, a reduction in the number of search paths can be performed adaptively in dependence upon the scale of the search space, thereby making it possible to raise the speed of recognition processing.  
         [0048]    Further, step S 13  in this embodiment has been described with regard to a case where a transition between HMMs is allowed every N (N=3) frames with respect to all HMMs that are present with the HMM state sequences. However, this does not impose a limitation upon the invention. For example, the frame interval at which the HMM-to-HMM transition is allowed can be changed within the range 2≦N≦4 between prescribed HMMs. Further, it is possible to vary the frame interval every prescribed number of feature-vector sequences. This will make it possible to change the frame interval, using one frame interval for HMMs for which the frequency of transition to another HMM is high and using another frame interval for HMMs for which the frequency of transition to another HMM is low. As a result, a smaller search space can be achieved.  
         [0049]    Though the structural units of an HMM are described as being phonemes in the above embodiment, this does not impose a limitation upon the invention. For example, vocalized sounds such as syllables, demi-syllables, words and diphones may be adopted as the structural units.  
         [0050]    Further, though an example in which words in the Japanese language are recognized has been described, this does not impose any limitation and the invention is applicable to other languages as well.  
         [0051]    The present invention can be applied to a system constituted by a plurality of devices (e.g., a host computer, interface, reader, printer, etc.) or to an apparatus comprising a single device (e.g., a copier or facsimile machine, etc.).  
         [0052]    The present invention is not limited solely to the above-described apparatus and method that implement the foregoing embodiment. The scope of the present invention covers also a case where the program codes of software for implementing the foregoing embodiments are supplied to a computer (CPU or MPU) in a system or apparatus and the computer of the system or apparatus is made to operate the various above-mentioned devices in accordance with the program code.  
         [0053]    In this case, the program codes of the program per se implement the functions of the foregoing embodiment, and the program codes per se as well as the means for supplying these program codes to the computer, i.e., the storage medium on which these program codes have been stored, fall within the scope of the present invention.  
         [0054]    Examples of storage media that can be used for supplying the program code are a floppy disk, hard disk, optical disk, magneto-optical disk, CD-ROM, magnetic tape, non-volatile type memory card or ROM, etc.  
         [0055]    Furthermore, besides the case where the aforesaid functions according to the embodiment are implemented by controlling the various devices in accordance solely with the supplied program codes, the scope of the present invention covers a case where the program codes cooperate with an operating system running on the computer or with other application software or the like to implement the foregoing embodiments.  
         [0056]    Furthermore, the scope of the present invention further covers also a case where, after the program codes read from the storage medium are written in a function expansion board of a computer or in a memory provided in a function expansion unit connected to the computer, a CPU or the like contained in the function expansion board or function expansion unit performs a part of or the entire process in accordance with the designation of program codes and implements the functions of the above embodiments.  
         [0057]    Thus, in accordance with the embodiment as described above, an HMM-to-HMM transition is allowed only in specific frames when a search space for searching for maximum-likelihood state sequences is formed. As a result, paths to be searched can be reduced and it is possible to reduce the processing needed to search for the optimum path.  
         [0058]    The present invention is not limited to the above embodiment and various changes and modifications can be made within the spirit and scope of the present invention. Therefore, to apprise the public of the scope of the present invention, the following claims are made.