WO1999028898A1 - Systeme et procede de reconnaissance vocale - Google Patents

Systeme et procede de reconnaissance vocale Download PDF

Info

Publication number
WO1999028898A1
WO1999028898A1 PCT/JP1997/004324 JP9704324W WO9928898A1 WO 1999028898 A1 WO1999028898 A1 WO 1999028898A1 JP 9704324 W JP9704324 W JP 9704324W WO 9928898 A1 WO9928898 A1 WO 9928898A1
Authority
WO
WIPO (PCT)
Prior art keywords
speech recognition
voice
determined
phoneme
recognition units
Prior art date
Application number
PCT/JP1997/004324
Other languages
English (en)
French (fr)
Inventor
Kazuyoshi Ishiwatari
Kazuo Kondo
Shinji Wakisaka
Original Assignee
Hitachi, Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi, Ltd. filed Critical Hitachi, Ltd.
Priority to US09/554,003 priority Critical patent/US6631349B1/en
Priority to PCT/JP1997/004324 priority patent/WO1999028898A1/ja
Priority to JP2000523663A priority patent/JP3914709B2/ja
Publication of WO1999028898A1 publication Critical patent/WO1999028898A1/ja
Priority to US09/625,855 priority patent/US6411929B1/en

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/025Phonemes, fenemes or fenones being the recognition units

Definitions

  • the present invention relates to a speech recognition method for recognizing input speech using a phoneme model and a language model, and a speech recognition system using the same.
  • speech recognition functions or speech recognition devices have been incorporated in small information devices such as portable speech translators, personal digital assistants (PDAs), or many other devices or systems. It is getting.
  • Conventional speech recognition methods are mainly described as described in, for example, “Automatic Translation Telephone” edited by the International Telecommunications Research Institute (Ohmsha, published in 1994, pp. 10-29).
  • the phoneme model and the language model are stored in advance, and the input speech is recognized based on these stored models.
  • the language model includes reading and grammatical restrictions of different words, etc., and each phoneme model includes respective spectral characteristics of a plurality of speech recognition units. Phonemes or smaller phonemes are often used as speech recognition units.
  • another technique will be described using a case where a phoneme is used as a speech recognition unit as an example. Spectral characteristics and the like stored for each phoneme may also be called a phoneme model of the phoneme.
  • a plurality of phoneme sequences allowed by the language model are determined.
  • a plurality of phoneme model sequences corresponding to each of the permissible phoneme sequences are generated, and each phoneme model sequence is collated with the input speech, and the best matching phoneme model sequence is determined. Selected.
  • the input speech is divided into sections called frames, and each frame is divided into a plurality of sounds constituting one phoneme model sequence.
  • the phoneme model is sequentially collated, and an evaluation value representing the similarity between the phoneme model and the input speech is calculated. This collation is repeated for different phoneme model sequences. This check is repeated for different frames.
  • the evaluation value obtained by matching each phoneme model in each phoneme model sequence with a frame containing the input speech is also used for matching in the next frame.
  • the processing time is long because all the frames of the input speech are collated with the all phoneme models in the all phoneme model sequence. Furthermore, the evaluation value obtained by matching each phoneme model in each phoneme model sequence with a certain frame of the input speech needs to be stored for matching in the next frame. For this reason, the memory requirement increases as the total number of phoneme model sequences increases.
  • a beam search method that limits the phoneme models to be matched to only some phoneme models that are likely to be candidates for the final recognition result when matching each frame of the input speech
  • a method called is known. Specifically, it is determined whether or not each phoneme model is to be left as a collation target in the next frame based on the evaluation value calculated in a certain frame for the entire phoneme model sequence.
  • a judgment method a first method of leaving a fixed number of phoneme models in order from a phoneme model having a higher evaluation value, a second method of calculating a threshold value of the evaluation value and leaving only a phoneme model having an evaluation value higher than this threshold value Alternatively, a method using both methods in combination is used. Disclosure of the invention
  • the conventional beam search method has a problem that it takes time to select some phoneme models. That is, in the first method in which a fixed number of phoneme models are left in order from the phoneme model with the highest evaluation value, the evaluation values for all phoneme models must be sorted. Generally, the sorting process takes time. Furthermore, even in the second method, in which only the phoneme model having a higher evaluation value than the threshold value is used, calculation for obtaining the threshold value is required, and this calculation takes time.
  • An object of the present invention is to provide a speech recognition method and a speech recognition system using the same, which can reduce the required memory capacity after a long calculation time.
  • the speech recognition method uses one partial speech (for example, a frame) and a plurality of speech recognition units (for example, a phoneme or a phoneme fragment) representing speech candidates.
  • a part of the plurality of voice recognition units is compared with the partial voice.
  • some speech recognition units to be matched with the next partial speech are dynamically selected according to the result of matching with the preceding partial speech.
  • the speech recognition method according to the present invention includes:
  • One of a plurality of candidate voices is sequentially collated with a plurality of ordered partial voices obtained by dividing a voice to be recognized
  • the upper part of the speech recognition unit is used when performing the above step (a) for the next partial speech.
  • FIG. 1 is a schematic block diagram of a speech recognition system using the speech recognition method according to the present invention.
  • FIG. 2 is a schematic flowchart of a speech recognition program used in the apparatus of FIG.
  • FIG. 3 is a schematic flowchart of the matching process (207) in the flowchart of FIG.
  • FIG. 4 is a schematic flowchart of the evaluation value calculation processing (404) and the collation start position update processing (406) in the flowchart of FIG.
  • FIG. 5 is a diagram showing a conventional procedure for calculating an evaluation value for a speech model sequence.
  • FIG. 6 is a diagram illustrating a procedure for calculating an evaluation value using transition probabilities.
  • FIG. 7 is a diagram showing a procedure according to the present invention for calculating an evaluation value for a speech model sequence.
  • 101 is a microphone for voice input
  • 102 is an amplifier and A / D converter for the input voice
  • 103 is a FIFO buffer for temporarily storing the input voice.
  • Reference numeral 104 denotes a dictionary / grammar file that stores vocabulary and grammatical restrictions of words and the like representing recognition candidate speech
  • reference numeral 105 denotes a phoneme model file that stores phoneme models for a plurality of speech recognition units.
  • Each of the files 104 and 105 is composed of a ROM such as a semiconductor ROM or a CD-ROM.
  • a phoneme is used as a phoneme recognition unit.
  • Reference numeral 107 denotes a memory that stores a speech recognition program, and is configured by ROM.
  • Reference numeral 108 denotes a memory used by the program for work, and is configured by a rewritable random access memory (RAM). 1 109 is to transfer the recognition result data to a display device (not shown). Exemplifies one of various external interface circuits for transmitting the recognition result data to another device via a communication path.
  • Reference numeral 106 denotes a microprocessor (CPU) for controlling the above circuits or memories via the bus 110 or a signal line (not shown). It is desirable that parts other than the microphone 101 in the illustrated device are formed on a single semiconductor chip by an integrated circuit technology.
  • the CPU When the CPU is initialized by a command such as POWER—ON—RESET, the CPU transfers the voice recognition program from the ROM 107 to the RAMI 08. This is because RAMI 08 has a faster access speed than ROM 107. After the transfer of this program is completed, the CPU executes the transferred program.
  • the processing flow of the speech recognition program will be described with reference to the flowchart of FIG.
  • the phoneme model file 105 is read into RAMI 08 (201).
  • the phoneme model file 105 holds a feature vector obtained by analyzing each of a plurality of phonemes used as a speech recognition unit. This feature vector is the same as that generated for the input speech described later.
  • speech recognition is performed based on a Hidden Marcov Model (hereinafter sometimes referred to as an HMM model) that is often used.
  • HMM model a Hidden Marcov Model
  • the phoneme model for each phoneme further has a transition probability from the phoneme to the phoneme or another phoneme.
  • the dictionary / grammar file 104 includes vocabulary such as words to be recognized. Each word or the like is composed of a character string representing a plurality of speech recognition units constituting the word to be recognized, and specifically, is composed of a series of spoken characters representing a series of phonemes constituting the word to be recognized. For example, the name “Suzuki” is represented by a sequence of three phonemes “su zu ki”. This file also includes grammatical restrictions, but in the following, speech recognition processing using only words will be described, and description of speech recognition using grammatical restrictions will be omitted.
  • each word in the dictionary / grammar file 104 is converted into a corresponding phoneme model sequence (203).
  • each phoneme of the phoneme sequence constituting each word read in step 202 is replaced with a phoneme model corresponding to each phoneme read in step 201, and the phoneme sequence constituting each word is replaced.
  • the phoneme model sequence corresponding to is obtained.
  • the voice input from the microphone 101 is amplified by the amplifier and the A / D converter 102 and further converted into a digital signal.
  • the obtained digital signal is sampled in a predetermined time unit via the FIFO buffer 103, and several points of sampled audio information are sent together to the RAM 108 (205).
  • the collected audio information of several points is called a frame.
  • One frame is usually audio information for a period of about 15 to 30 ms.
  • the next frame is generated from the input speech by shifting it by less than one frame time (about 5 to 20 ms), as is usually the case.
  • the spectrum of each frame is analyzed, and a sequence of feature vectors representing the features of the frame is generated (206).
  • LPC linear predictive analysis
  • the present invention can also use other speech analysis, and can also use LPC Delaware cepstrum, mel cepstrum, log power, etc. as feature vectors.
  • each of the phonemes constituting each word and the input frame are collated according to the method defined by the HMM model.
  • the likelihood between each phoneme and the input frame is calculated, and based on the likelihood, a plurality of similarities indicating the similarity between one phoneme of the phoneme sequence corresponding to the word and the input frame. Is evaluated (207). Details of this calculation will be described later.
  • This collation is performed on all words registered in the dictionary / grammar file 104. afterwards, Steps 205 through 2007 are repeated for subsequent frames. During this repetition, in step 204, it is determined whether or not the input voice has ended based on the input voice's value.
  • a word including a phoneme having the highest evaluation value is selected based on the matching result up to that time (208), and the external interface circuit 10 is connected to a display device or data processing device (not shown). Transferred via 9 (209).
  • an evaluation value for each phoneme in the speech model sequence is calculated according to a forward calculation algorithm known per se.
  • the present embodiment is characterized in that the phoneme model for which the evaluation value is calculated is limited by a simple method.
  • FIG. 5 is a trellis diagram showing a conventional method of calculating an evaluation value for each phoneme model in each phoneme model sequence using a forward calculation algorithm.
  • speech recognition based on the HMM model
  • each of a plurality of phoneme models constituting a phoneme model sequence corresponding to one of the words is processed as if it represents one state.
  • the vertical axis represents states 1, 2, 4 corresponding to the four phoneme models that make up one phoneme model sequence corresponding to one word. These four states are ordered in the same order as the phoneme models that make up the phoneme model sequence. For example, states 1,,, and 4 correspond to the first,,, and fourth phoneme models that appear in the phoneme model sequence.
  • the horizontal axis represents frames that are sequentially input.
  • the circles in the figure are provided corresponding to a combination of one frame and one state, and the numbers in the figures represent the evaluation values of the phoneme model corresponding to the state for that frame.
  • the right shoulder of the mark indicates the likelihood calculated between the frame and the phoneme model in the manner described below.
  • the number attached to the arrow to the right of the circle indicates the probability that the state will transition to the same state in the next frame. Are determined in advance without depending on the input frame.
  • the arrow pointing to the lower right of the circle is the probability that the state transitions to the next state in the next frame, and this transition probability is also predetermined without depending on the input frame.
  • the evaluation value of each state for frame 0 is given in advance as an initial value. Since the 0-frame is considered to be the head of the input speech signal, the evaluation value of only the phoneme model (state 1) at the head of the phoneme model sequence constituting the word to be computed is set to "0", and the others are "-- ⁇ "Is given as an initial value. This assumes that the first frame of the input speech will always match the first phoneme model.
  • the evaluation value of each state in the frames after frame 1 is calculated with respect to the previous frame of the frame, the likelihood of the previous frame and the state, and the likelihood of the state. It is determined as follows by a predetermined transition probability.
  • the evaluation values in a certain frame n for two states in a phoneme model sequence constituting a certain word; j are A and B, respectively. These evaluation values are determined by matching in the frame preceding this frame, or are given as initial values for these states.
  • the likelihood between frame n and each state; U j is calculated.
  • the likelihood is the similarity between the phoneme model corresponding to each state and frame n. Specifically, as is known per se, the feature vector of the phoneme model corresponding to each state and the frame It is expressed as the distance from the feature vector obtained by analyzing n. This distance is actually the Euclidean distance or the like.
  • the Euclidean distance is given by the sum of the squares of the difference between the coordinates of each dimension of the two vectors, as is known per se. If normalization is required for each dimension, each dimension is normalized by a predetermined coefficient and then squared. When the LPC cepstrum described above is used as a feature vector for these coefficients, the coefficients of this cepstrum are used for these coefficients.
  • the likelihood between state i, j and frame n is N i, N j respectively.
  • the evaluation value C of state i for the next frame n + 1 is the state that precedes this state i When there is no, it is expressed by the sum of the likelihood N i and the transition probability P ii from state i to state i.
  • the evaluation value of state j for frame i + 1 is calculated by the following method. Now, assuming that a transition has been made from state i in frame n to state j in frame n + 1, the evaluation value D i of state j in frame n + 1 is the evaluation value A of state i in frame n, and the state i for frame n. Is given by the sum of the likelihood N i and the transition probability P ij from the state i to j.
  • the evaluation value D j of the state j in the frame n + 1 is the evaluation value B of the state j in the frame n, and the frame It is given by the sum of the likelihood N j of state j with respect to n and the transition probability P jj from state j to j.
  • the larger of the above evaluation values Di and Dj is used as the evaluation value for state j in frame n + 1.
  • the likelihood for the state: j in frame n + 1 is also calculated, and these are used to calculate the evaluation values of these states in the next frame n + 2.
  • FIG. 5 shows the evaluation values thus calculated for frames 0 to 5.
  • the largest evaluation value among the plurality of evaluation values for each word is used as the evaluation value for that word.
  • 319 is the evaluation value for this word. Note that in FIG. 5, only two states, the same state or the next state, are assumed as transition destinations of each state. However, in general, each state can transition to more states. However, in this case, the evaluation value of each state after the transition is calculated in the same manner.
  • the path that selects the state having the highest evaluation value for each frame and continuously obtains the states selected for different frames is known as the bi-night path.
  • the route connecting state 4) is the evening route.
  • the state with the largest evaluation value in each frame is In contrast, it represents the most similar phoneme in the word being processed. Therefore, the state sequence connected by the video path represents a phoneme sequence similar to the input speech for the word being processed.
  • Number of operations number of frames X number of words
  • the matching process 207 is performed for each of the words registered in the dictionary / grammar file 104 with respect to a part of the phonemes selected as the matching target in the phoneme model sequence corresponding to the word.
  • An evaluation value between each of the model groups and the input frame is calculated (404).
  • the phoneme model sequence for each word the phoneme model group to be collated is, for the first frame, a plurality of (m + 1) phoneme models located at the beginning of the phoneme model sequence.
  • the first phoneme model of the phoneme model group to be collated in the next frame is determined from the phoneme model sequence for the same word (406).
  • the next word is selected as a collation target (4 07), and the above processing 4 04 and 4 06 are repeated. This repetition is performed until all the words in the dictionary 'grammar file 104 are exhausted (401).
  • the processing 4 04 it is determined whether or not the frame being processed is the first frame (8 0 1).
  • the value 1 is set as the position n of the phoneme model to start matching in the phoneme model sequence corresponding to the word. That is, it is specified that the matching is started from the first phoneme model in the phoneme model sequence. If the frame being processed is not the first frame, the value of the collation start position n determined by the process 406 for the first frame is used.
  • the evaluation values Pn (I) to Pn + m (I) for each of the (n + m) -th phoneme model and the input frame are calculated from the n-th phoneme model thus determined.
  • I is the frame number.
  • the calculation at this time uses the other method described with reference to FIG. Also, the likelihood between each of these phoneme models and the input frame is calculated in the same way as ⁇ .
  • the matching start position in the next frame for the same word is determined using these determined evaluation values. That is, the evaluation values P n (I) and P n + m (I) of the n-th phoneme model and the (n + m) -phoneme model located at both ends of the matched m + 1 phoneme model group are compared. Yes (805). If the latter is greater than the former, the value of the collation start position n in the next frame is increased by 1 (806). This is because, when the determination 804 is satisfied, it is determined that the input frame is already more similar to the subsequent phoneme model than the n-th phoneme model. If this determination is not made, the collation start position n is not changed. As described with reference to Fig.
  • judgment 8 0 5 Before executing the judgment 804, it is judged whether or not there is another state which can be newly changed to the collation target. Specifically, it is determined whether the number (n + m) of the last phoneme model in the current phoneme model group to be matched is equal to the total number of states for the word being processed. That is, it is determined whether the (n + m) -th phoneme model located at the end of the phoneme model sequence being processed is the last phoneme model in the phoneme model sequence for the word being processed. If this determination is made, the above processes 805 and 806 are not executed. Therefore, when there is a frame to be input after that, the calculation of the evaluation value for the (m + 1) phoneme models located at the end of the phoneme model sequence is continued. Thus, the matching with the phoneme model sequence corresponding to one word for one frame is completed.
  • the judgment in process 801 is established, and in process 802, the collation start position n for states 1 and 2 is both set to 1, and states 1 and 2 are collated. Selected as a target. However, in the process 803, the evaluation values P 1 (0) to P 2 (0) for these states are not calculated, and the initial values 0 and 10 predetermined for the state 2 remain unchanged. It is used as an evaluation value of those states. In this process 803, the likelihood of states 1 and 2 for frame 0 is calculated. Here, these likelihoods are assumed to be 30 and 20 respectively. Judgment 804 does not hold for the current phoneme model group to be matched. Since the judgment 805 does not hold for the above two evaluation values, the collation start position n is not changed, and the collation of this word with respect to frame 0 ends.
  • decision 8 0 1 does not hold.
  • evaluation values P1 (1) to P2 (1) for the first and second phoneme models are calculated. Here, these evaluation values are 3 3 and 3 7 respectively. You.
  • the likelihood of frame 1 and each of states 1 and 2 is also calculated, and they are assumed to be 10 and 40, respectively.
  • Judgment 804 does not hold for the current phoneme model group to be collated. Since the judgment 805 is established for the above two evaluation values, the matching start position n is updated to 2 by the processing 806.
  • the evaluation value for state 2 is large. That is, the input frame is considered more similar to state 2. If the input frame actually matches the state 2 at this time, it is considered that the evaluation value of the state 1 does not affect the probability value of the final state in the word in the video search. Therefore, the state where the collation is started for the next frame 2 is advanced to the next state.
  • the decision 8 0 1 does not hold. Since the collation start position n has been updated to 2, in process 803, the evaluation values P2 (2) to P3 (2) for the second to third phoneme models are calculated. Here, it is assumed that these evaluation values are 85 and 84, respectively. In process 803, the likelihood of frame 2 and each of states 2 and 3 is also calculated, and they are assumed to be 50 and 40, respectively. Judgment 804 does not hold for the current phoneme model group to be collated. Since the judgment 805 does not hold for the above two evaluation values, the processing 806 is not executed, and the collation start position n remains 2.
  • the decision 8 0 1 does not hold. Since the collation start position n remains 2, in the process 803, the evaluation values P2 (3) to P3 (3) for the second to third phoneme models are calculated. Here, it is assumed that these evaluation values are 14 2 and 14 3 respectively. In process 80 3, the likelihood of frame 3 and each of states 2 and 3 is also calculated, and they are assumed to be 10 and 90 respectively. Judgment 804 does not hold for the current phoneme model group to be collated. Since the judgment 805 is satisfied for the above two evaluation values, the processing 806 is executed, and the collation start position n is updated to 3.
  • the decision 801 does not hold. Since the collation start position n remains 3, in the process 803, the evaluation values P3 (5) to P4 (5) for the third to fourth phoneme models are calculated. Here, it is assumed that these evaluation values are 318 and 319, respectively. In the process 803, the likelihood of the frame 5 and each of the states 2 and 3 is also calculated. In the figure, those likelihoods are omitted. Since the judgment 804 is established for the current phoneme model group to be collated, the processes 805 and 806 are not executed. The collation start position n remains at 3. If there is a subsequent frame, the same processing as that for frame 5 is performed.
  • the present invention is not limited to the above-described embodiment, and can be implemented in various other forms including some modified examples exemplified below.
  • the following method can be adopted in place of the above judgment 805 (Fig. 4) on whether or not the phoneme model to be collated should be changed. That is, the phoneme model having the largest evaluation value among the evaluation values Pn (I) to Pn + m (I) for the nth to (n +) th phoneme model groups is detected, and the phoneme model is determined. It is determined whether or not these phoneme models are located at the end from the center. That is, when the phoneme having the maximum evaluation value is the (n + g) th phoneme model, it is determined whether g> m / 2 is satisfied. If the phoneme model with the largest evaluation value is at the end of the phoneme model group, execute processing 806 (Fig. 4).
  • the state start position n is set so that the phoneme model having the evaluation value of the dog is almost at the center of the phoneme model group to be matched. It is also possible to update. Again, (m + 1) must be greater than one. This method is different from the method of determining whether to change the phoneme model to be collated as described in the embodiment or the method of the first modification. It is possible to more accurately determine the necessity of switching the collation target.
  • a phoneme is used as a speech recognition unit. That is, the dictionary and grammar file 106 stores character strings representing phoneme strings constituting each word, the phoneme model file 105 stores HMM models of various phonemes, and the speech recognition program uses these files. We generated a phoneme model sequence corresponding to each word using.
  • the present invention can also be applied to a speech recognition system that uses phoneme segments that are smaller units than phonemes as speech recognition units. That is, the phoneme model file 105 stores a model for a phoneme piece that is a unit smaller than a phoneme.
  • the phoneme “ss” and “su” are stored in place of the phoneme “su”
  • the phonemes “zz” and “zu” are stored in place of the phoneme “zu”
  • the phoneme “ki” is used instead of the phoneme “ki”.
  • the pieces “kk” and “ki” are stored.
  • the speech recognition program generates a phoneme sequence “s s” “su” “zz” “zu” “kk” “ki” corresponding to the word “su zu k i”. In this case as well, each phoneme segment is treated as one state in the first embodiment.

Description

明 細 書 音声認識方法およびシステム 技術分野
本発明は、 音素モデルおよび言語モデルを用いて、 入力された音声を認識す る音声認識方法およびそれを用いた音声認識システムに関する。
近年、 携帯型音声翻訳機、 個人デジタル支援装置 (P D A) に代表される小型 情報機器、 あるいは力一ナピゲ一シヨンシステムその他の多くの装置あるいはシ ステムにおいて、 音声認識機能あるいは音声認識装置が組み込まれつつある。 従来の音声認識方法は、 例えば国際電気通信基礎技術研究所編集の 「自動翻訳 電話」 (オーム社、 平成 6年発行、 第 1 0頁から第 2 9頁) に解説されているよ うに、 主として、 音素モデルと言語モデルを予め記憶し、 入力された音声をこれ らの記憶されたモデルに基づいて認識する。 言語モデルは、 異なる単語等の読み および文法上の制約を含み、 各音素モデルは、 複数の音声認識単位のそれそれの スペクトル特性等を含む。 音声認識単位としては、 音素あるいはそれより小さな 音素片がよく使用される。 以下では、 音声認識単位として音素を用いる場合を例 にして «の技術を説明する。 各音素に対して記憶されたスぺクトル特性等もそ の音素の音素モデルと呼ぶことがある。
言語モデルにより許される複数の音素列が決定される。 音声認識時にこれらの 許される複数の音素列の一つにそれそれ対応する複数の音素モデル列が生成され、 各音素モデル列と入力音声との照合が行われ、 最もよく一致する音素モデル列が 選択される。 各音素モデル列と入力音声の照合においては、 入力音声をフレーム と呼ばれる区間に区分し、 各フレームを一つの音素モデル列を構成する複数の音 素モデルと順次照合され、 その音素モデルと入力音声の類似度を表す評価値が計 算される。 この照合を異なる音素モデル列に対して繰り返される。 この照合がさ らに異なるフレームに対して繰り返される。 各音素モデル列の各音素モデルと入 力音声のあるフレームとの照合により得られた評価値は、 次のフレームにおける 照合にも使用される。
このように、 従来の音声認識方法では、 入力音声の全フレームを、 全音素モデ ル列内の全音素モデルと照合するために処理時間が長くなる。 さらに、 各音素モ デル列内の各音素モデルと入力音声のあるフレームとの照合により得られる評価 値は、 次のフレームでの照合のために記憶する必要がある。 このために、 音素モ デル列の総数が多くなるほど必要なメモリ量が多くなる。
上記処理時間を低減するために、 入力音声の各フレームに対する照合時に、 照 合すべき音素モデルを、 最終的な認識結果の候補となる見込みのある一部の音素 モデルのみに制限するビーム探索法と呼ばれる方法が知られている。 具体的には、 全音素モデル列に対してあるフレームで計算された評価値によりそれそれの音素 モデルを次のフレームでの照合対象に残すかどうかが判定される。 その判定方法 として、 評価値が高い音素モデルから順に一定数の音素モデルを残す第 1の方法、 評価値の閾値を計算し、 この閾値より高い評価値を有する音素モデルのみを残す 第 2の方法あるいは両者の方法を併用する方法等が用いられる。 発明の開示
従来のビーム探索法では、 一部の音素モデルを選択するための処理に時間が掛 かるという問題がある。 すなわち、 評価値が高い音素モデルから順に一定数の音 素モデルを残す上記第 1の方法では、 全音素モデルに対する評価値をソ一トしな ければならない。 一般にソート処理は時間が掛かる。 さらに、 閾値よりも高い評 価値を有する音素モデルのみを残す上記第 2の方法でも、 閾値を求める計算が必 要になり、 この計算に時間が掛かる。 本発明の目的は、 計算時間ある 、は必要となるメモリ容量を低減できる音声 認識方法およびそれを用いた音声認識システムを提供することである。
上記目的を達成するために、 本発明による音声認識方法は、 一つの部分音声 (たとえばフレーム) と音声候補を表す複数の音声認識単位 (たとえば音素ある いは音素片) との照合にあたっては、 これらの複数の音声認識単位の一部と上記 部分音声とを照合する。 このために、 先行する部分音声との照合結果に応じて、 次の部分音声と照合されるべき一部の音声認識単位を動的に選択する。 この結果、 照合が必要な一部の音声認識単位についてのみ照合を行えばよく、 照合のための 処理時間とメモリ領域を大幅に削減できる。
すなわち、 本発明による音声認識方法は、
( a ) 複数の候補音声の一つを、 認識すべき音声を区分して得られる順序づけ られた複数の部分音声と順次照合し、
( b ) 上記ステップ (a ) を他の複数の候補音声に対して実行するステップを 有し、
上記ステップ(a) は、
( a 1 ) 上記複数の部分音声の一つと上記複数の候補音声の一つを表す順序づ けられた複数の音声認識単位の内の一部の複数の音声認識単位との間の類似度を 表す複数の尤度を決定し、
( a 2 ) 上記ステップ (a l ) で決定された複数の尤度と、 上記一部の音声認 識単位の異なる組み合わせに対する複数の遷移確率とに基づいて、 上記一部の音 声認識単位と上記入力音声との類似度を表す複数の評価値を決定し、
( a 3 ) 上記決定された複数の評価値に基づいて、 上記一つの部分音声の次の 部分音声に対して使用されるべき新たな一部の音声認識単位を決定するステップ を有し、
上 Bffたな一部の音声認識単位は、 上記次の部分音声に対して上記ステップ ( a) を実行するときに使用される。 図面の簡単な説明
図 1は、 本発明による音声認識方法を使用する音声認識システムの概略プロヅ ク図である。
図 2は、 図 1の装置に使用される音声認識プログラムの概略フローチャートで める。
図 3は、 図 2のフローチャート内の照合処理 ( 2 0 7 ) の概略フローチャート である。
図 4は、 図 3のフローチャート内の評価値計算処理 ( 4 0 4 ) と照合開始位置 更新処理 (4 0 6 ) との概略フローチャートである。
図 5は、 音声モデル列に対する評価値を算出する従来の手順を示す図である。 図 6は、 遷移確率を使用して評価値を算出する手順を説明する図である。
図 7は、 音声モデル列に対する評価値を算出する本発明による手順を示す図 である。 発明を実施するための最良の形態
図 1において、 1 0 1は音声入力用マイク、 1 0 2は入力された音声に対する アンプおよび A/D変換器、 1 0 3が入力された音声を一時的に蓄積するための F I F O型のバッファである。 1 0 4は、 認識候補音声を表す単語等の語彙と文 法上の制限を記憶した辞書 ·文法ファイル、 1 0 5は複数の音声認識単位に対す る音素モデルを記憶した音素モデルファイルであり、 ファイル 1 0 4と 1 0 5は、 いずれも半導体 R OMまたは C D— R OMなどの R OMにより構成される。 本実 施例では音素認識単位として音素を使用する。 1 0 7は音声認識プログラムを記 憶したメモリであり、 R OMにより構成される。 1 0 8はプログラムがワーク用 に用いるメモリであり、 書き換え可能なランダムアクセスメモリ (RAM) によ り構成される。 1 0 9は表示装置 (図示せず) へ認識結果デ一夕を転送しあるい は他の装置に認識結果デ一夕を通信路を介して伝送するためのいろいろの外部ィ ン夕一フェース回路の一つを例示する。 106は以上の回路あるいはメモリをバ ス 110あるいは図示しない信号線を介して制御するマイクロプロセッサ (CP U)である。 図示された装置の内、 マイク 101以外の部分は、 単一の半導体チ ップ上に集積回路技術により構成されることが望ましい。
POWER— ON— RESETなどのコマンドにより C P Uを初期化すると、 CPUは、 ROM 107から音声認識プログラムを、 RAMI 08に転送する。 これは RAMI 08の方が: ROM 107よりもアクセス速度が速いためである。 このプログラムの転送完了後は、 CPUは転送されたプログラムを実行する。 音声認識プログラムの処理の流れを図 2のフローチャートを用いて説明する。 このプログラムが起動されると、 まず音素モデルファイル 105を RAMI 08 に読み込む (201)。 音素モデルファイル 105には、 音声の認識単位として 使用される複数の音素のそれぞれを分析して得られる特徴べクトルを保持する。 この特徴べクトルは、 後に説明する入力音声に対して生成されるものと同じもの である。 本実施の形態では、 音声認識は、 通常よく使用される隠れマルコフモデ ル (Hidden Marcov Model) (以下、 HMMモデルと呼ぶこ とがある) に基づいて行われる。 このモデルに従う音声認識では、 各音素に対す る音素モデルは、 さらに、 その音素からその音素もしくは他の音素への遷移確率 を有する。
その後、 辞書 ·文法ファイル 104を RAM 108に読み込む ( 202 )。 辞 書 ·文法ファイル 104は、 認識対象の単語等の語彙を含む。 各単語等は、 認識 すべき単語を構成する複数の音声認識単位を表す文字列からなり、 具体的には、 認識すべき単語を構成する一連の音素を表す一連の口一マ字からなる。 例えば、 氏名 「鈴木」 は、 3つの音素の列 「su zu ki」 で表される。 なお、 この ファイルはさらに文法上の制限も含むが、 以下では、 単語のみを用いた音声認識 処理について説明し、 文法上の制限を使用した音声認識の説明は省略する。 次に、 辞書 ·文法ファイル 104内の各単語を対応する音素モデル列に変換す る (203)。 この変換では、 ステップ 202で読み込まれた各単語を構成する 音素列のそれそれの音素が、 ステップ 201で読み込まれたそれそれの音素に対 する音素モデルで置換され、 各単語を構成する音素列に対応する音素モデル列が 得られる。
マイク 101から入力された音声は、 アンプおよび A/D変換器 102によ り増幅され、 さらにディジタル信号に変換される。 得られたディジタル信号は、 F I FOバッファ 103を介してあらかじめ決められた時間単位でサンプリング され、 数ボイントのサンプリングされた音声情報がまとめて RAM 108に送ら れる (205)。 このまとめられた数ポイントの音声情報はフレームと呼ばれる。 1フレームは、 通常 15〜30ms程度の期間の音声情報である。 次のフレーム は、 通常そうであるように、 1フレーム時間より短い時間 (5〜20ms程度) だけシフトして入力音声から生成される。 各フレームのスぺクトルが分析され、 そのフレームの特徴をあらわす特徴ベクトル列が生成される (206)。 この分 析には、 一般的に用いられている線形予測分析 (Linear Predict i ve Co r d ing— LPC) が使用され、 特徴パラメ一夕としては、 LP Cケプストラムが生成される。 しかし、 本発明は他の音声分析も使用でき、 特徴 ベクトルとしても LPCデル夕ケプストラム、 メルケプストラム、 対数パワーな ども用いることができる。
生成された特徴べクトル列と、 ステップ 203により求められた各単語を構成 する音素モデル列にしたがって、 各単語を構成する音素のそれそれと入力された フレームとが HMMモデルで定められる方法に従って照合される。 すなわち、 そ れそれの音素と入力フレームとの間の尤度が算出され、 その尤度に基づいて、 そ の単語に対応する音素列の一つの音素と入カフレームとの類似度を表す複数の評 価値が計算される (207)。 この計算の詳細は後に説明する。 この照合は、 辞 書 ·文法ファイル 104に登録されたすベての単語に対して実行される。 その後、 ステップ 2 0 5から 2 0 7が後続のフレームに対して繰り返される。 この繰り返 しの中でステップ 2 0 4において、 入力音声が終了したか否かが入力音声のパヮ 一値に基づいて判定される。 入力音声が終了した場合は、 それまでの照合結果に 基づいて最も高い評価値を有する音素を含む単語が選択され (2 0 8 ) 、 図示し ない表示装置またはデータ処理装置に外部インターフェース回路 1 0 9を介して 転送される (2 0 9 ) 。 上記照合処理 2 0 7では、 それ自体公知の前向き計算ァ ルゴリズムに従って音声モデル列の各音素に対する評価値を算出する。 本実施の 形態では、 この評価値を算出する対象の音素モデルを簡単な方法で制限するとこ ろに特徴がある。
以下では、 前向き計算アルゴリズムを用いた、 本実施の形態による評価値の計 算方法を説明する前に、 同じアルゴリズムを用いた従来の評価値の計算方法を説 明する。
図 5は、 前向き計算アルゴリズムを用いた、 従来の各音素モデル列内の各音 素モデルに対する評価値の計算方法を示すトレリス図である。 HMMモデルに基 づく音声認識では、 いずれかの単語に対応する音素モデル列を構成する複数の音 素モデルの各々がーつの状態を表すと見なして処理される。 図 5において、 縦軸 は一つの単語に対応する一つの音素モデル列を構成する 4つの音素モデルに対応 する状態 1, 2, , 4を表す。 これらの 4つの状態は、 その音素モデル列を構成 する音素モデルの順番と同じ順に順序付けられている。 例えば、 状態 1、 、 、 4 は、 その音素モデル列に出現する第 1、 、 、 第 4の音素モデルに対応する。 横軸 は順次入力されるフレームを表す。
図中の丸印は、 一つのフレームと一つの状態との組み合わせに対応して設けら れ、 その中の数字は、 そのフレームに対する、 その状態に対応する音素モデルの 評価値を表し、 その丸印の右肩には、 そのフレームとその音素モデルとの間の、 後に説明する方法で計算される尤度が示されている。 丸印の右向きの矢印に付カロ された数字は、 その状態が次のフレームにおいて同じ状態に遷移する確率で、 こ の遷移確率は入力フレームに依らないで予め決定されている。 同様に、 丸印の右 下向きの矢印は、 その状態が次のフレームにおいて次の状態に遷移する確率で、 この遷移確率も入力フレームに依らないで予め決定されている。
フレーム 0に対する各状態の評価値は初期値として予め与えられる。 0フレー ムは、 入力音声信号の先頭と考えられるため、 演算対象の単語を構成する音素モ デル列の先頭の音素モデル (状態 1 ) のみの評価値を" 0 " とし、 他は" —∞" を初期値として与えておく。 これは入力音声の最初のフレームはかならず先頭の 音素モデルと一致するであろうと想定していることになる。 フレーム 1以降のフ レームにおける各状態の評価値は、 そのフレームの一つ前のフレームに対して計 算された、 当該一つ前のフレームとその状態とに関する尤度と、 その状態に関連 して予め定められた遷移確率により以下のようにして決定される。
図 6において、 ある単語を構成する音素モデル列内の二つの状態; jに対す るあるフレーム nでの評価値がそれそれ A、 Bであると仮定する。 これらの評価 値は、 このフレームに先行するフレームにおける照合により決まるか、 あるいは これらの状態に対する初期値として与えられる。 フレーム nと各状態; U jとの 間の尤度が計算される。 尤度は、 各状態が対応する音素モデルとフレーム nの間 の類似度であり、 具体的には、 それ自体公知であるように、 各状態が対応する音 素モデルの特徴ぺクトルと、 フレーム nを分析して得られる特徴べクトルとの間 の距離で表される。 この距離は実際にはユークリッド距離などである。 ユークリ ヅド距離は、 それ自体公知であるように、 二つのベクトルの各次元の座標の差の 2乗の和により与えられる。 またそれそれの次元に正規化が必要な場合はそれそ れの次元があらかじめ決められた係数によって正規化された後に 2乗加算される。 これらの係数には、 特長べクトルとして前記した L P Cケプストラムが使用され る場合、 これの係数には、 このケプストラムの係数が使用される。 ここでは、 状 態 i、 jとフレーム nとの間の尤度は、 それそれ N i , N jと仮定する。
次のフレーム n + 1に対する状態 iの評価値 Cは、 この状態 iに先行する状態 がない場合には、 上記尤度 N iと、 状態 iから状態 iへの遷移確率 P i iとの和 で表される。 フレーム i + 1に対する状態 jの評価値は、 次の方法により計算さ れる。 今、 フレーム nにおける状態 iからフレーム n+ 1における状態 jに遷移 したと仮定したとき、 フレーム n+ 1における状態 jの評価値 D iは、 フレーム nにおける状態 iの評価値 A、 フレーム nに対する状態 iの尤度 N i、 状態 iか ら jへの遷移確率 P i jの和により与えられる。 一方、 フレーム nにおける状態 jからフレーム n+ 1における状 ¾i jに遷移したと仮定したとき、 フレーム n + 1における状態 jの評価値 D jは、 フレーム nにおける状態 jの評価値 B、 フレ ーム nに対する状態 jの尤度 N j、 状態 jから jへの遷移確率 P j jの和により 与えられる。 最終的には、 フレーム n+ 1での状態 jに対する評価値は、 以上の 評価値 D iと D jの内の大きな方が使用される。 なお、 フレーム n + 1における 状態: jに対する尤度も計算されるが、 これらは、 次のフレーム n + 2におけ るこれらの状態の評価値を計算するのに使用される。
図 5には、 フレーム 0から 5に対してこのようにして計算された評価値が示さ れる。 最終フレームまで行った場合に、 各単語に対する複数の評価値の内の最大 の評価値がその単語に対する評価値として使用される。 図 5の例では 3 1 9がこ の単語に対する評価値となる。 なお、 図 5では、 各状態の遷移先としては、 同じ 状態あるいは次の状態という二つの状態のみを仮定したが、 一般には、 各状態は より多くの状態に遷移可能である。 しかし、 この場合にも同様にして遷移後の各 状態の評価値が計算される。
このようにして得られたトレリス図に基づいて、 各フレーム毎に最大の評価値 を有する状態を選択し異なるフレームに対して選択された状態を連ねて得られる パスは、 ビ夕ビ経路として知られている。 例えば、 図 5の場合、 (フレーム 0、 状態 1 ) 、 (フレーム 1、 状態 2 ) 、 (フレーム 2、 状態 2 ) 、 (フレーム 3、 状態 3 ) 、 (フレーム 4、 状態 3 ) 、 (フレーム 5、 状態 4 ) を連ねた経路がビ 夕ビ経路である。 各フレームでの最大の評価値を有する状態が、 そのフレームに 対する、 処理中の単語内の最も類似した音素を表すことになる。 したがって、 ビ 夕ビ経路により連結された状態列が、 処理中の単語に関する、 入力音声に類似す る音素列を表すことになる。
以上の計算から分かるように、 従来の評価値の計算方法では、 計算対象の音素 モデル列に対応するすべての状態の評価値をすベてのフレームに渡り計算する必 要がある。 従って、 必要な演算回数は、 次式で与えられ、 単語数、 フレーム数が 増大すると計算回数が増大する。 また、 途中の評価値を記憶するためのメモリ量 も同様に増大する。
演算回数 =フレーム数 X単語数
X各単語に対する音素モデル数の平均値
本実施の形態では、 このような問題点を軽減するために、 照合処理 2 0 7 (図 2 ) では、 各単語に対応する音素モデル列を構成する全ての音素モデノレの一部に 対してのみ評価値を算出するように、 評価値を計算する対象の音素モデルを制限 する。 以下、 この処理 2 0 7を説明する。
図 3に示すように、 照合処理 2 0 7は、 辞書 ·文法ファイル 1 0 4に登録され た各単語について、 その単語に対応する音素モデル列の内、 照合対照として選ば れた一部の音素モデル群の各々と入力フレームとの間の評価値を算出する (4 0 4 ) 。 各単語に対する音素モデル列の内、 照合対象とする音素モデル群は、 最初 のフレームに対しては、 その音素モデル列の先頭に位置する所定の複数 (m+ 1 ) の音素モデルとする。 処理 4 0 4での処理結果に基づいて、 同じ単語に対す る音素モデル列の内、 次のフレームにおいて照合対象とする音素モデル群の先頭 の音素モデルを決定する (4 0 6 ) 。 その後、 次の単語を照合対象として選んで ( 4 0 7 ) 、 以上の処理 4 0 4、 4 0 6を繰り返す。 この繰り返しは、 辞書 '文 法ファイル 1 0 4内の全ての単語がなくなるまで行われる (4 0 1 ) 。
より具体的には、 図 4に示すように、 処理 4 0 4では、 処理中のフレームが最 初のフレームか否かが判断され (8 0 1 ) 、 もしそうであるならば、 照合対象の 単語に対応する音素モデル列の内、 照合開始すべき音素モデルの位置 nとして、 値 1が設定される。 すなわち、 この音素モデル列の先頭の音素モデルから照合を 開始することが指定される。 もし処理中のフレームが最初のフレームでない場合 には、 その最初のフレームに対して処理 4 0 6により決定された、 照合開始位置 nの値が使用される。 処理 8 0 3では、 こうして決定された第 n音素モデルから 第 (n + m) 音素モデルのそれそれと入力フレームに対する評価値 P n ( I ) 〜 P n+m ( I ) を計算する。 ここで、 Iはフレームの番号である。 このときの計 算は図 5に関連して説明した «の方法が使用される。 また、 これらの音素モデ ルの各々と入力フレームとの間の尤度も計算されるのも^と同じである。
その後、 処理 4 0 6では、 同じ単語に対する次のフレームでの照合開始位置が、 これらの決定された評価値を使用して決定される。 すなわち、 照合した m+ 1個 の音素モデル群の両端に位置する、 第 n音素モデルと第 (n+m) 音素モデルに 対する評価値 P n ( I ) と P n+m ( I ) とを比較する (8 0 5 ) 。 後者が前者 より大きければ、 次のフレームでの照合開始位置 nの値を 1だけ大きくする ( 8 0 6 ) 。 判定 8 0 4が成立したときには、 入力フレームはすでに第 n音素モデル よりも後続の音素モデルに類似するようになったと判断されるからである。 この 判定が成立しないときには、 照合開始位置 nは変更されない。 図 5に関して説明 したように、 ある単語に対する音素モデル列と入力音声との照合においては、 ビ 夕ビ経路を正しく判別でき、 その経路上の各状態 (音素モデル) に対する評価値 が正しく計算できればよい。 上記判定 8 0 5が成立したことは、 処理中の単語に 対するトレリス図上のビ夕ビ経路が、 処理中のフレームにおいては、 第 n音素モ デルより後の音素モデルを通過するようになったことを意味すると考えることが できる。 したがって、 後続のフレームにおいては、 第 n音素モデルに関する評価 値の計算を省略しても、 処理中の単語に関する評価値の計算に誤りが出ないと期 待される。
以上の処理が、 後続の各フレームに対して繰り返される。 但し、 判定 8 0 5の 前に、 判定 8 0 4を実行し、 新たに照合対象に変更できる他の状態があるか否か を判定する。 具体的には、 現在の照合対象の音素モデル群内の最後に位置する音 素モデルの番号 ( n+m) が、 処理中の単語に対する状態の総数に等しいか否か を判定する。 すなわち、 処理中の音素モデル列の最後に位置する第 (n + m) 音 素モデルが、 処理中の単語に対する音素モデル列の最後の音素モデルであるか否 かを判定する。 もし、 この判定が成立すると、 上記処理 8 0 5、 8 0 6は実行し ない。 したがって、 その後に入力されるフレームがあるときには、 音素モデル列 の最後に位置する (m+ 1 ) 個の音素モデルに対する評価値の算出を続けること になる。 こうして、 一つのフレームに対する一つの単語に対応する音素モデル列 との照合が終了する。
例えば、 図 7は、 図 5に示した音素モデル列と同じ入力フレーム列 0 , 1 , , , との間において、 m+ 1 = 2とした場合のトレリス図である。 状態 1から 4の内、 m+ 1 = 2個の状態のみに対して以下の処理がなされる。
最初のフレーム 0に対しては、 処理 8 0 1での判定が成立し、 処理 8 0 2にお いて、 状態 1, 2に対する照合開始位置 nがともに 1に設定され、 状態 1と 2が 照合対象に選ばれる。 しかし、 処理 8 0 3では、 これらの状態に対する評価値 P 1 ( 0 ) ~P 2 ( 0 ) の計算は行われないで、 状態 2に対して予め定められ た初期値 0および一∞がそのままそれらの状態の評価値として使用される。 この 処理 8 0 3では、 フレーム 0に対する状態 1, 2の尤度が計算される。 これらの 尤度はここではそれそれ 3 0, 2 0と仮定している。 現在の照合対象音素モデル 群に対しては判定 8 0 4は成立しない。 上記の二つの評価値に対しては判定 8 0 5は成立しないので、 照合開始位置 nは変更されないで、 フレーム 0に対するこ の単語の照合が終了する。
次のフレーム 1に対して同じ単語が照合されるときには、 判定 8 0 1は成立し ない。 処理 8 0 3では、 第 1から第 2の音素モデルに対する評価値 P 1 ( 1 )〜 P 2 ( 1 ) が計算される。 ここでは、 これらの評価値はそれそれ 3 3 , 3 7とな る。 処理 8 0 3では、 フレーム 1と状態 1, 2の各々との尤度も計算され、 それ らはそれそれ 1 0、 4 0となると仮定している。 現在の照合対象音素モデル群に 対しては判定 8 0 4は成立しない。 上記二つの評価値に対しては判定 8 0 5が成 立するために、 処理 8 0 6により、 照合開始位置 nは 2に更新される。
この時の状態 1と状態 2に対する評価値を比較すると、 状態 2の評価値が大き い。 つまり、 入力フレームは状態 2により類似していると考えられる。 もし、 こ のとき実際に入力フレームが状態 2と一致するならば、 状態 1の評価値はビ夕ビ 探索では単語内の最終状態の確率値には影響しないと考えられる。 よって、 次のフレーム 2に対して照合を開始する状態を次の状態に進める。
次のフレーム 2に対して同じ単語が照合されるときには、 判定 8 0 1は成立し ない。 照合開始位置 nが 2に更新されたので、 処理 8 0 3では、 第 2から第 3の 音素モデルに対する評価値 P 2 ( 2 )〜P 3 ( 2 ) が計算される。 ここでは、 こ れらの評価値はそれそれ 8 5, 8 4となると仮定している。 処理 8 0 3では、 フ レーム 2と状態 2, 3の各々との尤度も計算され、 それらはそれそれ 5 0、 4 0 となると仮定している。 現在の照合対象音素モデル群に対しては判定 8 0 4は成 立しない。 上記二つの評価値に対しては判定 8 0 5が成立しないために、 処理 8 0 6が実行されず、 照合開始位置 nは 2のままである。
次のフレーム 3に対して同じ単語が照合されるときには、 判定 8 0 1は成立し ない。 照合開始位置 nが 2のままであるので、 処理 8 0 3では、 第 2から第 3の 音素モデルに対する評価値 P 2 ( 3 )〜P 3 ( 3 ) が計算される。 ここでは、 こ れらの評価値はそれそれ 1 4 2, 1 4 3となると仮定している。 処理 8 0 3では、 フレーム 3と状態 2 , 3の各々との尤度も計算され、 それらはそれそれ 1 0、 9 0となると仮定している。 現在の照合対象音素モデル群に対しては判定 8 0 4は 成立しない。 上記二つの評価値に対しては判定 8 0 5が成立するために、 処理 8 0 6が実行され、 照合開始位置 nは 3に更新される。
次のフレーム 4に対して同じ単語が照合されるときには、 判定 8 0 1は成立し ない。 照合開始位置 nが 3に更新されたので、 処理 803では、 第 3から第 4の 音素モデルに対する評価値 P 3 (4) 〜P4 (4) が計算される。 ここでは、 こ れらの評価値はそれそれ 241, 240となると仮定している。 処理 803では、 フレーム 4と状態 2, 3の各々との尤度も計算され、 それらはそれそれ 70、 3 0となると仮定している。 現在の照合対象音素モデル群に対しては判定 804は 成立しない。 上記二つの評価値に対しては判定 805が成立しないために、 処理 806は実行されず、 照合開始位置 nは 3のままである。
次のフレーム 5に対して同じ単語が照合されるときには、 判定 801は成立し ない。 照合開始位置 nは 3のままであるので、 処理 803では、 第 3から第 4の 音素モデルに対する評価値 P 3 (5) 〜P4 (5) が計算される。 ここでは、 こ れらの評価値はそれそれ 318, 319になると仮定している。 処理 803では、 フレーム 5と状態 2, 3の各々との尤度も計算される。 図では、 それらの尤度は 省略している。 現在の照合対象音素モデル群に対しては判定 804が成立するた めに、 処理 805、 806は実行されない。 照合開始位置 nは 3のままである。 さらに後続のフレームがある場合にもフレーム 5に対するのと同じ処理が実行さ れる。
フレーム 5までの入力音声に対する、 この処理中の単語に対する評価値は、 以 上で得られた評価値の最大値、 今の場合には 319となる。 この値は、 図 5に示 したように、 ^の計算方法により得られる値と同じである。 しかし、 以上の計 算から明らかなように、 本魏の形態では、 各フレームに対しては、 各単語に対 する音素モデル列内の全モデル (あるいはその単語に対する全状態) の内、 上記 所定数 (m+1) の音素モデル (あるいは状態) についてのみ、 評価値および尤 度を計算する。 したがって、 各単語に対する音素モデルの総数 (あるいは状態の 総数) の平均値を例えば 10ないし 12とし、 m+1 =2とすると、 本実施の形 態での計算回数は、 図 5に示した従来方法が必要とする計算回数の約 1/5ない し 1/6になる。 同様に、 途中の計算結果を保持するためのバッファの容量も、 図 5を用いて説明した «方法に比べて 1 / 5ないし 1 / 6となる。 さらに、 従 来のビーム探索方法に比べても、 計算回数あるいは必要なメモリ容量の点で有利 である。
変形例
本発明は、 以上の実施の形態に限定されるものではなく、 以下に例示するいく つかの変形例を含めて他のいろいろの形態で できる。
( 1 ) 照合対象の音素モデルを変更すべきか否かに関する上記判定 8 0 5 (図 4 ) に代えて、 次の方法も採用できる。 すなわち、 第 nから第 (n + ) 音素モデ ル群に対する評価値 P n ( I ) 〜P n+m ( I ) の内、 最大の評価値を有する音 素モデルを検出し、 その音素モデルがそれらの音素モデル群の中央より末尾側に 位置するか否かを判別する。 すなわち、 その最大の評価値を有する音素が、 第 ( n + g) 番の音素モデルであるときには、 g >m/ 2が成立するか否かを判定 する。 もし、 最大の評価値を有する音素モデルが、 音素モデル群の末端側にあれ ば、 処理 8 0 6 (図 4 ) を実行し。 次のフレームに対する照合開始位置 nを 1だ け更新する。 なお、 mが 1に等しいときには、 この実施の形態での判定結果は、 の形態 1での判定結果と一致する。 従って、 本実施の形態の結果が実施の形 態 1と異なるためには、 (m+ 1 ) は 2より大きいことが必要である。 この変形 例に記載した、 照合対象の音素モデルを変更すベきか否かに関する判定方法は、 先に実施の形態で述べた判定方法 8 0 5よりも正確に照合対象の先頭位置の切り 替えの要否を判断できる。 しかし、 先に^の形態で述べた方法は計算が簡単で る。
( 2 ) 上記変形例 1において、 照合開始位置 nを 1だけ更新するのではなく、 最 犬の評価値を持つ音素モデルを照合対象音素モデル群のほぼ中央にするように状 態開始位置 nを更新することも可能である。 この場合も、 (m+ 1 ) は 1より大 きいことが必要である。 この方法は、 実施の形態で述べた、 照合対象の音素モデ ルを変更すべきか否かに関する判定方法あるいは上記変形例 1に判定方法よりも より正確に照合対象の切り替えの要否を判定することができる。
(3)実施の形態および変形例のいずれにおいても、 音声認識単位として音素が 使用された。 すなわち、 辞書 ·文法ファイル 106には、 各単語を構成する音素 列を表す文字列が記憶され、 音素モデルファイル 105にはいろいろの音素の H MMモデルが記憶され、 音声認識プログラムは、 これらのファイルを使用して各 単語に対応する音素モデル列を生成した。 しかし、 本発明は、 音声認識単位とし て、 音素より小さな単位である音素片を使用する音声認識システムにも適用でき る。 すなわち、 音素モデルファイル 105には、 音素より小さな単位である音素 片に対するモデルを記憶する。 例えば、 音素 「su」 に代えて、 音素片 「ss」 「su」 が記憶され、 音素 「zu」 に代えて音素片 「zz」 「zu」 が記憶され、 音素 「ki」 に代えて.音素片 「kk」 「ki」 が記憶される。 音声認識プログラ ムは、 単語「su zu k i」 に対応して音素片列 「s s」 「su」 「zz」 「zu」 「kk」 「ki」 を生成する。 この場合にも各音素片を実施の形態 1に おける一つの状態と見なして処理される。
以上から明らかなように、 本発明によれば、 同じ認識対象の音声に対する複 数の音声認識単位と入力音声との照合に必要な計算時間を短くでき、 また、 計算 に必要なメモリ容量も減らすことができる。

Claims

請 求 の 範 囲
1 . 認識すべき音声と複数の候補音声の各々とを照合して上記認識すべき音声を 認識する音声認識方法であって、
( a) 複数の候補音声の一つを、 認識すべき音声を区分して得られる順序づけ られた複数の部分音声と順次照合し、
( b ) 上記ステップ (a ) を他の複数の候補音声に対して実行するステップを 有し、
上記ステップ (a) は、
( a 1 ) 上記複数の部分音声の一つと上記複数の候補音声の一つを表す順序づ けられた複数の音声認識単位の内の一部の複数の音声認識単位との間の類似 度を表す複数の尤度を決定し、
( a 2 ) 上記ステップ (a l ) で決定された複数の尤度と、 上記一部の音声認 識単位の異なる組み合わせに対する複数の遷移確率とに基づいて、 上記一部 の音声認識単位と上記入力音声との類似度を表す複数の評価値を決定し、 ( a 3 ) 上記決定された複数の評価値に基づいて、 上記一つの部分音声の次の 部分音声に対して使用されるべき新たな一部の音声認識単位を決定するステ ップを有し、
上言 Bffたな一部の音声認識単位は、 上記次の部分音声に対して上記ステップ ( a) を実行するときに使用される音声認識方法。
2 . 上記ステップ (a 3 ) は、
上記決定された複数の評価値が予め定められた条件を満たす否かを判定し、 上記決定された複数の評価値が上記条件を満たすときに、 上記一部の音声認 識単位の少なくとも一つを上記複数の音声認識単位の内の他の少なくとも一 つの音声認識単位により置換し、
置換により得られた一部の音声認識単位を上記新たな一部の音声認識単位と して決定し、 上記判別された複数の評価値が上記条件を満たさないときに、 上記一部の音 声認識単位をそのまま上記新たな一部の音声認識単位として決定するステツ プを有する請求項 1記載の音声認識方法。
. 上記置換するステップは、 上記一部の音声認識単位の先頭に位置する少なく とも一つの音声認識単位を、 上記一部の音声認識単位の後続の少なくとも一 つの音声認識単位により置換するステップからなる請求項 2記載の音声認識 方法。
. 上記条件は、 上記一部の音声認識単位の内の先頭の音声認識単位に対してス テツプ (a 2 ) で決定された評価値より、 上記一部の音声認識単位の内の末 尾の音声認識単位に対してステップ (a 2 ) で決定された評価値が大きいこ とである請求項 3記載の音声認識方法。
. 上記条件は、 ステップ (a 2 ) で決定された上記複数の評価値の内の最大値 を有する音声認識単位が、 上記一部の音声認識単位の内の中間に位置する音 声認識単位よりも末尾に位置する音声認識単位に近いことである請求項 3記 載の音声認識方法。
. 上記複数の音声認識単位はそれそれ音素である請求項 1記載の音声認識方法。 . 上記複数の音声認識単位はそれそれ音素片である請求項 1記載の音声認識方 . 音声入力装置と、
複数の候補音声の各々を表す順序づけられた複数の音声認識単位を記憶する記 憶装置と、
上記音声入力装置から入力された音声を上記複数の候補音声と照合するための 装置とを有し、
上記装置は、
( a) 上記複数の候補音声の一つを、 上記認識すべき音声を区分して得られる 順序づけられた複数の部分音声と順次照合し、 ( b ) 上記ステップ (a) を他の複数の候補音声に対して実行し、
上記ステップ (a ) は、
( a l ) 上記複数の部分音声の一つと上記複数の候補音声の一つを表す順序づ けられた複数の音声認識単位の内の一部の複数の音声認識単位との間の類似 度を表す複数の尤度を決定し、
( a 2 ) 上記ステップ (a l ) で決定された複数の尤度と、 上記一部の音声認 識単位の異なる組み合わせに対する複数の遷移確率とに基づいて、 上記一部 の音声認識単位と上記入力音声との類似度を表す複数の評価値を決定し、
( a 3 ) 上記決定された複数の評価値に基づいて、 上記一つの部分音声の次の 部分音声に対して使用されるべき新たな一部の音声認識単位を決定するステ ヅプを実行し、
上記新たな一部の音声認識単位は、 上記次の部分音声に対して上記ステツプ ( a) を実行するときに使用される音声認識システム。
9 . 上 ステップ (a 3 ) は、
上記決定された複数の評価値が予め定められた条件を満たす否かを判定し、 上記決定された複数の評価値が上記条件を満たすときに、 上記一部の音声認 識単位の少なくとも一つを上記複数の音声認識単位の内の他の少なくとも一 つの音声認識単位により置換し、
置換により得られた一部の音声認識単位を上言 3斤たな一部の音声認識単位と して決定し、
上記判別された複数の評価値が上記条件を満たさないときに、 上記一部の音 声認識単位をそのまま上記新たな一部の音声認識単位として決定するステッ プを実行する請求項 8記載の音声認識システム。
1 0 . 上記置換するステップは、 上記一部の音声認識単位の先頭に位置する少な くとも一つの音声認識単位を、 上記一部の音声認識単位の後続の少なくとも 一つの音声認識単位により置換するステップからなる請求項 9記載の音声認 識システム。
11. 上記条件は、 上記一部の音声認識単位の内の先頭の音声認識単位に対して ステップ (a 2) で決定された評価値より、 上記一部の音声認識単位の内の 末尾の音声認識単位に対してステップ (a 2) で決定された評価値が大きい ことである請求項 10記載の音声認識システム。
12. 上記条件は、 上記判別された複数の評価値の内の最大値を有する音声認識 単位が、 上記一部の音声認識単位の内の中間に位置する音声認識単位よりも 末尾に位置する音声認識単位に近いことである請求項 10記載の音声認識シ スアム。
13. 上記複数の音声認識単位はそれそれ音素である請求項 8記載の音声認識シ ステム。
14. 上記複数の音声認識単位はそれそれ音素片である請求項 8記載の音声認識 システム。
15. 上記処理装置は、 上記ステップを実行するようにプログラムされたプロ セヅサである請求項 8記載の音声認識システム。
PCT/JP1997/004324 1997-11-27 1997-11-27 Systeme et procede de reconnaissance vocale WO1999028898A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US09/554,003 US6631349B1 (en) 1997-11-27 1997-11-27 Speech recognition method and system
PCT/JP1997/004324 WO1999028898A1 (fr) 1997-11-27 1997-11-27 Systeme et procede de reconnaissance vocale
JP2000523663A JP3914709B2 (ja) 1997-11-27 1997-11-27 音声認識方法およびシステム
US09/625,855 US6411929B1 (en) 1997-11-27 2000-07-26 Speech recognition method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1997/004324 WO1999028898A1 (fr) 1997-11-27 1997-11-27 Systeme et procede de reconnaissance vocale

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US09/625,855 Continuation US6411929B1 (en) 1997-11-27 2000-07-26 Speech recognition method and system

Publications (1)

Publication Number Publication Date
WO1999028898A1 true WO1999028898A1 (fr) 1999-06-10

Family

ID=14181546

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1997/004324 WO1999028898A1 (fr) 1997-11-27 1997-11-27 Systeme et procede de reconnaissance vocale

Country Status (3)

Country Link
US (1) US6631349B1 (ja)
JP (1) JP3914709B2 (ja)
WO (1) WO1999028898A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2889611B1 (en) * 1999-11-15 2019-09-04 PHC Holdings Corporation Biosensor and measurement apparatus.
JP4072718B2 (ja) * 2002-11-21 2008-04-09 ソニー株式会社 音声処理装置および方法、記録媒体並びにプログラム
US20090204702A1 (en) * 2008-02-08 2009-08-13 Autiq As System and method for network management using self-discovering thin agents
TWI412019B (zh) * 2010-12-03 2013-10-11 Ind Tech Res Inst 聲音事件偵測模組及其方法
TWI559300B (zh) * 2015-01-21 2016-11-21 宇智網通股份有限公司 基於時域運算之聲音事件偵測方法及相關裝置
US11217245B2 (en) * 2019-08-29 2022-01-04 Sony Interactive Entertainment Inc. Customizable keyword spotting system with keyword adaptation

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4783804A (en) * 1985-03-21 1988-11-08 American Telephone And Telegraph Company, At&T Bell Laboratories Hidden Markov model speech recognition arrangement
US4783803A (en) * 1985-11-12 1988-11-08 Dragon Systems, Inc. Speech recognition apparatus and method
US4803729A (en) * 1987-04-03 1989-02-07 Dragon Systems, Inc. Speech recognition method
US5268990A (en) * 1991-01-31 1993-12-07 Sri International Method for recognizing speech using linguistically-motivated hidden Markov models
US5515475A (en) * 1993-06-24 1996-05-07 Northern Telecom Limited Speech recognition method using a two-pass search
KR0149303B1 (ko) * 1995-03-30 1998-12-15 김광호 전자식 안정기를 연속적으로 궤환 제어하는 시스템
US5983180A (en) * 1997-10-23 1999-11-09 Softsound Limited Recognition of sequential data using finite state sequence models organized in a tree structure

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IEICE, "Speech Recognition Using Probability Model (in Japanese)", (20-05-95), KORONA-SHA, p. 44-46. *
LAWRENCE RABINER and BIING-HWANG JUANG, "Fundamentals of Speech Recognition", 1993, PRENTICE-HALL, p. 231-232. *

Also Published As

Publication number Publication date
US6631349B1 (en) 2003-10-07
JP3914709B2 (ja) 2007-05-16

Similar Documents

Publication Publication Date Title
US7881935B2 (en) Speech recognition device and speech recognition method and recording medium utilizing preliminary word selection
JP4465564B2 (ja) 音声認識装置および音声認識方法、並びに記録媒体
KR100406604B1 (ko) 음성인식방법및장치
US7487091B2 (en) Speech recognition device for recognizing a word sequence using a switching speech model network
US8532990B2 (en) Speech recognition of a list entry
EP0769184B1 (en) Speech recognition methods and apparatus on the basis of the modelling of new words
WO2001022400A1 (en) Iterative speech recognition from multiple feature vectors
JP2001249684A (ja) 音声認識装置および音声認識方法、並びに記録媒体
JP2003208195A5 (ja)
WO1999028898A1 (fr) Systeme et procede de reconnaissance vocale
JP4595415B2 (ja) 音声検索システムおよび方法ならびにプログラム
US6411929B1 (en) Speech recognition method and system
JP3171107B2 (ja) 音声認識装置
JP3104900B2 (ja) 音声認識方法
JP3494338B2 (ja) 音声認識方法
JP3368989B2 (ja) 音声認識方法
Anguita et al. Detection of confusable words in automatic speech recognition
JP3873418B2 (ja) 音声スポッティング装置
US7818172B2 (en) Voice recognition method and system based on the contexual modeling of voice units
JP2005091504A (ja) 音声認識装置
JP4883717B2 (ja) 音声認識方法および装置ならびに音声認識プログラムおよびその記録媒体
JP4736962B2 (ja) キーワード選択方法、音声認識方法、キーワード選択システム、およびキーワード選択装置
JPH0997095A (ja) 音声認識装置
JPH11288297A (ja) 音声認識装置
JP4600705B2 (ja) 音声認識装置および音声認識方法、並びに記録媒体

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN JP KR SG US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 09554003

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: KR

122 Ep: pct application non-entry in european phase