JP2005134442A - Speech recognition device and method, recording medium, and program - Google Patents
Speech recognition device and method, recording medium, and program Download PDFInfo
- Publication number
- JP2005134442A JP2005134442A JP2003367223A JP2003367223A JP2005134442A JP 2005134442 A JP2005134442 A JP 2005134442A JP 2003367223 A JP2003367223 A JP 2003367223A JP 2003367223 A JP2003367223 A JP 2003367223A JP 2005134442 A JP2005134442 A JP 2005134442A
- Authority
- JP
- Japan
- Prior art keywords
- word
- score
- speech recognition
- node
- matching
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
Images
Abstract
Description
本発明は、音声認識装置および方法、記録媒体、並びにプログラムに関し、特に、音声認識の精度の低下を防ぎつつ、処理を高速化することができるようにした音声認識装置および方法、記録媒体、並びにプログラムに関する。 The present invention relates to a speech recognition apparatus and method, a recording medium, and a program, and more particularly, a speech recognition apparatus and method, a recording medium, and a recording medium capable of speeding up processing while preventing deterioration in accuracy of speech recognition. Regarding the program.
近年、音声認識を応用した製品やサービスの実用化が盛んに行なわれるようになってきた。 In recent years, products and services using voice recognition have been actively put into practical use.
音声認識とは、入力音声信号に対応した単語の系列を自動的に決定する技術のことであり、この技術とアプリケーションを組み合わせることで、様々な製品やサービスが可能となる。 Speech recognition is a technology that automatically determines a word sequence corresponding to an input speech signal. By combining this technology with an application, various products and services are possible.
音声認識装置の基本構成例を図1に示す。図1において、ユーザによって発声された音声は、マイク(マイクロフォン)1により取り込まれ、AD(Analog to Digital)変換部2によりサンプリングされ、デジタルデータに変換される。特徴抽出部3は、AD変換部2から出力されたデジタルデータに対して、適当な時間間隔で周波数分析等の処理を施し、スペクトルや、その他の音声の音響的特徴を表すパラメータに変換する。この結果、音声の特徴量の時系列が得られることになる。このパラメータは、特徴抽出部3からマッチング部4に送信される。マッチング部4は、音響モデルデータベース(DB)5、辞書データベース(DB)6、および文法データベース(DB)7に保持されている各データを利用して、特徴抽出部3から供給された特徴量系列とのマッチングを行ない、音声認識結果を出力する。
A basic configuration example of the speech recognition apparatus is shown in FIG. In FIG. 1, a voice uttered by a user is captured by a microphone (microphone) 1, sampled by an AD (Analog to Digital)
音響モデルデータベース5は、対象となる言語において用いられる個々の音素や音節などの音響的な特徴を保持するモデルで、隠れマルコフモデル(HMM)などが用いられる。辞書データベース6は、認識対象となる個々の単語の発音に関する情報を保持するものであり、これにより、単語と上述の音響モデルが関連付けられる。その結果、辞書データベース6に含まれる各単語に対応する音響的な標準パターンが得られることになる。文法データベース7は、辞書データベース6に記述されている個々の単語がどのように連鎖し得るかを記述するもので、正規文法や文脈自由文法に基づく記述や、統計的な単語連鎖確率を含む文法(N-gram)などが用いられる。
The acoustic model database 5 is a model that retains acoustic features such as individual phonemes and syllables used in a target language, and a hidden Markov model (HMM) or the like is used. The
マッチング部4では、これらの音響モデルデータベース5、辞書データベース6、および文法データベース7を用いて、特徴抽出部3から入力された特徴量系列と最も適合する単語系列の決定がなされる。例えば音響モデルとして隠れマルコフモデル(HMM)が用いられる場合には、各特徴量の出現確率を特徴量系列に従って累積した値が音響的な評価値(以下、音響スコアと称する)として用いられる。音響スコアは、上述の標準パターンを用いることで、各単語に対応して求められる。
The
また、例えば文法としてバイグラムが用いられる場合には、直前の単語との連鎖確率に基づく各単語の言語的な確からしさが数値化され、その値が言語的評価値(以下、言語スコアと称する)として与えられる。 For example, when a bigram is used as a grammar, the linguistic accuracy of each word based on the chain probability with the immediately preceding word is quantified, and the value is a linguistic evaluation value (hereinafter referred to as a language score). As given.
そして、音響スコアと言語スコアを総合して評価することにより、入力音声信号に最も適合する単語系列が決定されることになる。 Then, by comprehensively evaluating the acoustic score and the language score, the word sequence that best matches the input speech signal is determined.
例として、ユーザが、「今日はいい天気ですね。」と発声した場合を考える。この場合、例えば、「今日」、「は」、「いい」、「天気」、「ですね」のような単語の系列が認識結果として得られることになる。この際、各単語に対して、音響スコアおよび言語スコアが与えられることになる。 As an example, let us consider a case where a user utters “It is a nice weather today”. In this case, for example, a series of words such as “today”, “ha”, “good”, “weather”, and “sound” is obtained as a recognition result. At this time, an acoustic score and a language score are given to each word.
このような音声認識の処理を行なう様々な方法が提案されているが、一般的に、音声認識処理は、多くの計算量と記憶容量を必要とし、音声認識処理を高速化するためには、より高速な計算処理能力と容量の大きなメモリ(記憶手段)を備える装置が要求される。そこで、音声認識処理に要する計算量や記憶容量を低く抑えつつ、音声認識処理を高速化する技術が提案されている。 Various methods for performing such speech recognition processing have been proposed. Generally, speech recognition processing requires a large amount of calculation and storage capacity, and in order to speed up speech recognition processing, There is a demand for a device having a higher-speed calculation processing capacity and a large capacity memory (storage means). Therefore, a technique has been proposed for speeding up the speech recognition processing while keeping the amount of calculation and storage capacity required for the speech recognition processing low.
例えば、本出願人は、音声認識結果として既に求まっている単語に続く次の単語の候補を、予備選択を行うことにより絞り込み、単語予備選択により絞り込まれた単語候補についてマッチング処理を実行して、音声認識結果の候補となる単語列を特定し、その後、音声認識結果の候補となる単語列の単語どうしの単語接続関係を修正し、修正後の単語接続関係に基づいて、音声認識結果となる単語列を確定することにより、入力音声に対応する単語列仮説を逐次的に決定する方式を提案している(例えば、特許文献1参照)。この方式により、より効率的に音声認識処理を実行することができる。 For example, the applicant narrows down the candidate of the next word following the word already obtained as a speech recognition result by performing a preliminary selection, and executes a matching process for the word candidate narrowed down by the word preliminary selection, A word string that is a candidate for the speech recognition result is identified, and then the word connection relationship between the words in the word sequence that is the candidate for the speech recognition result is corrected, and the speech recognition result is obtained based on the corrected word connection relationship. A method of sequentially determining a word string hypothesis corresponding to an input speech by determining a word string has been proposed (see, for example, Patent Document 1). With this method, the speech recognition process can be executed more efficiently.
また、音声認識の処理を高速化する方法の1つとして、バンドルサーチ法が提案されている(例えば、非特許文献1参照)。図2を参照して、非特許文献1に提案されているバンドルサーチ法の概略を説明する。図2において、A、B、およびCは単語候補を表している。なお、図2において、○印はノードを表し、○印どうしを結ぶ線分はアークを表している。また、図2においては、左から右方向が、時間の経過を表している。
In addition, a bundle search method has been proposed as one method for speeding up speech recognition processing (see, for example, Non-Patent Document 1). An outline of the bundle search method proposed in
また、単語Aまでの累積スコアをスコアS1とし、単語Bまでの累積スコアをスコアS2とする。 Further, the cumulative score up to word A is set as score S1, and the cumulative score up to word B is set as score S2.
図2の例の場合、同一の単語Cが文法上の異なる位置に出現している。すなわち、単語Cは、単語Aの次の位置にも出現し、単語Bの次の位置にも出現している。また、ノード2およびノード4は、同一の時刻t1に位置している。
In the case of the example in FIG. 2, the same word C appears at different positions in the grammar. That is, the word C appears also at the position next to the word A, and also appears at the position next to the
バンドルサーチ法を用いない従来の音声認識処理においては、単語Aに続く単語Cのスコア、および単語Bに続く単語Cのスコアを、それぞれ独立に算出していた。それに対して、バンドルサーチ法を用いた音声認識処理においては、例えば、スコアS1を初期値としてマッチング処理を行なうことにより単語Aに続く単語CのスコアS2を算出した場合、スコアの差(△=S2−S1)を用いて、単語Bに続く単語CのスコアT2を、T2=T1+△として推定することにより、同一の単語候補Cに対するマッチング処理を1回で済ましている。これにより、単語Bに続く単語Cの本来のスコア計算を省略することができ、結果的に、音声認識処理の高速化を図っている。 In the conventional speech recognition process that does not use the bundle search method, the score of the word C following the word A and the score of the word C following the word B are calculated independently. On the other hand, in the speech recognition process using the bundle search method, for example, when the score S2 of the word C following the word A is calculated by performing the matching process using the score S1 as an initial value, the difference in scores (Δ = By using S2-S1) and estimating the score T2 of the word C following the word B as T2 = T1 + Δ, the matching process for the same word candidate C is completed once. Thereby, the original score calculation of the word C following the word B can be omitted, and as a result, the speed of the speech recognition process is increased.
このように、バンドルサーチ法においては、フレーム同期型のマッチング処理に基づく音声認識処理を対象とし、文法上において異なる位置にある単語とのマッチング処理が別々に行なわれるという問題に対して、同じ単語に対するマッチング処理を1回とする対策をとっている。
しかしながら、音声認識処理に要する計算量や記憶容量を低く抑えつつ、音声認識処理を高速化しようとする従来の技術では、音声認識の精度を低下させずに、処理速度を高速化するのが困難であるという課題があった。 However, it is difficult to increase the processing speed without lowering the accuracy of the speech recognition with the conventional technology that tries to speed up the speech recognition processing while keeping the calculation amount and the storage capacity required for the speech recognition processing low. There was a problem of being.
例えば、特許文献1に記載の方式においては、単語予備選択によって決定されるすべての単語候補に対して後続するマッチング処理が施されるため、マッチングの処理量が比較的大きなものになるという課題があった。また、マッチング処理で決定される音響スコアや言語スコアが直前の単語などに依存する場合、厳密にマッチング処理を行なうためには、同じ時刻を開始点とするマッチング処理に関して、直前の単語の種類の数だけマッチングの処理を行なう必要があり、これもマッチングの処理量を大きくする要因となっていた。
For example, in the method described in
例えば、「窓を開ける」という音声を認識する場合の単語接続関係情報の例を図3および図4に示す。なお、図3および図4において、○印はノードを表し、○印どうしを結ぶ線分はアークを表している。また、図3および図4においては、左から右方向が、時間の経過を表している。図3において、入力音声に対するマッチング処理が時刻t1まで進み、ノード1、ノード2、およびノード3を介する単語列部分仮説「窓を」、並びにノード1およびノード4を介する単語列部分仮説「ドア」が求まっているものとする。ここで、単語予備選択の処理により、時刻t1を開始点とする4つの単語候補「開ける」、「空ける」、「明ける」、および「閉める」が求まったとする。図4は、このときの単語接続関係情報を示している。図4に示されるように、単語候補「開ける」、「空ける」、「明ける」、および「閉める」の各単語に対するマッチング処理が行われることになり4回のマッチング処理が必要となる。
For example, FIG. 3 and FIG. 4 show examples of word connection relation information when recognizing a voice “open a window”. In FIGS. 3 and 4, a circle represents a node, and a line segment connecting the circles represents an arc. In FIGS. 3 and 4, the direction from left to right represents the passage of time. In FIG. 3, the matching process for the input speech proceeds until
すなわち、図4において、単語列部分仮説「窓を」の終端のノード3から、ノード5乃至ノード8のそれぞれに対してアークが延ばされている。ノード3からノード5に延びたアークは単語候補「開ける」に対応し、ノード3からノード6に延びたアークは単語候補「明ける」に対応し、ノード3からノード7に延びたアークは単語候補「空ける」に対応し、ノード3からノード8に延びたアークは単語候補「閉める」に対応している。この4つの単語候補に対して、それぞれマッチング処理が実行され、それぞれのスコアが求められる。
That is, in FIG. 4, arcs are extended from the
また、前に接続する単語に依存する音響モデル(例:クロスワードトライフォン)や言語モデル(バイグラム)を適用する場合、前に接続する2つの単語列部分仮説「窓を」と「ドア」のそれぞれに対して、マッチング処理を行なう必要がある。従って、図4に示されるように、単語列部分仮説「窓を」に対するマッチング処理とは別に、単語列部分仮説「ドア」においても、同一の単語候補に対してマッチング処理を実行する必要がある。 Also, when applying an acoustic model (eg crossword triphone) or language model (bigram) that depends on the word connected before, the two word string partial hypotheses “window” and “door” connected before It is necessary to perform matching processing for each. Therefore, as shown in FIG. 4, in addition to the matching process for the word string partial hypothesis “window”, it is necessary to execute the matching process for the same word candidate also in the word string partial hypothesis “door”. .
すなわち、図4において、単語列部分仮説「ドア」の終端のノード4から、ノード9乃至ノード12のそれぞれに対してアークが延ばされている。ノード4からノード9に延びたアークは単語候補「開ける」に対応し、ノード4からノード10に延びたアークは単語候補「明ける」に対応し、ノード4からノード11に延びたアークは単語候補「空ける」に対応し、ノード4からノード12に延びたアークは単語候補「閉める」に対応している。この4つの単語候補に対して、それぞれマッチング処理が実行され、それぞれのスコアが求められる。
That is, in FIG. 4, arcs are extended from the
結果的に、単語候補数(図4の場合、「開ける」、「空ける」、「明ける」、および「閉める」の4つ)に、直前の単語列部分仮説数(図4の場合、「窓を」および「ドア」の2つ)を掛け算した回数(図4の場合、4×2=8回)だけ、マッチング処理を実行する必要があり、計算量が増大する。 As a result, the number of word candidates (in the case of FIG. 4, “open”, “empty”, “dawn”, and “close”) is added to the number of immediately preceding word string partial hypotheses (in FIG. 4, “window” The matching process needs to be executed as many times as the number obtained by multiplying (“2” and “door”) (in the case of FIG. 4, 4 × 2 = 8 times), and the amount of calculation increases.
一方、非特許文献1に記載のバンドルサーチ法においては、マッチング処理が厳密な動的計画法に基づく処理とならないという課題があった。すなわち、例えば図2において、着目する同じ単語Cに関するマッチング処理を、動的計画法に基づいてクロスワードトライフォンを用いて行なった場合、同じ単語であっても、文法上において前に接続する単語(単語A、および単語B)に応じ、着目する単語Cの音響モデルが変化する。すなわち、図2において単語Aに続く場合の単語Cの音響モデルと、単語Bに続く場合の単語Cの音響モデルは異なるものとなる。
On the other hand, the bundle search method described in
しかし、バンドルサーチ法による上述したスコアの推定方法を適用すると、単語Bに続く単語Cの音響モデルは、実質的に、単語Aに続く単語Cの音響モデルで代用することになる。従って、正確な音響スコアを求めることができない。さらに、着目する同じ単語Cに関するマッチング処理を動的計画法に基づいて行なった場合、着目する単語Cへの遷移時刻が変化するが、バンドルサーチ法によるスコアの推定方法を適用すると、着目する単語Cへの遷移時刻t1は、同じ単語どうしで固定されることになってしまうという問題がある。 However, when the above-described score estimation method based on the bundle search method is applied, the acoustic model of the word C following the word B is substantially substituted with the acoustic model of the word C following the word A. Therefore, an accurate acoustic score cannot be obtained. Furthermore, when the matching process related to the same word C of interest is performed based on dynamic programming, the transition time to the word of interest C changes, but if the score estimation method by the bundle search method is applied, the word of interest There is a problem that the transition time t1 to C is fixed between the same words.
バンドルサーチ法においては、結果的に、スコアの推定値T2=T1+△は、厳密なスコア値とは異なったものとなる場合が生じる。これは、認識精度の劣化を引き起こす原因となる。 In the bundle search method, as a result, the estimated score value T2 = T1 + Δ may differ from the exact score value. This causes a deterioration in recognition accuracy.
本発明の音声認識装置は、単語列のうち、既に求められている単語に続く1以上の単語の候補を、同一の属性を有する単語毎に分類した単語群毎に、処理の一部を共有化してマッチング処理するマッチング処理実行手段と、マッチング処理実行手段によるマッチング処理の結果に基づいて生成された、音声認識結果の候補となる単語列の単語どうしの接続関係を示す単語接続関係情報を修正する修正手段とを備えることを特徴とする。 The speech recognition apparatus of the present invention shares a part of the processing for each word group in which one or more word candidates following the already obtained word in the word string are classified for each word having the same attribute. The word connection relationship information indicating the connection relationship between the words in the word string that is a candidate for the speech recognition result, generated based on the result of the matching process performed by the matching processing execution unit And a correcting means.
前記単語列のうち、既に求められている前記単語に続く1以上の前記単語の候補を、同一の前記属性を有する前記単語毎に前記単語群として分類する分類手段をさらに設けるようにし、前記マッチング処理実行手段には、分類手段により分類された前記単語群毎に、前記処理の一部を共有化するようにさせることができる。 A classifying unit that classifies one or more word candidates following the already obtained word in the word string as the word group for each word having the same attribute; The processing execution means can share a part of the processing for each word group classified by the classification means.
前記単語列のうち、既に求められている前記単語に続く1以上の前記単語の候補を選択する選択手段をさらに設けるようにし、前記分類手段には、選択手段により選択された1以上の前記単語の候補を、同一の前記属性を有する前記単語毎に前記単語群として分類するようにさせることができる。 A selection means for selecting one or more word candidates following the already obtained word from the word string is further provided, and the classification means includes the one or more words selected by the selection means. Can be classified as the word group for each word having the same attribute.
既に求められている前記単語に続く1以上の前記単語の候補は、同一の発音を有する前記単語毎に、前記単語群に分類されるようにすることができる。 One or more candidate words following the already obtained word can be classified into the word group for each word having the same pronunciation.
既に求められている前記単語に続く1以上の前記単語の候補は、音響的に類似した前記単語毎に、前記単語群に分類されるようにすることができる。 One or more word candidates following the already-sought word can be classified into the word group for each of the acoustically similar words.
前記マッチング処理実行手段による前記マッチング処理の結果に基づいて生成された前記単語接続関係情報を記憶する記憶手段をさらに設けるようにし、前記修正手段には、記憶手段により記憶された前記単語接続関係情報を修正するようにさせることができる。 Storage means for storing the word connection relation information generated based on the result of the matching process by the matching process execution means is further provided, and the correction means includes the word connection relation information stored by the storage means. Can be fixed.
前記修正手段により、前記単語接続関係情報を修正するために、部分的な単語列の音響的なスコアを計算するための状態遷移モデルが構築された場合、構築された状態遷移モデルを記憶する記憶手段をさらに設けるようにし、前記修正手段には、同一の部分的な単語列の音響的なスコアを再度計算する場合、記憶手段により記憶された状態遷移モデルを利用するようにさせることができる。 When a state transition model for calculating an acoustic score of a partial word string is constructed by the modifying means to modify the word connection relation information, a memory for storing the constructed state transition model Means may be further provided, and the correction means may use the state transition model stored by the storage means when recalculating the acoustic score of the same partial word string.
前記マッチング処理実行手段により、単語の音響的なスコアを計算するための状態遷移モデルが構築された場合、構築された前記状態遷移モデルを記憶する記憶手段をさらに設けるようにし、前記マッチング処理実行手段には、同一の前記単語の音響的なスコアを再度計算する場合、記憶手段により記憶された状態遷移モデルを利用するようにさせることができる。 When a state transition model for calculating an acoustic score of a word is constructed by the matching process execution means, a storage means for storing the constructed state transition model is further provided, and the matching process execution means In the case where the acoustic score of the same word is calculated again, the state transition model stored in the storage unit can be used.
前記マッチング処理実行手段により算出された、前記マッチング処理の途中経過としての値を記憶する記憶手段をさらに設けるようにし、前記マッチング処理実行手段には、記憶手段により記憶された途中経過としての値を利用して、前記音声認識結果の候補となる複数の前記単語列の前記マッチング処理を交互に実行するようにさせることができる。 A storage means for storing the value as the progress of the matching process calculated by the matching process execution means is further provided, and the value as the progress of the process stored by the storage means is stored in the matching process execution means. The matching processing of the plurality of word strings that are candidates for the speech recognition result can be alternately executed.
本発明の音声認識方法は、単語列のうち、既に求められている単語に続く1以上の単語の候補を、同一の属性を有する単語毎に分類した単語群毎に、処理の一部を共有化してマッチング処理するマッチング処理実行ステップと、マッチング処理実行ステップの処理によるマッチング処理の結果に基づいて生成された、音声認識結果の候補となる単語列の単語どうしの接続関係を示す単語接続関係情報を修正する修正ステップとを含むことを特徴とする。 In the speech recognition method of the present invention, a part of the processing is shared for each word group in which one or more word candidates following the already obtained word in the word string are classified for each word having the same attribute. Connection processing information indicating a connection relationship between words in a word sequence that is a candidate for a speech recognition result, generated based on a matching processing execution step in which the matching processing is performed and a matching processing result by the processing of the matching processing execution step And a correction step for correcting.
本発明の記録媒体のプログラムは、単語列のうち、既に求められている単語に続く1以上の単語の候補を、同一の属性を有する単語毎に分類した単語群毎に、処理の一部を共有化してマッチング処理するマッチング処理実行ステップと、マッチング処理実行ステップの処理によるマッチング処理の結果に基づいて生成された、音声認識結果の候補となる単語列の単語どうしの接続関係を示す単語接続関係情報を修正する修正ステップとを含むことを特徴とする。 The program of the recording medium of the present invention performs a part of the processing for each word group in which one or more word candidates following the already obtained word in the word string are classified for each word having the same attribute. A matching process execution step for sharing and matching processing, and a word connection relation that indicates a connection relation between words in a word sequence that is a candidate for a speech recognition result generated based on the result of the matching process by the process of the matching process execution step And a correction step for correcting the information.
本発明のプログラムは、入力された音声に対応する単語列を決定する処理を制御するコンピュータに、単語列のうち、既に求められている単語に続く1以上の単語の候補を、同一の属性を有する単語毎に分類した単語群毎に、処理の一部を共有化してマッチング処理するマッチング処理実行ステップと、マッチング処理実行ステップの処理によるマッチング処理の結果に基づいて生成された、音声認識結果の候補となる単語列の単語どうしの接続関係を示す単語接続関係情報を修正する修正ステップとを実行させることを特徴とする。 The program of the present invention allows a computer that controls processing for determining a word string corresponding to an input speech to select one or more word candidates that follow the already obtained word from the word string and assign the same attribute. For each word group classified for each word it has, a matching process execution step that shares a part of the process and performs a matching process, and a voice recognition result generated based on the result of the matching process by the process of the matching process execution step A correction step of correcting word connection relation information indicating connection relations between words in a candidate word string is executed.
本発明の音声認識装置および方法、記録媒体、並びにプログラムにおいては、単語列のうち、既に求められている単語に続く1以上の単語の候補が、同一の属性を有する単語毎に分類した単語群毎に、処理の一部を共有化してマッチング処理され、マッチング処理の結果に基づいて生成された、音声認識結果の候補となる単語列の単語どうしの接続関係を示す単語接続関係情報が修正される。 In the speech recognition apparatus and method, the recording medium, and the program according to the present invention, a word group in which one or more word candidates subsequent to the already obtained word in the word string are classified for each word having the same attribute. Each time, a part of the process is shared and the matching process is performed, and the word connection relation information indicating the connection relation between the words in the word string that is a candidate of the speech recognition result generated based on the result of the matching process is corrected. The
本発明は、例えば、音声によってデータベースの検索を行なう場合や、各種の機器の操作を行なう場合、各機器へのデータ入力を行なう場合、音声対話システム等に適用可能である。より具体的には、例えば、音声による地名の問合せに対して、対応する地図情報を表示するデータベース検索装置や、音声による命令に対して、荷物の仕分けを行なう産業用ロボット、キーボードの代わりに音声入力によりテキスト作成を行なうディクテーションシステム、ユーザとの会話を行なうロボットにおける対話システム等に適用可能である。 The present invention can be applied to, for example, a voice interaction system when searching a database by voice, operating various devices, or inputting data to each device. More specifically, for example, a database search device that displays map information corresponding to a place name inquiry by voice, an industrial robot that sorts luggage for voice instructions, a voice instead of a keyboard The present invention can be applied to a dictation system that creates text by input, a dialog system in a robot that performs conversation with a user, and the like.
本発明によれば、音声認識処理を実行することができる。特に、処理に要する計算量や記憶容量の増大を抑え、かつ、音声認識の精度を保ちながら、音声認識処理を高速化することが可能となる。 According to the present invention, voice recognition processing can be executed. In particular, it is possible to increase the speed of speech recognition processing while suppressing an increase in calculation amount and storage capacity required for processing and maintaining accuracy of speech recognition.
以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。 BEST MODE FOR CARRYING OUT THE INVENTION The best mode of the present invention will be described below. The correspondence relationship between the disclosed invention and the embodiments is exemplified as follows. Although there is an embodiment which is described in the specification but is not described here as corresponding to the invention, it means that the embodiment corresponds to the invention. It doesn't mean not. Conversely, even if an embodiment is described herein as corresponding to an invention, that means that the embodiment does not correspond to an invention other than the invention. Absent.
さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加されたりする発明の存在を否定するものではない。 Further, this description does not mean all the inventions described in the specification. In other words, this description is an invention described in the specification and is not claimed in this application, that is, an invention that will be filed in division in the future, appearing by amendment, and added. The existence of is not denied.
本発明によれば、音声認識装置が提供される。この音声認識装置は、単語列のうち、既に求められている単語に続く1以上の単語の候補(例えば、「開ける」、「明ける」、「空ける」、および「閉める」)を、同一の属性(例えば、同音語)を有する単語毎に分類した単語群(例えば、「あける」および「しめる」)毎に、処理の一部(例えば、音響スコアの計算)を共有化してマッチング処理するマッチング処理実行手段(例えば、図5のマッチング部58)と、マッチング処理実行手段によるマッチング処理の結果に基づいて生成された、音声認識結果の候補となる単語列の単語どうしの接続関係を示す単語接続関係情報を修正する修正手段(例えば、図5の再評価部59)とを備える。
According to the present invention, a voice recognition device is provided. This speech recognition apparatus uses one or more word candidates (for example, “open”, “dawn”, “empty”, and “close”) following a word that has already been obtained in a word string with the same attribute. A matching process in which a part of the process (for example, calculation of an acoustic score) is shared and matched for each word group (for example, “open” and “shimeru”) classified for each word having (for example, a homophone) A word connection relationship indicating a connection relationship between words in a word string that is a candidate for a speech recognition result generated based on the result of the matching process performed by the execution unit (for example, the matching
本発明によれば、音声認識装置が提供される。この音声認識装置では、前記単語列のうち、既に求められている前記単語に続く1以上の前記単語の候補を、同一の前記属性を有する前記単語毎に前記単語群として分類する分類手段(例えば、図5の単語候補クラスタリング部57)をさらに設けるようにし、前記マッチング処理実行手段には、分類手段により分類された前記単語群毎に、前記処理の一部を共有化するようにさせることができる。 According to the present invention, a voice recognition device is provided. In this speech recognition apparatus, classification means (for example, classifying one or more word candidates subsequent to the already obtained word in the word string as the word group for each word having the same attribute) 5 is further provided, and the matching processing execution means may share a part of the processing for each word group classified by the classification means. it can.
本発明によれば、音声認識装置が提供される。この音声認識装置では、前記単語列のうち、既に求められている前記単語に続く1以上の前記単語の候補を選択する選択手段(例えば、図5の単語予備選択部56)をさらに設けるようにし、前記分類手段には、選択手段により選択された1以上の前記単語の候補を、同一の前記属性を有する前記単語毎に前記単語群として分類するようにさせることができる。
According to the present invention, a voice recognition device is provided. The speech recognition apparatus further includes selection means (for example, the word
本発明によれば、音声認識装置が提供される。この音声認識装置では、既に求められている前記単語に続く1以上の前記単語の候補は、同一の発音を有する前記単語毎に、前記単語群に分類されるようにすることができる。 According to the present invention, a voice recognition device is provided. In this speech recognition apparatus, one or more candidate words following the already obtained word can be classified into the word group for each word having the same pronunciation.
本発明によれば、音声認識装置が提供される。この音声認識装置では、既に求められている前記単語に続く1以上の前記単語の候補は、音響的に類似した前記単語毎に、前記単語群に分類されるようにすることができる。 According to the present invention, a voice recognition device is provided. In this speech recognition apparatus, one or more candidate words following the already obtained word can be classified into the word group for each of the acoustically similar words.
本発明によれば、音声認識装置が提供される。この音声認識装置では、前記マッチング処理実行手段による前記マッチング処理の結果に基づいて生成された前記単語接続関係情報を記憶する記憶手段(例えば、図5の単語接続関係記憶部60)をさらに設けるようにし、前記修正手段には、記憶手段により記憶された前記単語接続関係情報を修正するようにさせることができる。
According to the present invention, a voice recognition device is provided. The speech recognition apparatus further includes storage means (for example, the word connection
本発明によれば、音声認識装置が提供される。この音声認識装置では、前記修正手段により、前記単語接続関係情報を修正するために、部分的な単語列の音響的なスコアを計算するための状態遷移モデルが構築された場合、構築された状態遷移モデルを記憶する記憶手段(例えば、図22の再評価処理過程記憶部201)をさらに設けるようにし、前記修正手段には、同一の部分的な単語列の音響的なスコアを再度計算する場合、記憶手段により記憶された状態遷移モデルを利用するようにさせることができる。
According to the present invention, a voice recognition device is provided. In this speech recognition apparatus, when a state transition model for calculating an acoustic score of a partial word string is constructed by the modifying means to modify the word connection relation information, the constructed state A storage means (for example, the reevaluation
本発明によれば、音声認識装置が提供される。この音声認識装置では、前記マッチング処理実行手段により、単語の音響的なスコアを計算するための状態遷移モデルが構築された場合、構築された前記状態遷移モデルを記憶する記憶手段(例えば、図25の単語モデル記憶部301)をさらに設けるようにし、前記マッチング処理実行手段には、同一の前記単語の音響的なスコアを再度計算する場合、記憶手段により記憶された状態遷移モデルを利用するようにさせることができる。 According to the present invention, a voice recognition device is provided. In this speech recognition apparatus, when a state transition model for calculating an acoustic score of a word is constructed by the matching processing execution unit, a storage unit (for example, FIG. 25) that stores the constructed state transition model. The word model storage unit 301) is further provided, and when the acoustic score of the same word is calculated again in the matching processing execution unit, the state transition model stored in the storage unit is used. Can be made.
本発明によれば、音声認識装置が提供される。この音声認識装置では、前記マッチング処理実行手段により算出された、前記マッチング処理の途中経過としての値を記憶する記憶手段(例えば、図28のマッチング処理過程記憶部401)をさらに設けるようにし、前記マッチング処理実行手段には、記憶手段により記憶された途中経過としての値を利用して、前記音声認識結果の候補となる複数の前記単語列の前記マッチング処理を交互に実行するようにさせることができる。
According to the present invention, a voice recognition device is provided. In this speech recognition apparatus, a storage unit (for example, a matching
本発明によれば、音声認識方法が提供される。この音声認識方法は、単語列のうち、既に求められている単語に続く1以上の単語の候補(例えば、「開ける」、「明ける」、「空ける」、および「閉める」)を、同一の属性(例えば、同音語)を有する単語毎に分類された単語群(例えば、「あける」および「しめる」)毎に、処理の一部(例えば、音響スコアの計算)を共有化してマッチング処理するマッチング処理実行ステップ(例えば、図7のステップS7)と、マッチング処理実行ステップの処理によるマッチング処理の結果に基づいて生成された、音声認識結果の候補となる単語列の単語どうしの接続関係を示す単語接続関係情報を修正する修正ステップ(例えば、図7のステップS4)とを含む。 According to the present invention, a speech recognition method is provided. In this speech recognition method, one or more word candidates (for example, “open”, “dawn”, “open”, and “close”) following a word that has already been obtained in a word string are assigned the same attribute. A matching process in which a part of the processing (for example, calculation of an acoustic score) is shared for each word group (for example, “open” and “shime”) classified for each word having (for example, a homophone). A word indicating a connection relationship between words in a word sequence that is a candidate for a speech recognition result, generated based on the result of the matching process executed in the process execution step (for example, step S7 in FIG. 7) and the process in the matching process execution step. And a correction step (for example, step S4 in FIG. 7) for correcting the connection relation information.
本発明によれば、音声認識方法と同様のプログラムが提供される。 According to the present invention, a program similar to the speech recognition method is provided.
以下、図を参照して、本発明の実施の形態について説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図5は、本発明を適用した音声認識装置の構成例を示している。 FIG. 5 shows a configuration example of a speech recognition apparatus to which the present invention is applied.
ユーザが発した音声は、図5のマイク(マイクロフォン)51に入力され、マイク51では、その入力音声が、電気信号としての音声信号に変換される。この音声信号は、AD変換部52に供給される。AD変換部52では、マイク51からのアナログ信号である音声信号がサンプリング、量子化され、デジタル信号である音声データに変換される。この音声データは、特徴抽出部53に供給される。
The voice uttered by the user is input to a microphone (microphone) 51 in FIG. 5, and the
特徴抽出部53は、AD変換部52からの音声データについて、適当なフレームごとに音響処理を施し、これにより、例えば、MFCC(Mel Frequency Cepstrum Coefficient)等の特徴量を抽出し、制御部54に供給する。なお、特徴抽出部53では、その他、例えば、スペクトルや、線形予測係数、ケプストラム係数、線スペクトル対等の特徴量を抽出することが可能である。なお、特徴抽出部53が出力する、ユーザが発した音声の特徴量の系列は、フレーム単位で、制御部54に供給されるようになっており、制御部54は、特徴抽出部53からの特徴量を、特徴量記憶部55に供給する。
The
制御部54は、単語接続関係記憶部60に記憶された単語接続関係情報を参照し、マッチング部58や再評価部59を制御する。さらに、制御部54は、マッチング部58がマッチング処理を行なうことにより得られるマッチング処理結果としての音響スコアや言語スコア等に基づいて、単語接続関係情報を生成し、その単語接続関係情報によって、単語接続関係記憶部60の記憶内容を更新する。また、制御部54は、再評価部59の出力に基づいて、単語接続関係記憶部60の記憶内容を修正する。さらに、制御部54は、単語接続関係記憶部60に記憶された単語接続関係情報に基づいて、最終的な音声認識結果を確定して出力する。
The
ここで、単語接続関係情報は、最終的な音声認識結果の候補となる単語列を構成する単語どうしの接続(連鎖または連接)関係を表すもので、各単語の音響スコアおよび言語スコア、並びに各単語に対応する発話の開始時刻および終了時刻を含んでいる。 Here, the word connection relationship information represents a connection (chain or concatenation) relationship between words constituting a word sequence that is a candidate for a final speech recognition result, and includes an acoustic score and a language score of each word, and each The start time and end time of the utterance corresponding to the word are included.
なお、本明細書においては、「音響スコアおよび言語スコアは、その値の大きいものほど良好であることを意味する」と仮定して説明することとする。ただし逆に、「音響スコアおよび言語スコアは、その値の小さいものほど良好であることを意味する」と仮定した場合にも、音響スコアおよび言語スコアの符号を反転するなどにすれば、本発明を適用することができる。 In the present specification, description will be made on the assumption that “the higher the value of the acoustic score and the language score, the better”. However, conversely, even if it is assumed that “the smaller the value of the acoustic score and the language score, the better”, if the sign of the acoustic score and the language score is reversed, the present invention Can be applied.
図6は、単語接続関係記憶部60に記憶される単語接続関係情報の例を、グラフ構造を用いて表したものである。図6において、単語接続関係情報としてのグラフ構造は、単語を表すアーク(図6において、○印どうしを結ぶ線分で示す部分)と、単語どうしの境界を表すノード(図6において○印で示す部分)とから構成されている。なお、後述する図8乃至図11、図14、図16、図17、図19乃至図21、図24、および図26においても、同様とする。
FIG. 6 shows an example of word connection relationship information stored in the word connection
ノードは、時刻情報を有しており、この時刻情報は、そのノードに対応する特徴量の抽出時刻を表す。後述するように、抽出時刻は、音声区間の開始時刻を0とする、特徴抽出部53が出力する特徴量が得られた時刻である。従って、図6において、音声区間の開始、すなわち、最初の単語の先頭に対応するノード1が有する時刻情報は0となる。ノードは、アークの始端および終端となるが、始端のノード(始端ノード)、または終端のノード(終端ノード)が有する時刻情報は、それぞれ、そのノードに対応する単語の発話の開始時刻、または終了時刻となる。
The node has time information, and this time information represents the extraction time of the feature amount corresponding to the node. As will be described later, the extraction time is the time at which the feature amount output by the
なお、図6では、左から右方向が、時間の経過を表しており、従って、あるアークの左右にあるノードのうち、左側のノードが始端ノードとなり、右側のノードが終端ノードとなる。なお、後述する図8乃至図11、図14、図16、図17、図19乃至図21、図24、および図26においても、同様とする。 In FIG. 6, the time from left to right represents the passage of time, and therefore, among the nodes on the left and right of a certain arc, the left node is the start node and the right node is the end node. The same applies to FIGS. 8 to 11, 14, 16, 17, 19 to 21, 24, and 26 described later.
アークは、そのアークに対応する単語、並びに単語の音響スコアおよび言語スコアを有しており、このアークが、終端ノードとなっているノードを始端ノードとして、順次接続されていくことにより、音声認識結果の候補となる単語の系列が構成されていく。図6において、各アークの直近に括弧書きで、各アークに対応する単語、音響スコア、および言語スコアが示されている。すなわち、図6の例の場合、アーク1に対応する単語は「部屋」であり、音響スコアはA1であり、言語スコアはL1である。また、アーク2に対応する単語は「を」であり、音響スコアはA2であり、言語スコアはL2である。また、アーク3に対応する単語は「空ける」であり、音響スコアはA3であり、言語スコアはL3である。また、アーク4に対応する単語は「窓」であり、音響スコアはA4であり、言語スコアはL4である。また、アーク5に対応する単語は「を」であり、音響スコアはA5であり、言語スコアはL5である。
The arc has a word corresponding to the arc, and an acoustic score and a language score of the word, and the arc is sequentially connected with a node that is a terminal node as a start node, thereby performing speech recognition. A sequence of words as candidate results is constructed. In FIG. 6, the word, the acoustic score, and the language score corresponding to each arc are shown in parentheses in the immediate vicinity of each arc. That is, in the example of FIG. 6, the word corresponding to the
制御部54においては、まず最初に、音声区間の開始を表すノード1に対して、音声認識結果として確からしい単語に対応するアークが接続される。図6の例では、「部屋」に対応するアーク1、および「窓」に対応するアーク4が接続されている。なお、音声認識結果として確からしい単語か否かは、マッチング部58において求められる音響スコアおよび言語スコアに基づいて決定される。
In the
そして、以下、同様にして、「部屋」に対応するアーク1の終端である終端ノード2、「を」に対応するアーク2の終端である終端ノード3、「窓」に対応するアーク4の終端である終端ノード5それぞれに対して、同様に、確からしい単語に対応するアークが接続されていく。
In the same manner, the
以上のようにしてアークが接続されていくことで、音声区間の開始を始点として、左から右方向に、アークとノードで構成される1以上のパスが構成されて行くが、例えば、そのパスのすべてが、音声区間の最後(図6の実施の形態では、時刻T)に到達すると、制御部54において、音声区間の開始から最後までに形成された各パスについて、そのパスを構成するアークが有している音響スコアおよび言語スコアが累積され、最終スコアが求められる。そして、例えば、その最終スコアが最も高いパスを構成するアークに対応する単語列が、音声認識結果として確定されて出力される。
By connecting arcs as described above, one or more paths composed of arcs and nodes are formed from left to right starting from the start of the speech section. Are reached at the end of the voice section (time T in the embodiment of FIG. 6), the
なお、上述の場合には、音声区間内にあるノードについて、必ずアークを接続して、音声区間の開始から最後にまで延びるパスを構成するようにしたが、このようなパスを構成する過程において、それまでに構成されたパスについてのスコアから、音声認識結果として不適当であることが明らかであるパスに関しては、その時点で、パスの構成を打ち切る(その後に、アークを接続しない)ようにすることが可能である。 In the above-described case, the arcs are always connected to the nodes in the speech section, and the path extending from the start to the end of the speech section is configured. In the process of configuring such a path, For a path that is clearly unsuitable as a speech recognition result from the scores for the paths that have been constructed so far, the path configuration should be terminated at that point (the arc is not connected thereafter). Is possible.
また、上述のようなパスの構成ルールに従えば、1つのアークの終端が、次に接続される1以上のアークの始端ノードなり、基本的には、枝葉が拡がるように、パスが構成されて行くが、例外的に、1つのアークの終端が、他のアークの終端に一致する場合、つまり、あるアークの終端ノードと、他のアークの終端ノードとが同一のノードに共通化される場合がある。 Further, according to the path configuration rule as described above, the end of one arc becomes the start node of one or more arcs to be connected next, and basically the path is configured so that the branches and leaves expand. Exceptionally, if the end of one arc matches the end of another arc, that is, the end node of one arc and the end node of another arc are shared by the same node. There is a case.
すなわち、文法規則としてバイグラムを用いた場合には、別のノードから延びる2つのアークが、同一の単語に対応するものであり、さらに、その単語の発話の終了時刻も同一であるときには、その2つのアークの終端は一致する。 That is, when a bigram is used as a grammar rule, two arcs extending from another node correspond to the same word, and when the end time of the utterance of the word is also the same, The ends of the two arcs coincide.
なお、ノードの共通化は行なわないようにすることも可能であるが、メモリ容量の効率化の観点からは、行なうのが好ましい。 Although it is possible not to share the nodes, it is preferable to do so from the viewpoint of increasing the memory capacity.
また、単語接続関係記憶部60に記憶されている単語接続関係情報は、単語予備選択部56、マッチング部58、および再評価部59において、必要に応じて参照することができるようになっている。
Further, the word connection relation information stored in the word connection
図5において、特徴量記憶部55は、制御部54から供給される特徴量の系列を記憶する。特徴量記憶部55は、供給された特徴量の時系列を、時間を遡って利用できるように、全て記憶する。なお、制御部54は、音声区間の開始時刻を基準(例えば0)とする、特徴抽出部53が出力する特徴量が得られた時刻(以下、適宜、抽出時刻という)を、その特徴量とともに、特徴量記憶部55に供給するようになっており、特徴量記憶部55は、特徴量を、その抽出時刻とともに記憶する。特徴量記憶部55に記憶された特徴量およびその抽出時刻は、単語予備選択部56、マッチング部58、および再評価部59が、必要に応じて参照できるようになっている。
In FIG. 5, the feature
単語予備選択部56は、マッチング部58から、指定されたノードが有する時刻を開始時刻として、単語予備選択を行なうよう指令された場合、単語接続関係記憶部60、音響モデルデータベース(DB)61、辞書データベース(DB)62、および文法データベース(DB)63を必要に応じて参照しながら、マッチング部58でマッチング処理の対象とする1以上の単語を選択する単語予備選択処理を、特徴量記憶部55に記憶された特徴量を用いて行なう。単語予備選択部56は、単語予備選択処理の結果選択された1以上の単語を単語候補クラスタリング部57に送信する。単語予備選択部56は、例えば、単語予備選択の処理により、図6の時刻t1を開始点とする4つの単語候補「開ける」、「空ける」、「明ける」、および「閉める」を選択した場合、この4つの単語候補を単語候補クラスタリング部57に送信する。
When the word
単語候補クラスタリング部57は、単語予備選択部56から供給された単語候補に関して、それぞれの発音を調べ、同じ発音を持つ単語候補(同音語)どうしをクラスタリングする。これにより、1以上の単語候補セットが生成される。例えば、単語予備選択部56から単語候補「開ける」、「空ける」、「明ける」、および「閉める」が供給された場合、単語候補クラスタリング部57は、「開ける」「空ける」「明ける」を同じ発音をもつ単語候補(同音語)としてクラスタリングし、1つの単語候補セットとしてまとめ、「閉める」を、それだけを要素とするもう1つの単語候補セットとする。単語候補クラスタリング部57は、単語予備選択部56から供給された単語候補のクラスタリング処理が終了した後、各単語候補に、その単語候補が属する単語候補セットを識別するための分類情報を付与して、マッチング部58に送信する。
The word
マッチング部58は、制御部54からの制御に基づき、単語予備選択部56に対して、指定されたノードが有する時刻を開始時刻として、単語予備選択を行なうように指令する。また、マッチング部58は、単語接続関係記憶部60、音響モデルデータベース61、辞書データベース62、および文法データベース63を必要に応じて参照しながら、単語候補クラスタリング部57からのクラスタリング処理の結果得られる単語候補を対象としたマッチング処理を、特徴量記憶部55に記憶された特徴量を用いて行ない、単語候補毎の音響スコア、言語スコア、および終了時刻を決定する。
Based on the control from the
すなわち、音響モデルデータベース61は、音声認識する音声の言語における個々の音素や音節などの音響的な特徴を表す音響モデルを記憶している。ここでは、連続分布HMM法に基づいて音声認識を行なうので、音響モデルとしては、例えば、HMM(Hidden Markov Model)が用いられる。辞書データベース62は、認識対象の各単語(語彙)について、その発音に関する情報(音韻情報)が記述された単語辞書を記憶している。文法データベース63は、辞書データベース62の単語辞書に登録されている各単語が、どのように連鎖しているか(つながっているか)を記述した文法規則(言語モデル)を記憶している。ここで、文法規則としては、例えば、文脈自由文法(CFG)や、統計的な単語連鎖確率(N-gram)などに基づく規則を用いることができる。
That is, the acoustic model database 61 stores an acoustic model representing acoustic features such as individual phonemes and syllables in the speech language for speech recognition. Here, since speech recognition is performed based on the continuous distribution HMM method, for example, an HMM (Hidden Markov Model) is used as the acoustic model. The
マッチング部58は、単語候補クラスタリング部57からのクラスタリング処理の結果得られる単語候補セットに含まれる単語候補毎に、スコアの初期値を算出し、初期値が1番大きい単語について、辞書データベース62の単語辞書を参照することにより、音響モデルデータベース61に記憶されている音響モデルを接続することで、単語の音響モデル(単語モデル)を構成し、単語モデルを用いて、特徴量に基づき、単語候補セット毎の音響スコアおよび終了時刻を決定する。マッチング部58はまた、文法データベース63を参照して、単語候補セットに含まれる単語候補の言語スコアを決定する。
The matching
マッチング部58は、マッチング処理の結果得られた単語候補セット毎の音響スコア、および終了時刻、並びに単語候補毎の言語スコアを制御部54に供給する。
The matching
再評価部59は、制御部54からの制御に基づき、音響モデルデータベース61、辞書データベース62、および文法データベース63を必要に応じて参照しながら、単語接続関係記憶部60に記憶された単語接続関係情報の再評価を、特徴量記憶部55に記憶された特徴量を用いて行ない、その再評価結果を、制御部54に供給する。
Based on the control from the
すなわち、再評価部59は、単語接続関係記憶部60に記憶される単語接続関係情報において、マッチング処理を継続すべきノードに対して、マッチング処理を行なう前に、そのノードから時間的に遡った部分的な単語系列に対する再評価を、音響モデルデータベース61、辞書データベース62、および文法データベース63を用いて行なう。このとき、後述するように、部分的な単語列に対しては、その単語境界を固定することなく評価が行なえるので、動的計画法に基づく単語境界の決定が行われることになる。そして、再評価を行った結果に基づき、単語接続関係記憶部60に記憶される単語接続関係情報が修正される。この処理は、マッチング部58に、次のマッチング処理の実行指令を出す直前に行なわれる。例えば、図6の「窓を」と「ドア」という2つの単語列仮説に着目し、それぞれの再評価が行なわれ、その後、単語予備選択部56、単語候補クラスタリング部57、およびマッチング部58の処理が行なわれる。同様に、新たに延びた単語列仮説「窓を開ける」と「ドア開ける」が単語接続関係記憶部60に記憶された場合、その単語列仮説に対する再評価も後に行なわれることになる。その結果、同じ「開ける」という単語であっても、直前の単語列仮説「窓を」と「ドア」に依存して音響モデルを用いた正しいマッチング処理がそれぞれ行なわれ、単語境界の補正と音響スコアの補正が行なわれることになる。
That is, the
単語接続関係記憶部60は、上述したように、制御部54から供給される単語接続関係情報を、ユーザの音声の認識結果が得られるまで記憶する。
As described above, the word connection
以上のように、単語候補クラスタリング部57において、同じ発音の単語候補をクラスタリングすることでマッチング処理の回数を削減し、その結果を一旦単語接続関係記憶部60に記憶した後、記憶された単語列仮説に対する再評価を再評価部59において行なうようにすることで、マッチング処理の際には使われない直前の単語列仮説に依存した音響モデルが適用され、その結果、正しい単語境界および音響スコアに修正することが可能となる。
As described above, the word
次に、図7のフローチャートを参照して、図5の音声認識装置による音声認識処理について説明する。 Next, the speech recognition process by the speech recognition apparatus in FIG. 5 will be described with reference to the flowchart in FIG.
ユーザが発話を行なうと、その発話としての音声は、マイク51およびAD変換部52を介することにより、デジタルの音声データとされ、特徴抽出部53に供給される。特徴抽出部53は、そこに供給される音声データから、音声の特徴量を、フレームごとに順次抽出し、制御部54に供給する。
When the user speaks, the voice as the speech is converted into digital voice data via the
制御部54は、何らかの手法で音声区間を認識するようになっており、音声区間においては、特徴抽出部53から供給される特徴量の系列を、各特徴量の抽出時刻と対応付けて、特徴量記憶部55に供給して記憶させる。
The
さらに、制御部54は、音声区間の開始後、ステップS1において、音声区間の開始を表すノード(以下、適宜、初期ノードと称する)を生成し、単語接続関係記憶部60に供給して記憶させる。すなわち、制御部54は、ステップS1において、例えば図6におけるノード1を、単語接続関係記憶部60に記憶させる。
Further, after the start of the speech section, the
そして、ステップS2に進み、制御部54は、単語接続関係記憶部60の単語接続関係情報を参照することで、途中ノードが存在するか否かを判定する。
Then, the process proceeds to step S <b> 2, and the
すなわち、上述したように、例えば図6に示した単語接続関係情報においては、終端ノードに、アークが接続されていくことにより、音声区間の開始から最後にまで延びるパスが形成されて行くが、ステップS2では、終端ノードのうち、まだアークが接続されておらず、かつ、音声区間の最終時刻Tにまで到達していないものが、途中ノード(例えば、図6におけるノード6)として検索され、そのような途中ノードが存在するか否かが判定される。
That is, as described above, in the word connection relation information shown in FIG. 6, for example, a path extending from the start to the end of the speech interval is formed by connecting an arc to the terminal node. In step S2, an end node that has not yet been connected to the arc and has not reached the final time T of the voice section is searched as an intermediate node (for example,
なお、上述したように、音声区間は何らかの手法で認識され、さらに、終端ノードに対応する時刻は、その終端ノードが有する時刻情報を参照することで認識することができるから、アークが接続されていない終端ノードが、音声区間の最後に到達していない途中ノードであるか否かは、音声区間の最後の時刻と、終端ノードが有する時刻情報とを比較することで判定することができる。 As described above, the voice section is recognized by some method, and the time corresponding to the terminal node can be recognized by referring to the time information of the terminal node, so that the arc is connected. Whether or not a terminal node that is not present is a midway node that has not reached the end of the speech segment can be determined by comparing the last time of the speech segment with the time information of the termination node.
ステップS2において、途中ノードが存在すると判定された場合、処理はステップS3に進み、制御部54は、単語接続関係情報の中に存在する途中ノードのうちの1つを、それに接続するアークとしての単語を決定するノード(以下、適宜、注目ノードという)として選択する。
If it is determined in step S2 that there is an intermediate node, the process proceeds to step S3, and the
すなわち、制御部54は、単語接続関係情報の中に1つの途中ノードしか存在しない場合には、その途中ノードを、注目ノードとして選択する。また、制御部54は、単語接続関係情報の中に複数の途中ノードが存在する場合には、その複数の途中ノードのうちの1つを注目ノードとして選択する。具体的には、制御部54は、例えば、複数の途中ノードそれぞれが有する時刻情報を参照し、その時刻情報が表す時刻が最も古いもの(音声区間の開始側のもの)を、注目ノードとして選択する。なお、同一の時刻に、時刻が最も古い途中ノードが複数存在した場合(例えば、後述する図17に示される例の場合)、制御部54は、時刻が最も古い複数の途中ノードを全て注目ノードとして選択する。
That is, when there is only one halfway node in the word connection relation information, the
その後、制御部54は、注目ノードが有する時刻情報を開始時刻としてマッチング処理を行なう旨の指令(以下、適宜、マッチング処理指令という)を、マッチング部58および再評価部59に出力する。
Thereafter, the
再評価部59は、制御部54からマッチング処理指令を受信すると、ステップS4に進み、単語接続関係記憶部60を参照することにより、初期ノードから注目ノードに至るまでのパス(以下、適宜、部分パスという)を構成するアークによって表される単語列(以下、適宜、部分単語列という)を認識し、その部分単語列の再評価を行なう。すなわち、部分単語列は、後述するようにして、単語予備選択部56が予備選択した単語を対象に、マッチング部58がマッチング処理を行なうことにより得られた音声認識結果の候補とする単語列の途中結果であるが、再評価部59では、その途中結果が、再度、評価される。
When the
具体的には、再評価部59は、部分単語列について、言語スコアおよび音響スコアを再計算するため、部分単語列に対応する特徴量の系列を、特徴量記憶部55から読み出す。すなわち、再評価部59は、例えば、部分パスの先頭のノードである初期ノードが有する時刻情報が表す時刻から、注目ノードが有する時刻情報が表す時刻までに対応付けられている特徴量の系列(特徴量系列)を、特徴量記憶部55から読み出す。さらに、再評価部59は、音響モデルデータベース61、辞書データベース62、および文法データベース63を参照し、特徴量記憶部55から読み出した特徴量系列を用いて、部分単語列について、言語スコアおよび音響スコアを再計算する。なお、この再計算は、部分単語列を構成する各単語の単語境界を固定せずに行われる。従って、再評価部59では、部分単語列の言語スコアおよび音響スコアを再計算することにより、部分単語列について、それを構成する各単語の単語境界の決定が、動的計画法に基づいて行われることになる。
Specifically, the
再評価部59は、以上のようにして、部分単語列の各単語の言語スコアおよび音響スコア、並びに単語境界を新たに得ると、その新たな言語スコアおよび音響スコアによって、単語接続関係記憶部60の部分単語列に対応する部分パスを構成するアークが有する言語スコアおよび音響スコアを修正するとともに、新たな単語境界によって、単語接続関係記憶部60の部分単語列に対応する部分パスを構成するノードが有する時刻情報を修正する。なお、本実施の形態では、再評価部59による単語接続関係情報の修正は、制御部54を介して行われるようになっている。
When the
以上に説明した再評価部59の処理の例を、図8乃至図11を参照して説明する。図8は、単語接続関係記憶部60に記憶された単語列仮説の1つを抜き出して、グラフ化して示したものである。図8において、時刻0のノード1から時刻aのノード2までを結ぶアーク1は、単語候補「窓」に対応し、単語候補「窓」の音響スコアはA1であり、言語スコアはL1である。また、時刻aのノード2から時刻tのノード3までを結ぶアーク2は、単語候補「を」に対応し、単語候補「を」の音響スコアはA2であり、言語スコアはL2である。
An example of the process of the
今、制御部54より、ノード3が有する時刻情報を開始時刻としてマッチング処理を行なう旨の指令が通知された場合、再評価部59は、ノード1乃至ノード3に対応する単語列仮説「窓を」の単語列に対する再評価を行なう。その結果、図9に示されるように、「窓」と「を」の単語境界となるノード2の時刻aが時刻bに修正され、アーク1に付与された音響スコアA1が、A1bに修正され、アーク2に付与された音響スコアA2が、A2bに修正される。その後、マッチング部58により、時刻tを開始点として、「開ける」という単語に対するマッチング処理が行なわれたとする。この結果、図10に示されるように、時刻uのノード4を終端ノードとして、単語候補「開ける」に対応するアーク3が追加される。図10において、単語候補「開ける」の音響スコアはA3であり、言語スコアはL3である。
When the
その後、さらに制御部54より、ノード4が有する時刻情報を開始時刻としてマッチング処理を行なう旨の指令が通知された場合、再評価部59は、ノード2乃至ノード4に対応する「を開ける」の単語列に対する再評価を行なう。その結果、図11に示されるように、「を」と「開ける」の単語境界となるノード3の時刻tが時刻sに修正され、アーク2に付与された音響スコアA2bがA2cに修正され、アーク3に付与された音響スコアA3が、A3bに修正される。
Thereafter, when the
再評価部59は、単語接続関係記憶部60の単語接続関係情報の修正を終了すると、その旨を、制御部54を介して、マッチング部58に供給する。
When the
マッチング部58は、上述したように、制御部54からマッチング処理指令を受信した後、再評価部59から、制御部54を介して、単語接続関係情報の修正が終了した旨を受信すると、注目ノード、およびそれが有する時刻情報を、単語予備選択部56に供給し、それぞれに、単語予備選択処理を要求して、ステップS5に進む。
As described above, when the
単語予備選択部56は、マッチング部58から、単語予備選択処理の要求を受信すると、ステップS5において、注目ノードに接続されるアークとなる単語の候補を選択する単語予備選択処理を、辞書データベース62の単語辞書に登録された単語を対象として行なう。
When the word
すなわち、単語予備選択部56は、言語スコアおよび音響スコアを計算するのに用いる特徴量の系列の開始時刻を、注目ノードが有する時刻情報から認識し、その開始時刻以降の、必要な特徴量の系列を特徴量記憶部55から読み出す。さらに、単語予備選択部56は、辞書データベース62の単語辞書に登録された各単語の単語モデルを、音響モデルデータベース61の音響モデルを接続することで構成し、その単語モデルに基づき、特徴量記憶部55から読み出した特徴量の系列を用いて、音響スコアを計算する。
That is, the word
また、単語予備選択部56は、各単語モデルに対応する単語の言語スコアを、文法データベース63に記憶された文法規則に基づいて計算する。
The word
なお、単語予備選択部56においては、単語接続関係情報を参照することにより、各単語の音響スコアの計算を、その単語の直前の単語(注目ノードが終端となっているアークに対応する単語)に依存するクロスワードモデルを用いて行なうことが可能である。
In addition, the word
また、単語予備選択部56においては、単語接続関係情報を参照することにより、各単語の言語スコアの計算を、その単語が、その直前の単語と連鎖する確率を規定するバイグラムに基づいて行なうことが可能である。
In addition, the word
単語予備選択部56は、以上のようにして、各単語について音響スコアおよび言語スコアを求めると、その音響スコアおよび言語スコアを総合評価したスコアを、以下、適宜、単語スコアと称する)を求め、その上位L個を、マッチング処理の対象とする単語候補として、単語候補クラスタリング部57に供給する。
When the word
なお、ここでは、単語予備選択部56において、各単語の音響スコアおよび言語スコアを総合評価した単語スコアに基づいて、単語を選択するようにしたが、単語予備選択部56では、その他、例えば、音響スコアだけや、言語スコアだけに基づいて、単語を選択するようにすることが可能である。
Here, in the word
また、単語予備選択部56では、特徴量記憶部55から読み出した特徴量の系列の最初の部分だけを用いて、音響モデルデータベース61の音響モデルに基づき、対応する単語の最初の部分の幾つかの音韻を求め、最初の部分が、その音韻に一致する単語を選択するようにすることも可能である。
In addition, the word
さらに、単語予備選択部56では、単語接続関係情報を参照して、直前の単語(注目ノードが終端ノードとなっているアークに対応する単語)の品詞を認識し、その品詞に続く単語の品詞として可能性の高い品詞の単語を選択するようにすることも可能である。
Further, the word
すなわち、単語予備選択部56における単語の選択方法は、どのような方法を用いても良く、究極的には、単語を、ランダムに選択しても良い。
That is, any method may be used as a word selection method in the word
単語候補クラスタリング部57は、単語予備選択部56から、マッチング処理に用いるL個の単語候補を受信すると、ステップS6において、その単語候補を対象として、クラスタリング処理を行なう。
When the word
すなわち、単語候補クラスタリング部57はL個の単語候補を発音が同一の語(同音語)毎に分類して、これらを単語候補セットとする。従って、例えば、単語予備選択部56から、単語候補「開ける」、「明ける」、「空ける」、および「閉める」が供給された場合、単語候補クラスタリング部57は、同音語である単語候補「開ける」、「明ける」、および「空ける」を1つの単語候補セット「あける」に分類し、単語候補「閉める」を1つの単語候補セット「閉める」に分類する。単語候補クラスタリング部57は、単語候補を単語候補セットに分類した後、単語候補がどの単語候補セットに分類されているかを示す分類情報を各単語候補に付与して、単語候補をマッチング部58に供給する。
That is, the word
マッチング部58は、単語候補クラスタリング部57から、分類情報が付与されたL個の単語候補を受信すると、ステップS7において、その単語候補を対象として、マッチング処理を行なう。ここで、図12のフローチャートを参照して、図7のステップS7のマッチング処理について詳細に説明する。なお、以下の説明においては、例として、図6のノード6が注目ノードとして選択され(図7のステップS3)、単語予備選択部56により単語候補「開ける」、「明ける」、「空ける」、および「閉める」が選択され(図7のステップS5)、単語候補クラスタリング部57により、単語候補「開ける」、「明ける」、および「空ける」を含む単語候補セット「あける」、並びに単語候補「閉める」を含む単語候補セット「しめる」にクラスタリングされた(図7のステップS6)場合について説明する。
When the
図12のステップS101において、マッチング部58は、単語接続関係記憶部60に記憶された単語接続関係情報を参照することにより、単語候補を接続する直前の単語列仮説を特定し、単語列仮説に対するスコアを算出する。
In step S101 of FIG. 12, the matching
単語列仮説に対応するスコアは、音響スコアと言語スコアの累積値で与えられる。例えば、単語列仮説「窓を」に対応するスコアをS(窓を)とすると、図6に示される、アーク4およびアーク5により構成される単語列仮説「窓を」に対応するスコアは以下の式で与えられる。
The score corresponding to the word string hypothesis is given by the cumulative value of the acoustic score and the language score. For example, if the score corresponding to the word string hypothesis “window” is S (window), the score corresponding to the word string hypothesis “window” composed of
S(窓を)= (A4 + L4) + (A5 + L5) S (window) = (A4 + L4) + (A5 + L5)
すなわち、単語列仮説に対応するスコアは、その単語列仮説に含まれている各単語の音響スコアと言語スコアを足し算した総合のスコアを、単語列仮説に含まれている全ての単語分足し算して算出される。 In other words, the score corresponding to the word string hypothesis is obtained by adding the total score obtained by adding the acoustic score and language score of each word included in the word string hypothesis to all the words included in the word string hypothesis. Is calculated.
ステップS102において、マッチング部58は、単語候補クラスタリング部57から供給された単語候補セットの中から、ステップS103乃至ステップS107の処理を行なうべき単語候補セットを1つ選択する。例えば、単語候補クラスタリング部57により、単語候補「開ける」、「明ける」、および「空ける」を含む単語候補セット「あける」、並びに単語候補「閉める」を含む単語候補セット「しめる」にクラスタリングされた場合、マッチング部58は、単語候補セット「あける」および「しめる」のうち、いずれか1つを選択する。
In step S102, the matching
次に、ステップS103において、マッチング部58は、例えばバイグラムに基づく確率から、ステップS102で選択された単語候補セットに含まれている全ての単語候補の言語スコアを求める。例えば、ステップS102で、単語候補セット「あける」が選択された場合、ステップS103において、マッチング部58は、「窓を」に「開ける」が後続する場合の言語スコア、「窓を」に「明ける」が後続する場合の言語スコア、および「窓を」に「空ける」が後続する場合の言語スコアをそれぞれ求める。
Next, in step S103, the matching
ステップS104において、マッチング部58は、ステップS101で算出された、単語候補を接続する直前の単語までの累積スコア、およびステップS103で算出された、単語候補の言語スコアに基づいて、スコアの初期値を算出する。
In step S104, the matching
スコアの初期値は、前に接続する単語列仮説に応じて異なったものとなる。例えば、単語列仮説「窓を」に対して「開ける」が後続する場合、その初期値U1は、以下の式で与えられる。 The initial value of the score differs depending on the word string hypothesis connected before. For example, when the word string hypothesis “open window” is followed by “open”, the initial value U1 is given by the following equation.
U1=S(窓を)+L(開ける|窓を)
・・・(1)
U1 = S (open window) + L (open | open window)
... (1)
上記の式(1)において、L(開ける|窓を)は、「窓を」に「開ける」が後続する場合の言語スコアを表す。バイグラムを用いる場合には、この言語スコアは、(を、開ける)という2単語の連鎖確率で与えられることになる。 In the above equation (1), L (open | window) represents a language score when “open” is followed by “open”. In the case of using a bigram, this language score is given by a two word chain probability of (open).
同様にして、単語列仮説「窓を」に対して「明ける」が後続する場合、その初期値U2は、以下の式で与えられる。なお、L(明ける|窓を)は、「窓を」に「明ける」が後続する場合の言語スコアを表す。 Similarly, when “break” follows the word string hypothesis “window”, the initial value U2 is given by the following equation. Note that L (dawn | window) represents a language score when “dawn” follows “open window”.
U2=S(窓を)+L(明ける|窓を)
・・・(2)
U2 = S (window) + L (dawn | window)
... (2)
同様にして、単語列仮説「窓を」に対して「空ける」が後続する場合、その初期値U3は、以下の式で与えられる。なお、L(空ける|窓を)は、「窓を」に「空ける」が後続する場合の言語スコアを表す。 Similarly, when the word string hypothesis “window” is followed by “open”, the initial value U3 is given by the following equation. L (open | window) represents a language score when “open” is followed by “open”.
U3=S(窓を)+L(空ける|窓を)
・・・(3)
U3 = S (window) + L (open | window)
... (3)
このようにして、新たな単語候補セットを接続するノード(例えば、図6のノード6)に至る単語列仮説(例えば、図6の「窓を」)のスコアに、単語候補セットに含まれている各単語(例えば、「開ける」、「明ける」、または「空ける」)を接続した場合の言語スコアを足し算することにより、各単語候補に対応するスコアの初期値を算出することができる。上記の例の場合、1つの単語列仮説と3つの単語候補に対して、3つのスコアの初期値U1乃至U3が求まることになる。
In this way, the score of the word string hypothesis (for example, “window” in FIG. 6) reaching the node (for example,
図13は、単語列仮説と単語候補の組み合わせと、それぞれのスコアの初期値U1乃至U3が与えられた例を示している。すなわち、図13において、U1は単語列仮説「窓を」に対して「開ける」が後続する場合の初期値を表し、U2は単語列仮説「窓を」に対して「明ける」が後続する場合の初期値を表し、U3は単語列仮説「窓を」に対して「空ける」が後続する場合の初期値を表している。 FIG. 13 shows an example in which combinations of word string hypotheses and word candidates and initial values U1 to U3 of the respective scores are given. That is, in FIG. 13, U1 represents an initial value when “open” follows the word string hypothesis “window”, and U2 when “open” follows the word string hypothesis “window”. U3 represents the initial value when “open” follows the word string hypothesis “window”.
次に、マッチング部58は、ステップS105において、算出したスコアの初期値が1番大きな値の単語候補を、その単語候補を含む単語候補セットを代表する単語(以下、代表単語とも称する)として決定し、ステップS106において、ステップS105で決定された代表単語の音響スコアを算出する。例えば、図13の(窓を、開ける)の組み合わせの初期値U1が最も高い場合、マッチング部58は、「開ける」に対するマッチング処理を実行する。ここで、「開ける」に対応する音響モデルは、直前の単語列仮説「窓を」に依存したものが用いられる。具体的には、マッチング部58は、音響スコアを計算するのに用いる特徴量の系列の開始時刻を、注目ノード(図6の例の場合、ノード6)が有する時刻情報から認識し、その開始時刻以降の、必要な特徴量の系列を特徴量記憶部55から読み出す。さらに、マッチング部58は、辞書データベース62を参照することで、代表単語「開ける」の音韻情報を認識し、その音韻情報に対応する音響モデルを、音響モデルデータベース61から読み出して接続することで、単語モデルを構成する。
Next, in step S105, the matching
そして、マッチング部58は、上述のようにして構成した単語モデルに基づき、特徴量記憶部55から読み出した特徴量系列を用いて、代表単語の音響スコアを計算する。なお、マッチング部58においては、単語接続関係情報を参照することにより、単語の音響スコアの計算を、クロスワードモデルに基づいて行なうようにすることが可能である。
Then, the matching
ステップS107において、マッチング部58は、ステップS106で求められた代表単語の音響スコアを、同一の単語候補セットに含まれている他の単語候補の音響スコアとして決定する。その結果、例えばステップS106で、図6の時刻t1を開始点とし、ある時刻を終了点とする音響スコアが代表単語「開ける」に対して求まっていた場合、この音響スコアを、残りの単語列仮説と単語候補の組み合わせに対しても近似値としてそのまま利用し、残りの2つの単語候補に対するマッチング処理は行なわない。すなわち、例えば、(窓を、明ける)の組み合わせおよび(窓を、空ける)の組み合わせについては、音響スコアの算出を省略し、(窓を、開ける)の組み合わせで算出された音響スコアで代用する。
In step S107, the matching
ステップS108において、マッチング部58は、未選択の単語候補セットが存在するか否かを判定し、未選択の単語候補セットが存在する場合、処理はステップS102に戻り、上述したステップS102以降の処理を繰り返す。例えば、上述したように、単語候補セット「あける」および「しめる」のうち、単語候補セット「あける」についてステップS102乃至ステップS107の処理が実行された後、ステップS108において、マッチング部58は、未選択の単語候補セット「しめる」が存在すると判定し、処理はステップS102に戻る。その後、単語候補セット「しめる」についてもステップS102乃至ステップS107の処理が実行される。なお、単語候補セット「しめる」のように、単語候補セットに単語候補が1つしか含まれていない場合、ステップS107の処理はスキップされる。
In step S108, the matching
ステップS108において、マッチング部58が、未選択の単語候補セットは存在しないと判定した場合、図12のマッチング処理58は終了し、処理は図7のステップS8に進む。
If the
マッチング部58は、以上のようにして、単語候補クラスタリング部57からの単語候補セットすべてについて、その音響スコアおよび言語スコアを求め、ステップS8に進む。
As described above, the matching
ステップS8では、単語候補それぞれについて、その音響スコアおよび言語スコアを総合評価した単語スコアが求められ、その単語スコアに基づいて、単語接続関係記憶部60に記憶された単語接続関係情報が更新される。
In step S8, a word score obtained by comprehensively evaluating the acoustic score and the language score is obtained for each word candidate, and the word connection relation information stored in the word connection
すなわち、ステップS8では、マッチング部58は、単語候補について単語スコアを求め、例えば、その単語スコアを所定の閾値と比較すること等によって、注目ノードに接続するアークとしての単語を、単語候補の中から絞り込む。そして、マッチング部58は、その絞り込みの結果残った単語を、その音響スコア、言語スコア、およびその単語の終了時刻とともに、制御部54に供給する。
That is, in step S8, the matching
なお、マッチング部58において、単語の終了時刻は、音響スコアを計算するのに用いた特徴量の抽出時刻から認識される。また、ある単語について、その終了時刻としての蓋然性の高い抽出時刻が複数得られた場合には、その単語については、各終了時刻と、対応する音響スコアおよび言語スコアとのセットが、制御部54に供給される。
In the
制御部54は、上述のようにしてマッチング部58から供給される単語の音響スコア、言語スコア、および終了時刻を受信すると、マッチング部58からの各単語について、単語接続関係記憶部60に記憶された単語接続関係情報における注目ノードを始端ノードとして、アークを延ばし、そのアークを、終了時刻の位置に対応する終端ノードに接続する。さらに、制御部54は、各アークに対して、対応する単語、並びにその音響スコアおよび言語スコアを付与するとともに、各アークの終端ノードに対して、対応する終了時刻を時刻情報として与える。そして、ステップS2に戻り、以下、同様の処理が繰り返される。
When receiving the acoustic score, language score, and end time of the word supplied from the matching
その結果、例えば、図14に示されるような単語接続関係情報が、単語接続関係記憶部60に記憶される。図14は図6のノード6に対して、単語候補セット「あける」に含まれている単語候補「開ける」、「明ける」、および「空ける」、並びに単語候補セット「しめる」に含まれている単語候補「閉める」が接続された場合の例を示している。アーク6は、単語候補「開ける」に対応しており、この音響スコアA6および言語スコアL6は、従来通り計算される。アーク7は、単語候補「明ける」に対応しており、この言語スコアL7は、従来通り計算されているが、音響スコアは、単語候補「開ける」の音響スコアA6で代用している。すなわち、単語候補「明ける」の音響スコアは計算されない。また、アーク8は、単語候補「空ける」に対応しており、この言語スコアL8は、従来通り計算されているが、音響スコアは、単語候補「開ける」の音響スコアA6で代用している。すなわち、単語候補「空ける」の音響スコアは計算されない。
As a result, for example, word connection relationship information as shown in FIG. 14 is stored in the word connection
また、アーク9は、単語候補「閉める」に対応しており、この音響スコアA9および言語スコアL9は、従来通り計算される。 The arc 9 corresponds to the word candidate “close”, and the acoustic score A9 and the language score L9 are calculated as usual.
以上の処理により、音声認識処理の計算量を削減することが可能となる。上記の例の場合、従来は、(窓を、開ける)、(窓を、明ける)、および(窓を、空ける)の3つの組み合わせそれぞれに対して、音響スコアを求めていたのに対して、マッチング部58は、図12のステップS106で、最も初期値の高い(窓を、開ける)の組み合わせでしか音響スコアを求める必要が無いので、音響スコアの計算回数を3分の1に削減することができる。
With the above processing, it is possible to reduce the calculation amount of the speech recognition processing. In the case of the above example, conventionally, the acoustic score was obtained for each of the three combinations of (open the window), (open the window), and (open the window). The matching
従来の場合、単語候補「開ける」、「明ける」、「空ける」、および「閉める」に対してそれぞれ音響スコアを計算しなければならなかったので、合計4回音響スコアを計算することになる。それに対して、マッチング部58は、単語候補「開ける」、「明ける」、および「空ける」を含む単語候補セット「あける」に対して1回、単語候補「閉める」を含む単語候補セット「しめる」に対して1回の、合計2回計算するだけで済む。従って、従来の計算回数4回から、図8の場合の計算回数2回を差し引いた2回分だけ計算回数を削減することができる。
In the conventional case, the acoustic score has to be calculated for each of the word candidates “open”, “dawn”, “empty”, and “close”, so the acoustic score is calculated four times in total. On the other hand, the matching
なお、図14の例では、各単語候補の終了点(終端ノードの時刻)はTの1つだけであるが、各単語候補の終了点(終端ノードの時刻)の候補が複数存在する場合がある。 In the example of FIG. 14, each word candidate has only one end point (terminal node time) of T, but there may be a plurality of candidates for each word candidate end point (terminal node time). is there.
ここで、図12のステップS106で終了点を求める原理について説明する。今、図6のノード6を開始時刻として、単語候補「開ける」に対してマッチング処理を行なう場合を考える。この場合、前述したように、開始時刻をt1、スコアの初期値をU1として、単語候補「開ける」に対するマッチング処理を行なうことになる。マッチング部58は、音響モデルデータベース61と辞書データベース62に保持された発音の情報から、単語候補「開ける」に対応する音響的な標準パターンを取得する。
Here, the principle of obtaining the end point in step S106 in FIG. 12 will be described. Consider a case where the matching process is performed on the word candidate “open” with the
音響モデルとして隠れマルコフモデル(HMM)を用いる場合、標準パターンは、図15に示されるような状態遷移モデルとなり、各状態間の遷移には遷移確率が与えられ、各状態において出力確率密度関数が与えられる。この時、初期値U1が初期状態101に与えられ、図6の時刻t1を開始点とする特徴量時系列を用いて、音響スコアの計算が行なわれる。スコアの計算には、Viterbi Searchと呼ばれるスコアの累積方法が適用される。その結果、最終状態102における累積スコアが、毎時刻求まることになる。そして、各時刻において求まる最終状態102における累積スコアが、「開ける」に対して求まる音響スコアとなる。
When a hidden Markov model (HMM) is used as an acoustic model, the standard pattern is a state transition model as shown in FIG. 15, and transition probabilities are given to transitions between the states, and the output probability density function is expressed in each state. Given. At this time, the initial value U1 is given to the
ここで、ある時刻に着目した場合、初期状態101から最終状態102の間のある状態における累積スコアと他の状態における累積スコアは比較可能であり、相対的に累積スコアの良い状態だけを有効にしながら、Viterbi Searchを行なう方法を適用する。これは、ビームサーチと呼ばれる手法であり、マッチング処理の効率化のために広く利用されている技術である。図15の最終状態102においても、累積スコアが相対的に良くなる時刻だけを有効なものと判断することが可能である。そこで、最終状態102が有効になる時刻をマッチング部58の処理の終了点と判断する。
Here, when paying attention to a certain time, the cumulative score in one state between the
通常、最終状態102が有効になる時刻は必ずしも一意に決まるわけではないので、複数の時刻において有効となる場合が発生する。図16は、2つの時刻t2とTにおいて、最終状態102が有効になった場合に単語接続関係記憶部60に記憶された単語接続関係情報の例を示している。
Usually, the time at which the
なお、図16は、図6のノード6に対して、単語候補セット「あける」に含まれている単語候補「開ける」、「明ける」、および「空ける」、並びに単語候補セット「しめる」に含まれている単語候補「閉める」が接続された場合の例を示している。
FIG. 16 includes the word candidates “open”, “open”, and “open” included in the word candidate set “open” and the word candidate set “shime” with respect to the
図16において、アーク6は、単語候補「開ける」に対応しており、終端ノードの時刻は音声区間の終了時刻Tである。この単語候補「開ける」の音響スコアA6および言語スコアL6は、従来通り計算される。アーク7は、単語候補「開ける」に対応しており、終端ノードの時刻は音声区間の終了時刻Tより前の時刻t2である。なお、この単語候補「開ける」の音響スコアA7は、単語候補「開ける」に対するスコアの計算過程の時刻t2に算出され、その後、時刻Tに音響スコアA6が算出される。また、この単語候補「開ける」は、アーク6と同一の単語候補なので、言語スコアはアーク6と同一の値L6となる。
In FIG. 16,
また、アーク8は、単語候補「明ける」に対応しており、終端ノードの時刻は、アーク6の単語候補「開ける」と同様、音声区間の終了時刻Tである。この単語候補「明ける」の言語スコアL8は、従来通り計算されるが、音響スコアは、終了点が同一である単語候補「開ける」(アーク6に対応する単語候補)の音響スコアA6で代用している。すなわち、アーク8に対応する単語候補「明ける」の音響スコアは計算されない。アーク9は、単語候補「明ける」に対応しており、終端ノードの時刻は、アーク7の単語候補「開ける」と同様、時刻t2である。この単語候補「明ける」の音響スコアは、終了点が同一である単語候補「開ける」(アーク7に対応する単語候補)の音響スコアA7で代用している。すなわち、アーク9に対応する単語候補「明ける」の音響スコアは計算されない。また、この単語候補「明ける」(アーク9に対応する単語候補)は、アーク8と同一の単語候補なので、言語スコアはアーク8と同一の値L8となる。
The arc 8 corresponds to the word candidate “dawn”, and the time of the terminal node is the end time T of the speech section, similar to the word candidate “open” of the
また、アーク10は、単語候補「空ける」に対応しており、終端ノードの時刻は、アーク6の単語候補「開ける」と同様、音声区間の終了時刻Tである。この単語候補「空ける」の言語スコアL10は、従来通り計算されるが、音響スコアは、終了点が同一である単語候補「開ける」(アーク6に対応する単語候補)の音響スコアA6で代用している。すなわち、アーク10に対応する単語候補「空ける」の音響スコアは計算されない。アーク11は、単語候補「空ける」に対応しており、終端ノードの時刻は、アーク7の単語候補「開ける」と同様、時刻t2である。この単語候補「空ける」の音響スコアは、終了点が同一である単語候補「開ける」(アーク7に対応する単語候補)の音響スコアA7で代用している。すなわち、アーク11に対応する単語候補「明ける」の音響スコアは計算されない。また、この単語候補「空ける」(アーク11に対応する単語候補)は、アーク10と同一の単語候補なので、言語スコアはアーク10と同一の値L10となる。
Further, the arc 10 corresponds to the word candidate “open”, and the time of the terminal node is the end time T of the speech section, similar to the word candidate “open” of the
アーク12は、単語候補「閉める」に対応しており、終端ノードの時刻は音声区間の終了時刻Tである。この単語候補「閉める」の音響スコアA12および言語スコアL12は、従来通り計算される。アーク13は、単語候補「閉める」に対応しており、終端ノードの時刻は音声区間の終了時刻Tより前の時刻t2である。この単語候補「閉める」の音響スコアA13は、従来通り計算される。また、この単語候補「閉める」は、アーク12と同一の単語候補なので、言語スコアはアーク12と同一の値L12となる。 The arc 12 corresponds to the word candidate “close”, and the time of the end node is the end time T of the speech section. The acoustic score A12 and the language score L12 of this word candidate “close” are calculated as usual. The arc 13 corresponds to the word candidate “close”, and the time of the terminal node is the time t2 before the end time T of the speech section. The acoustic score A13 of this word candidate “close” is calculated as usual. Since the word candidate “close” is the same word candidate as the arc 12, the language score is the same value L 12 as the arc 12.
図16の例においては、図12のステップS106の処理において、各単語候補毎に、2つの終了点(終端ノードの時刻)の候補が求められている。この場合、同一の単語候補セットに含まれている単語候補については、各時間候補(Tおよびt2)毎に音響スコアの計算を1回で済ますことができる。従来も、同一の単語候補については、スコア計算を1回で済ませることが可能であったが、異なる単語候補それぞれの音響スコアを求めていたので、アーク6乃至アーク14について、合計4回、音響スコアを求めることになる。それに対して、マッチング部58は、同一の単語候補セットに含まれる単語候補については、終了点の候補毎に、1回だけ音響スコアを計算するだけで済む。すなわち、図16において、音響スコアの計算回数は2回で済む。
In the example of FIG. 16, in the process of step S106 of FIG. 12, candidates for two end points (end node times) are obtained for each word candidate. In this case, for the word candidates included in the same word candidate set, the acoustic score can be calculated once for each time candidate (T and t2). Conventionally, although it was possible to complete the score calculation once for the same word candidate, since the acoustic score of each of the different word candidates was obtained, a total of four times for the
従って、従来の計算回数4回から、図16の場合の計算回数2回を差し引いた2回分だけ、計算回数を削減することができる。これは、図14に示した、終了点が1つの場合と計算回数の削減効果は同じである。終了点の候補が3以上であっても、同様の計算回数の削減効果を得ることができる。 Therefore, the number of calculations can be reduced by two times obtained by subtracting the number of calculations of 2 in the case of FIG. This is the same as the case of one end point shown in FIG. Even if the number of end point candidates is 3 or more, the same effect of reducing the number of calculations can be obtained.
なお、図14および図16の例では、単語候補セットを接続する単語列仮説は、「窓を」の1つだけ(すなわち、単語候補セットを接続するノードはノード6の1つだけ)であるが、同一の時刻に、単語候補セットを接続する単語列仮説が複数存在する場合がある。すなわち、図7のステップS3において、同一の時刻に複数の途中ノードが存在した場合、複数の途中ノードが選択される。同一の時刻に、単語候補セットを接続する単語列仮説が複数存在する場合の単語接続関係情報の例を図17に示す。
In the examples of FIGS. 14 and 16, the word string hypothesis that connects the word candidate sets is only one “window” (that is, only one
図17に示されたグラフは、図6に示されたグラフに、さらにアーク6が追加されたものである。すなわち、図17においては、ノード1に対して、単語候補「ドア」に対応するアーク6がさらに接続されている。ノード7は、アーク6の終端ノードであり、ノード7が保有する時刻情報は、ノード6が保有する時刻情報と同一となっている。
The graph shown in FIG. 17 is obtained by adding an
図17に示されるように、同一の時刻t1に、単語候補セットを接続する単語列仮説が複数(「窓を」と「ドア」の2つ)存在する場合がある。 As shown in FIG. 17, there may be a plurality of word string hypotheses (two “window” and “door”) that connect word candidate sets at the same time t1.
この場合、図12のステップS101において、それぞれの単語列仮説に対応するスコアが、音響スコアと言語スコアの累積値で与えられる。例えば、単語列仮説「窓を」と「ドア」に対応するスコアを、それぞれS(窓を)、およびS(ドア)とすると、図17に示される単語列仮説「窓を」と「ドア」に対応するスコアは、それぞれ、以下の式で与えられる。 In this case, in step S101 of FIG. 12, the score corresponding to each word string hypothesis is given as the cumulative value of the acoustic score and the language score. For example, if the scores corresponding to the word string hypotheses “window” and “door” are S (window) and S (door), respectively, the word string hypotheses “window” and “door” shown in FIG. The scores corresponding to are given by the following equations.
S(窓を)= (A4 + L4) + (A5 + L5)
S(ドア)= A6 + L6
S (window) = (A4 + L4) + (A5 + L5)
S (door) = A6 + L6
そして、図12のステップS103において、単語候補毎に言語スコアが求められ、ステップS104において、スコアの初期値が求められる。同音語である3つの単語候補「開ける」、「空ける」、および「明ける」のマッチング処理を行なう際に必要となるスコアの初期値は、前に接続する単語列仮説に応じて異なったものとなる。単語列仮説「窓を」に対して「開ける」、「明ける」、および「空ける」が後続する場合の初期値は、上述した式(1)、式(2)、および式(3)により、それぞれ、U1、U2、およびU3として与えられる。 Then, in step S103 of FIG. 12, a language score is obtained for each word candidate, and in step S104, an initial score value is obtained. The initial value of the score required for matching the three word candidates “open”, “open”, and “dawn”, which are homophones, differs according to the word string hypothesis connected before. Become. The initial value when the word string hypothesis “window” is followed by “opening”, “opening”, and “opening” is expressed by the above-described equations (1), (2), and (3). They are given as U1, U2, and U3, respectively.
また、単語列仮説「ドア」に対して「開ける」が後続する場合の初期値U4、単語列仮説「ドア」に対して「明ける」が後続する場合の初期値U5、および単語列仮説「ドア」に対して「空ける」が後続する場合の初期値U6は、それぞれ以下の式で与えられる。なお、L(開ける|ドア)は、「ドア」に「開ける」が後続する場合の言語スコアを表し、L(明ける|ドア)は、「ドア」に「明ける」が後続する場合の言語スコアを表し、L(空ける|ドア)は、「ドア」に「空ける」が後続する場合の言語スコアを表す。 The initial value U4 when “open” follows the word string hypothesis “door”, the initial value U5 when “open” follows the word string hypothesis “door”, and the word string hypothesis “door”. The initial value U6 in the case where “empty” follows for “” is given by the following equations, respectively. Note that L (open | door) represents the language score when “open” follows “door”, and L (open | door) represents the language score when “open” follows “door”. L (open | door) represents a language score when “open” is followed by “open”.
U4=S(ドア)+L(開ける|ドア)
・・・(4)
U4 = S (door) + L (open | door)
... (4)
U5=S(ドア)+L(明ける|ドア)
・・・(5)
U5 = S (door) + L (dawn | door)
... (5)
U6=S(ドア)+L(空ける|ドア)
・・・(6)
U6 = S (door) + L (open | door)
... (6)
なお、以上の式において、L(開ける|ドア)は、「ドア」に「開ける」が後続する場合の言語スコアを表し、L(明ける|ドア)は、「ドア」に「明ける」が後続する場合の言語スコアを表し、L(空ける|ドア)は、「ドア」に「空ける」が後続する場合の言語スコアを表す。これらの言語スコアは、図12のステップS103で求められる。 In the above formula, L (open | door) represents a language score when “open” follows “door”, and L (open | door) follows “door” followed by “open”. L (open | door) represents a language score when “open” is followed by “open”. These language scores are obtained in step S103 of FIG.
このようにして、2つの単語列仮説「窓を」と「ドア」、および3つの単語候補「開ける」、「明ける」、および「空ける」に対して、6つのスコアの初期値が求まることになる。図18は、単語列仮説と単語候補の組み合わせと、それぞれの初期値スコアU1乃至U6が与えられた例を示している。すなわち、図18において、U1は単語列仮説「窓を」に対して「開ける」が後続する場合の初期値を表し、U2は単語列仮説「窓を」に対して「明ける」が後続する場合の初期値を表し、U3は単語列仮説「窓を」に対して「空ける」が後続する場合の初期値を表し、U4は単語列仮説「ドア」に対して「開ける」が後続する場合の初期値を表し、U5は単語列仮説「ドア」に対して「明ける」が後続する場合の初期値を表し、U6は単語列仮説「ドア」に対して「空ける」が後続する場合の初期値を表している。 In this manner, initial values of six scores are obtained for two word string hypotheses “window” and “door” and three word candidates “open”, “dawn”, and “open”. Become. FIG. 18 shows an example in which combinations of word string hypotheses and word candidates and respective initial value scores U1 to U6 are given. That is, in FIG. 18, U1 represents an initial value when “open” follows the word string hypothesis “window”, and U2 when “open” follows the word string hypothesis “window”. U3 represents the initial value when “open” follows the word string hypothesis “window”, and U4 represents the case where “open” follows the word string hypothesis “door”. U5 represents an initial value when “open” follows the word string hypothesis “door”, and U6 represents an initial value when “open” follows the word string hypothesis “door”. Represents.
マッチング部58は、図12のステップS105において、図18に示された組み合わせの中で、初期値が最も良いものを1つ選択し、その組み合わせに基づいて、対応する単語候補に対するマッチング処理を施す。例えば、初期値U1が最も良く、(窓を、開ける)の組み合わせが選択された場合、マッチング部58は、図12のステップS106において、単語候補「開ける」に対するマッチング処理を行なう。ここで、単語候補「開ける」に対応する音響モデルは、直前の単語列仮説「窓を」に依存したものが用いられる。その結果、図17の時刻t1を開始点とし、ある時刻を終了点とする音響スコアが「開ける」に対して求まることになる。
In step S105 in FIG. 12, the matching
マッチング部58は、ステップS107において、ステップS106で求められた音響スコアを、残りの単語列仮説と単語候補の組み合わせに対しても近似値としてそのまま利用し、残りの5つの単語候補に対するマッチング処理は行なわない。すなわち、例えば、(窓を、明ける)の組み合わせ、(窓を、空ける)の組み合わせ、(ドア、開ける)の組み合わせ、(ドア、明ける)の組み合わせ、および(ドア、空ける)の組み合わせについては、図19に示すように、音響スコアの算出を省略し、(窓を、開ける)の組み合わせで算出された音響スコアで代用する。
In step S107, the matching
すなわち、図19は図17のノード6およびノード7に対して、それぞれ単語候補セット「あける」に含まれている単語候補「開ける」、「明ける」、および「空ける」、並びに単語候補セット「しめる」に含まれている単語候補「閉める」が接続された場合の単語接続関係情報の例を示している。
That is, FIG. 19 shows the word candidates “open”, “open”, and “open” included in the word candidate set “open”, and the word candidate set “shime” for the
図19において、ノード6に接続されたアーク7は、単語候補「開ける」に対応しており、この音響スコアA7および言語スコアL7は、従来通り計算される。ノード6に接続されたアーク8は、単語候補「明ける」に対応しており、この言語スコアL8は、従来通り計算されるが、音響スコアは、単語候補「開ける」の音響スコアA7で代用している。すなわち、アーク8に対応する単語候補「明ける」の音響スコアは計算されない。また、ノード6に接続されたアーク9は、単語候補「空ける」に対応しており、この言語スコアL9は、従来通り計算されるが、音響スコアは、単語候補「開ける」の音響スコアA7で代用している。すなわち、アーク9に対応する単語候補「空ける」の音響スコアは計算されない。また、ノード6に接続されたアーク10は、単語候補「閉める」に対応しており、この音響スコアA10および言語スコアL10は、従来通り計算される。
In FIG. 19, the
ノード7に接続されたアーク11は、単語候補「開ける」に対応しており、この言語スコアL11は、従来通り計算されるが、音響スコアは、アーク7に対応する単語候補「開ける」の音響スコアA7で代用している。すなわち、アーク11に対応する単語候補「開ける」の音響スコアは計算されない。ノード7に接続されたアーク12は、単語候補「明ける」に対応しており、この言語スコアL12は、従来通り計算されるが、音響スコアは、アーク7に対応する単語候補「開ける」の音響スコアA7で代用している。すなわち、アーク12に対応する単語候補「明ける」の音響スコアは計算されない。また、ノード7に接続されたアーク13は、単語候補「空ける」に対応しており、この言語スコアL13は、従来通り計算されるが、音響スコアは、アーク7に対応する単語候補「開ける」の音響スコアA7で代用している。すなわち、アーク13に対応する単語候補「空ける」の音響スコアは計算されない。また、アーク14は、単語候補「閉める」に対応しており、この言語スコアL14は、従来通り計算されるが、音響スコアは、アーク10に対応する単語候補「閉める」の音響スコアA10で代用している。すなわち、アーク14に対応する単語候補「閉める」の音響スコアは計算されない。
The arc 11 connected to the
以上の処理により、音声認識処理の計算量を削減することが可能となる。上記の例の場合、従来は、(窓を、開ける)、(窓を、明ける)、(窓を、空ける)、(ドア、開ける)、(ドア、明ける)、および(ドア、空ける)の6つの組み合わせそれぞれに対して、音響スコアを求めていたのに対して、マッチング部58は、最も初期値の高い(窓を、開ける)の組み合わせでしか音響スコアを求める必要が無いので、音響スコアの計算回数を6分の1に削減することができる。
With the above processing, it is possible to reduce the calculation amount of the speech recognition processing. In the case of the above example, conventionally, (open the window), (open the window), (open the window), (open the door), (open the door), and (open the door) 6 While the acoustic score is obtained for each of the two combinations, the matching
従来の場合、単語列仮説「窓を」および「ドア」、並びに単語候補「開ける」、「明ける」、「空ける」、および「閉める」の全ての組み合わせに対して、それぞれ音響スコアを計算しなければならなかったので、合計8回音響スコアを計算することになる。それに対して、マッチング部58は、単語候補「開ける」、「明ける」、および「空ける」を含む単語候補セット「あける」に対して1回、単語候補「閉める」を含む単語候補セット「しめる」に対して1回の、合計2回計算するだけで済む。従って、従来の計算回数8回から、図19の場合の計算回数2回を差し引いた6回分だけ計算回数を削減することができる。
In the conventional case, acoustic scores must be calculated for all combinations of word string hypotheses “window” and “door” and word candidates “open”, “open”, “open”, and “close”, respectively. Since it had to be done, the acoustic score is calculated 8 times in total. On the other hand, the matching
図14に示した、単語候補セットを接続する同一時刻の単語列仮説が1つの場合、上述したように2回分だけ計算回数を削減できたが、図19に示した、単語候補セットを接続する同一時刻の単語列仮説が2つの場合、6回分、計算回数を削減することができる。例えば、単語候補セットを接続する同一時刻の単語列仮説が3つ以上であれば、従来と比較した、計算回数の削減数は、さらに大きなものとなる。すなわち、単語候補セットを接続する同一時刻の単語列仮説が増えた場合、計算回数をより削減することができる。結果的に、音声認識処理の計算量を大幅に削減することが可能となる。さらに、例えば図7のステップS3において、同一時刻の単語列仮説が複数選択され、かつ、図12のステップS106の処理において、単語候補セットの代表となる単語の終了点の候補が複数特定された場合、音声認識処理の計算量をさらに大幅に削減することが可能となる。 When there is one word string hypothesis at the same time to connect the word candidate sets shown in FIG. 14, the number of calculations can be reduced by two times as described above, but the word candidate sets shown in FIG. 19 are connected. If there are two word string hypotheses at the same time, the number of calculations can be reduced by six times. For example, if there are three or more word string hypotheses at the same time connecting the word candidate sets, the number of reductions in the number of calculations compared to the prior art is even greater. That is, when the number of word string hypotheses at the same time connecting word candidate sets increases, the number of calculations can be further reduced. As a result, it is possible to greatly reduce the calculation amount of the speech recognition process. Further, for example, in step S3 in FIG. 7, a plurality of word string hypotheses at the same time are selected, and in the process in step S106 in FIG. 12, a plurality of word end point candidates that are representative of the word candidate set are specified. In this case, the calculation amount of the speech recognition process can be further greatly reduced.
図7に戻り、上述した処理により、単語接続関係情報は、マッチング部58の処理結果に基づいて逐次更新され、さらに、再評価部59において逐次修正されるので、単語予備選択部56およびマッチング部58は、常時、単語接続関係情報を利用して処理を行なうことが可能となる。
Returning to FIG. 7, the word connection relation information is sequentially updated based on the processing result of the
なお、制御部54は、単語接続関係情報を更新する際に、可能であれば、上述したような終端ノードの共通化を行なう。
In addition, when updating the word connection relation information, the
図7のステップS2において、途中ノードが存在しないと判定された場合、ステップS9に進み、制御部54は、単語接続関係情報を参照することで、その単語接続関係情報として構成された各パスについて、単語スコアを累積することで、最終スコアを求め、例えば、その最終スコアが最も大きいパスを構成するアークに対応する単語列を、ユーザの発話に対する音声認識結果として出力して、処理を終了する。
If it is determined in step S2 in FIG. 7 that there is no midway node, the process proceeds to step S9, and the
以上のようにして、単語予備選択部56において、音声認識結果の候補となる単語列の、既に求まっている単語に続く、1以上の単語が選択され、単語候補クラスタリング部57において、同音語どうしを1つのセットに分類し、マッチング部58において、その分類された単語候補セットの代表の単語候補について、音響スコアが計算されて、その音響スコアで、同一の単語候補セットに含まれる他の単語候補の音響スコアが代用され、音声認識結果の候補となる単語列が構成される。そして、再評価部59において、音声認識結果の候補となる単語列の単語どうしの単語接続関係が修正され、制御部54において、その修正後の単語接続関係に基づいて、音声認識結果となる単語列が確定される。従って、処理に要するリソースの増大を抑えながら、精度の高い音声認識を行なうことができる。
As described above, the word
すなわち、単語予備選択部56で選択された全ての単語候補の音響スコアをマッチング部58において計算せず、同音語を1セットにして、その代表の単語の音響スコアを計算するようにしたので、計算量を減少させることができる。また、再評価部59において単語接続情報の単語境界が修正されるため、注目ノードが有する時刻情報が、単語境界を表している精度が高くなり、単語予備選択部56やマッチング部58では、そのような精度の高い時刻情報が表す時刻以降の特徴量系列を用いて処理が行われる。従って、単語予備選択部56において選択する単語の判断基準や、マッチング部58において単語を絞り込むときの判断基準を強化しても、音声認識結果として正しい単語が除外されてしまう可能性を極めて低くすることができる。
That is, since the acoustic score of all word candidates selected by the word
そして、単語予備選択部56において選択する単語の判断基準を強化した場合には、マッチング部58においてマッチング処理の対象となる単語数が少なくなり、その結果、マッチング部58の処理に要する演算量およびメモリ容量も少なくすることができる。
When the criteria for selecting a word to be selected in the word
また、マッチング部58では、単語候補セットの代表の単語の音響スコアを、同一の単語候補セットに含まれる他の単語候補に流用していたため、直前の単語との関係は考慮されず、音響スコアは必ずしも正確ではないが、再評価部59において単語接続情報の単語境界が修正されるため、最終的な音響スコアをより正確な値に修正することができる。
In addition, the matching
さらに、仮に、単語予備選択部56において、正しい音声認識結果としての単語列を構成する単語のうち、ある時刻から開始する単語が、その時刻に選択されなかったとしても、その時刻からずれた、誤った時刻において選択されれば、再評価部59において、その誤った時刻が修正され、正しい音声認識結果としての単語列を得ることができる。すなわち、単語予備選択部56で、正しい音声認識結果としての単語列を構成する単語の選択漏れがあったとしても、再評価部59において、その選択漏れを是正して、正しい音声認識結果としての単語列を得ることができる。
Furthermore, in the word
従って、再評価部59では、マッチング部58における終了時刻の検出の誤りの他、単語予備選択部56における単語の選択の誤りも是正することができる。
Accordingly, the
ところで、上記のような手法で音声認識の処理を行なった場合に、再評価部59における処理の中に同じような処理が何度も繰り返されることがある。例えば、単語接続関係記憶部60に、図20に示されるグラフ構造に対応する単語接続関係情報が記憶されていたとする。図20においては、ノード1、ノード2、ノード3、およびノード4を結ぶアーク1、アーク2、およびアーク3により、単語列仮説「ドアを開ける」が形成されている。また、ノード1、ノード5、およびノード6を結ぶアーク4およびアーク5により、単語列仮説「窓を」が形成されている。図20において、ノード6が、途中ノードである。図21は、マッチング処理により、図20のノード6に、後続の単語候補「開ける」を接続する場合の例を示している。図21の例においては、ノード6から、2つの異なる終了時刻t1およびt2を有するノード7およびノード8に対して、同一の単語候補「開ける」に対応するアーク6およびアーク7が延びている。
By the way, when the speech recognition process is performed by the above-described method, the same process may be repeated many times during the process in the
図21の例に示されるように、同一の単語候補に対応して、異なる終了時刻を有するノードが複数求まった場合の、ノード5からノード7までの単語列に対する再評価処理と、ノード5からノード8までの単語列に対する再評価について考える。この2つの再評価の処理に着目すると、いずれも再評価の開始時刻は同じであり、再評価すべき単語列「を」「開ける」も同じである。違いは、終了時刻だけである。つまり、この例の場合、同じ単語列に対して同じ開始時刻から再評価が行なわれることになる。特に、前述したように、マッチング部58におけるマッチング処理では終了時刻が固定されないため、また、複数の時刻を終了時刻とする単語仮説が生成されるため、同じ単語列に対して同じ開始時刻から再評価が行なわれる状況が頻繁に発生することになる。
As shown in the example of FIG. 21, when a plurality of nodes having different end times corresponding to the same word candidate are obtained, a re-evaluation process for the word strings from node 5 to
そこで、図22の音声認識装置では、同じ単語列に対する同じ開始時刻からの再評価処理をより効率的に行なうようにしている。図22は、図5の音声認識装置の再評価部59に、再評価処理過程記憶部201を追加した構成になっており、図5の音声認識装置と同一の部位には同一の符号を付している。
Therefore, in the speech recognition apparatus shown in FIG. 22, the re-evaluation process for the same word string from the same start time is performed more efficiently. FIG. 22 is configured by adding a reevaluation
図21を参照して、図22の音声認識装置の再評価部59および再評価処理過程記憶部201について詳細に説明する。今、図22のノード7を始点とするマッチング処理を行なう場合、その前に、ノード7から時間的に遡った部分的な単語系列に対する再評価が行なわれる。ここでは、2単語分だけ遡り、再評価を行なう場合について説明する。この例では、「を」「開ける」という単語列に対する再評価が行なわれることになる。ここで、開始時刻はノード5に対応する時刻t0、終了時刻はノード7に対応する時刻t1である。再評価を行なうために、まず、音響モデルデータベース61と辞書データベース62に基づき、単語列「を」「開ける」に対応する状態遷移モデルが構成される。図23は、この状態遷移モデルについて示したものである。音響モデルデータベース61としては、3状態のleft-to-right音素HMMを用いるものとする。この時、辞書データベース62の発音に基づき、単語列「を」「開ける」に対応する音素HMM「o 」「a」「 k」「 e」「 r」「 u」が連結され、初期ノード251と終了ノード253、および単語境界ノード252を有し、それぞれのノード間を遷移する状態遷移モデルが構成される。状態遷移モデルのノードは○印によって示されており、各ノードを左から右に遷移するアークと、各ノードにおいて自己遷移するアークがノード間をつなぐ実線で示されている。各音素に対応する3つのノードには出力確率密度関数が与えられ、また、ノード間を遷移するアークには遷移確率が与えられる。さらに、単語へ遷移するノード、すなわち初期ノード251と単語境界ノード252において、言語スコアが与えられる。このような状態遷移モデルを利用し、開始時刻t0から終了時刻t1までの特徴量系列に基づく再評価処理が行なわれることになる。
With reference to FIG. 21, the
再評価処理は、まず、初期ノード251に初期値スコアが与えられ、その後、特徴量系列を時間順に使いながら、各ノードにおけるスコア値が更新される。スコア値の更新は、動的計画法に基づく音響スコアと言語スコアの累積の処理である。終了時刻t1までのスコア値の更新が終了すると、初期ノード251から終了ノード253までの状態遷移系列として最適な経路が探索され、その探索結果に基づき、単語境界ノード252を通過する時刻t´(図示略)、および初期ノード251と単語境界ノード252間の「を」に与えられる音響スコア、単語境界ノード252と終了ノード253間の「開ける」に与えられる音響スコアが確定される。以上のような、状態遷移モデルの構築、その状態遷移モデル上でのスコア値の更新、最適経路の探索、単語境界時刻t´と「を」および「開ける」の音響スコアの確定という処理が、再評価の処理となる。そして、単語境界時刻t´、「を」に与えられる音響スコアA5´(図示略)、および「開ける」に与えられる音響スコアA6´(図示略)が制御部54に送信され、単語接続関係記憶部60に記憶された再評価の対象となった単語列に対応するノードとアークの修正が行なわれることになる。
In the re-evaluation process, first, an initial value score is given to the
次に、図21におけるノード8を開始点とするマッチング処理を行なう場合には、ノード7の場合と同様に、ノード8から時間的に遡った部分的な単語系列に対する再評価の処理が行なわれるわけであるが、その際に構築される状態遷移モデルはノード7に対応する前述のものと同じであり、その状態遷移モデル上でのスコア値の更新については、開始時刻がt0である点も同じである。従って、前述の図23の状態遷移モデルを用いたスコア値の更新を、時刻t1以降も継続し時刻t2まで行ない、最適経路の探索を行なうことによって、図21におけるノード5とノード8間の単語列に対する再評価の処理が完了し、対応する単語境界時刻と各単語の音響スコアを確定することが可能となる。
Next, in the case of performing the matching process starting from the node 8 in FIG. 21, as in the case of the
そこで、図22の再評価部59は、ノード5とノード7間の単語列に対する再評価の処理が終了した時点で、構築された状態遷移モデルと時刻t1での各ノードのスコア値、および、最適経路の探索に必要となるスコア値の更新履歴を再評価処理過程データとして、再評価処理過程記憶部201に記憶させる。そして、図21におけるノード5とノード8間の単語列に対する再評価処理を行なう際には、再評価処理過程記憶部201に記憶された時刻t1までの再評価処理過程データを利用し、時刻t1から再評価処理を再開し、時刻t2までのスコア値の更新を継続する。これにより、状態遷移モデルを構築する処理、および開始時刻t0から時刻t1までのスコア値の更新に伴う処理が共有されることになる。
Therefore, the
例えば、図24に示されるように、同じノード2から展開された同じ単語W2に対する仮説で、ノード3乃至ノード6のような終了時刻が異なる仮説が多数生成された場合、従来は、ノード1を開始点とする再評価処理を、アーク2乃至アーク5のそれぞれの単語列に対して行なう必要があったが、図22の音声認識装置においては、これらの再評価の処理が共有化され、結果的に、ノード1を開始点とし終了時刻の最も遅いノード6までの単語列に対する再評価の処理を1回行なうのと同等の計算量で済むことになる。つまり、ノード1とノード6間の単語列に対する再評価の処理の途中において、他の終了時刻に対する再評価の処理結果が得られるものと考えることができる。つまり、ノード1とノード6間の単語列に対する再評価の処理を途中で停止し、再評価処理過程記憶部201に記憶しておき、必要に応じて処理の継続が可能なようになされている。
For example, as shown in FIG. 24, when a large number of hypotheses with different end times, such as
なお、再評価処理過程記憶部201に記憶しながら、処理の継続が行なえるようになされているので、必要がなければ処理を省略することも可能となる。例えば、スコア値が良くない単語列仮説に関して仮説を棄却する、いわゆる、仮説の枝がりと呼ばれる処理が施される場合、すべての単語列仮説が再評価されるわけではないので、必要な時だけ再評価の処理が行なえるようになっていることは重要である。
Since the process can be continued while being stored in the reevaluation
また、再評価処理過程記憶部201に記憶された再評価処理過程データを参照するために、対応する単語列や時刻情報、あるいは、単語接続関係記憶部60に記憶されたノードやアークの情報を利用するということは容易に実現できる。また、単語接続関係記憶部60に記憶されたノードの中のマッチング処理を継続すべきノードに関して、ノードが保持する時刻の早い順にマッチング処理の継続を行なう場合には、再評価部59における再評価処理もそのような時刻の早い順に行なわれることになる。
In addition, in order to refer to the re-evaluation process data stored in the re-evaluation process
従って、例えば図21において、ノード5とノード7の間の単語列に対する再評価の処理が最初に行なわれた場合、その処理が終了した時点で、再評価部59は、単語接続関係記憶部60に記憶されたノードを調べ、再評価処理過程データを次に利用するノードを検索するようにする。図21の例では、終了時刻だけが異なるノード8がこれにあたる。そして、もし、そのようなノードが見つかれば、再評価部59は、再評価処理過程データを再評価処理過程記憶部201に記憶させると同時に、検索されたノードからリンクを張っておく。もし、ノードが見つからなければ、再評価の処理の共有化は行なわれないので、再評価部59は、再評価処理過程記憶部201への再評価処理過程データの記憶を行なわないようにする。このようにすることで、再評価処理過程記憶部201における記憶容量を削減できるだけでなく、リンクを利用することで、再評価処理過程記憶部201に記憶された再評価処理過程データの参照を容易に行なうことができるようになる。つまり、リンクがあれば、そのリンクの張られた再評価処理過程データを利用して処理を継続し、リンクがなければ、再評価の処理を最初のノードの時刻から行なう。
Therefore, for example, in FIG. 21, when the re-evaluation process is first performed on the word string between the node 5 and the
以上のようにすることにより、さらに音声認識処理に要する計算量を削減することが可能となる。 By doing so, it is possible to further reduce the amount of calculation required for the speech recognition processing.
ところで、従来の音声認識装置においては、マッチング部58において、異なる時刻を開始時刻として、同じ単語に対するマッチング処理が何度も繰り返されることがある。例えば、図20において、ノード3に対応する時刻を開始時刻とする単語候補「開ける」が、単語予備選択部56により決定されたとする。一方、ノード6に対応する時刻を開始時刻とする単語候補「開ける」が、単語予備選択部56により決定されたとする。このような場合、ノード3およびノード6に対応する、異なる2つの時刻を開始時刻として、同じ単語候補「開ける」を含む単語候補セット「あける」に対するマッチング処理が行なわれることになる。そのため、マッチング処理を行なう際に、スコア計算を行なうための計算で必要となる状態遷移モデルを動的に構築する場合に、何度も同じモデルが構築され、処理量の増大を招いている。
By the way, in the conventional speech recognition apparatus, the matching process for the same word may be repeated many times in the
図25は、上記のような処理の重複を防ぐことができる音声認識装置の構成例を示している。図25の音声認識装置は、図5の音声認識装置のマッチング部58に、単語モデル記憶部301が追加された構成となっており、図5の音声認識装置と同一の部位については、同一の符号を付してある。
FIG. 25 shows an example of the configuration of a speech recognition apparatus that can prevent duplication of processing as described above. 25 has a configuration in which a word
図25の音声認識装置の動作について、図26および図27を参照して説明する。 The operation of the speech recognition apparatus in FIG. 25 will be described with reference to FIGS.
図26は、単語接続関係記憶部60に記憶された単語接続関係情報のグラフ構造の例を示している。図26において、ノード3を開始点とするマッチング処理を行なう場合を考える。まず、ノード3に対応する時刻taを開始時刻として、単語候補クラスタリング部57から単語候補「開ける」に対応する単語候補セット「あける」が与えられたとする。この時、単語候補「開ける」のスコアの初期値が1番高い場合、この単語候補に対応する状態遷移モデル(以下、単語モデルとも称する)が、音響モデルデータベース61と辞書データベース62に基づいて構成される。図27は、この単語モデルについて示したものである。音響モデルデータベース61として、3状態のleft-to-right音素HMMを用いるものとすると、辞書データベース62の発音に基づき、単語候補「開ける」に対応する音素HMM「a」「 k」「 e」「 r」「 u」が連結され、初期ノード351と終了ノード352を保持し、それぞれのノード間を遷移する状態遷移モデルが構成される。状態遷移モデルのノードとアークの説明は、図23に対する説明と同じであるため、省略する。
FIG. 26 shows an example of the graph structure of the word connection relation information stored in the word connection
このような単語モデルを利用し、時刻taを開始時刻として、スコア計算が行なわれる。スコア計算では、スコアの初期値がノード351に与えられ、時刻ta以降の特徴量系列を時間順に使いながら、各ノードにおけるスコア値が更新される。スコア値の更新は、動的計画法に基づく音響スコアの累積の処理である。終了時刻は固定されていないため、終了ノード352のスコア値を各時刻ごとに調べ、そのスコア値が良い場合、すなわち、例えば、ある閾値よりスコアが高い場合に、初期ノード351から終了ノード352まで累積されたスコアを音響スコアとする単語仮説が生成される。同じ単語候補に対して、複数の終了時刻に対応する単語仮説が生成される場合もある。生成された単語仮説は、制御部54に送信され、単語接続関係記憶部60に記憶される。また、図25のマッチング部58は、スコア計算用に構築された単語候補「開ける」に対応する単語モデル(状態遷移モデル)を、単語モデル記憶部301に記憶させる。
Using such a word model, score calculation is performed with time ta as the start time. In the score calculation, the initial value of the score is given to the node 351, and the score value at each node is updated while using the feature amount series after the time ta in time order. The update of the score value is a process of accumulating acoustic scores based on dynamic programming. Since the end time is not fixed, the score value of the end node 352 is checked at each time, and when the score value is good, that is, when the score is higher than a certain threshold, for example, from the initial node 351 to the end node 352 A word hypothesis is generated with the accumulated score as the acoustic score. A word hypothesis corresponding to a plurality of end times may be generated for the same word candidate. The generated word hypothesis is transmitted to the
続いて、図26のノード5を開始点とするマッチング処理を行なう場合に、単語候補クラスタリング部57から単語候補「開ける」を含む単語候補セット「あける」が与えられ、単語候補「開ける」のスコアの初期値が1番高いとする。この場合、従来の音声認識装置は、再度、スコア計算用に単語候補「開ける」に対応する単語モデルを構築する必要があった。それに対して、図25の音声認識装置においては、マッチング部58は、単語モデル記憶部301に記憶された単語候補「開ける」に対応する単語モデルを読み出して、利用する。このようにすることにより、単語モデルを構築する処理が不要となり、スコアの計算だけを行なえばよいことになる。
Subsequently, when performing the matching process starting at the node 5 in FIG. 26, the word
以上のように、マッチング処理において行なわれる単語モデルの構築に関して、構築されたモデルを単語モデル記憶部301に記憶させ、記憶された単語モデルを、後のマッチング処理で再利用するようにすることで、同じ単語に対応する単語モデルが何度も構築されることによる処理量の増大を防ぐことが可能になる。特に、開始時刻が異なる同じ単語に対するマッチング処理が頻繁に発生する場合には、その効率化は大きなものとなる。
As described above, regarding the construction of the word model performed in the matching process, the constructed model is stored in the word
なお、上記のような単語モデルに関して、辞書データベース62に含まれる全ての単語に対して、あらかじめ対応する単語モデルを作成しておくことによっても、マッチング処理から単語モデルの構築処理を取り除くことが可能である。しかしながら、この場合には、全ての単語に対する単語モデルを記憶しておく必要が生じ、記憶容量の大きな記憶手段を設ける必要がある。これに対して、図25の音声認識装置においては、必要になった場合に、単語モデルが構築されるようになされているため、記憶容量は小さなものとなる。特に、直前の単語に依存した音響モデルなどを利用した場合、直前の単語に依存した単語モデルが構築されることになるため、その記憶容量の差は大きなものとなる。
In addition, regarding the word model as described above, it is possible to remove the word model construction process from the matching process by creating a corresponding word model for all words included in the
ところで、単語モデル記憶部301に記憶される単語モデルに関して、構築された単語モデルを記憶するだけでは、単語モデル記憶部301の記憶容量が増大しつづけることになる。そこで、例えば、発話単位で音声認識の処理が完了した際に、単語モデル記憶部301に記憶された単語モデルを単語モデル記憶部301から消去するようにしたり、記憶された単語モデルの個数が一定数以上になると、単語モデル記憶部301に記憶された単語モデルを単語モデル記憶部301から消去したりすることにより、記憶容量が増大し過ぎないようにすることができる。
By the way, regarding the word model stored in the word
ところで、マッチング部58において、ある時刻を開始時刻とする単語候補に対するマッチング処理が完了してから、別の時刻を開始時刻とする単語候補に対するマッチング処理を行なう場合、リアルタイムに入力された音声信号を処理しようとすると、片方のマッチング処理を完了するために必要となる時刻までの音声信号が入力されないと、もう一方のマッチング処理を開始できないという問題が発生する。
By the way, in the
例えば、図20において、ノード3を開始点として「開ける」に対するマッチング処理を行ない、時刻Tまで処理を行なう場合を考える。入力音声をリアルタイムに処理することを考えると、時刻Tまでの音声の入力が完了しない限り、ノード3を開始点とするマッチング処理は完了しない。一方、ノード6を開始点とするマッチング処理に着目すると、時刻Tまでの音声入力が完了しなくても、時刻t以降の音声が入力された段階で、マッチング処理を開始することが可能である。従って、ノード3を開始点とするマッチング処理が完了しなくてもノード6を開始点とするマッチング処理を開始できることが望ましい。
For example, in FIG. 20, a case is considered where matching processing for “open” is performed with
図28は、入力音声をリアルタイムに処理できるようにした音声認識装置の構成例を示している。図28は、図5の音声認識装置のマッチング部58に、マッチング処理過程記憶部401が追加された構成となっており、図5の音声認識装置と同一の部位には同一の符号を付してある。
FIG. 28 shows an example of the configuration of a speech recognition apparatus that can process input speech in real time. FIG. 28 shows a configuration in which a matching
図28の音声認識装置の動作について、図26を参照して説明する。図26において、ノード3を開始点とするマッチング処理を行なう場合を考える。ここで、ノード3に対応する時刻taを開始時刻として、単語候補クラスタリング部57からマッチング部58に単語候補セットが与えられたとする。この時、マッチング処理として、単語モデルの構築、その単語モデル上でのスコア値の更新、単語仮説の生成という処理が行なわれることについては、図5の音声認識装置と同様である。
The operation of the speech recognition apparatus in FIG. 28 will be described with reference to FIG. In FIG. 26, consider a case where matching processing is performed with
ところで、入力音声をリアルタイムに処理する場合、時刻taを開始時刻とするマッチング処理を行なおうとしても、時刻ta以降の音声が完全に利用できるとは限らない。例えば、時刻Tまでマッチング処理が必要な場合に、時刻tcまでの音声しか入力されていない状況では、マッチング処理を完了することができない。そこで、図28のマッチング部58は、時刻tcまでの特徴量系列だけを用いて、単語モデル上でのスコア値の更新を行なうようにし、構築された単語モデルと、そのモデル上の各状態のスコア値、および、スコア値の更新履歴をマッチング処理過程データとして、マッチング処理過程記憶部401に記憶させる。
By the way, when processing the input voice in real time, even if the matching process is performed with the time ta as the start time, the voice after the time ta may not be completely used. For example, when the matching process is necessary until time T, the matching process cannot be completed in a situation where only the sound up to time tc is input. Therefore, the matching
続いて、マッチング部58は、図26のノード5を開始点とするマッチング処理を行なう。ここで、ノード5に対応する時刻tbを開始時刻として、単語候補クラスタリング部57から単語候補セットが与えられる。その単語候補セットのうち1番スコアの初期値が高い単語候補に対して、単語モデルの構築、その単語モデル上でのスコア値の更新、単語仮説の生成という処理が行なわれることについては、図26のノード3の場合と同じである。
Subsequently, the matching
この処理中にも音声が入力されているため、入力音声の終端時刻は、図中、tcより右方向(より新しい時刻)へとシフトしていく。今、入力音声の終端時刻が時刻tdにシフトしたとする。ノード5に接続する単語のマッチング処理においても、時刻Tまでのマッチング処理が必要だとすると、時刻tdでは、マッチング処理を完了させることができないので、マッチング部58は、構築された単語モデルと、そのモデル上の各状態のスコア値、および、スコア値の更新履歴をマッチング処理過程データとして、マッチング処理過程記憶部401に記憶させる。ここで、ノード3を開始点とするマッチング処理に関しては、時刻tcまでしかマッチング処理を行なっていないので、時刻tdまで処理を進めることができることになる。そこで、マッチング部58は、マッチング処理過程記憶部401に記憶されたマッチング処理過程データを用いて、ノード3を開始点とするマッチング処理を時刻tcから再開する。以上のようにして、ノード3以降の部分とノード5以降の部分についてのマッチング処理を、入力音声に応じて、交互に進めるようにする。
Since voice is input even during this processing, the end time of the input voice shifts to the right (newer time) from tc in the figure. Assume that the end time of the input voice is shifted to time td. Also in the matching process of the word connected to the node 5, if the matching process up to the time T is necessary, the matching process cannot be completed at the time td. The score value of each of the above states and the update history of the score value are stored in the matching
以上のように、音声の入力に応じて、マッチング処理を進められる範囲で進めた後、一時的に処理を停止して記憶し、必要に応じて、マッチング処理を継続できるようにすることで、入力音声に対してリアルタイムに処理を行なう場合の処理の高速化が実現されることになる。 As described above, according to the input of the voice, after proceeding within the range in which the matching process can be advanced, the process is temporarily stopped and stored, and if necessary, the matching process can be continued. The processing speed can be increased when processing the input voice in real time.
なお、以上の説明においては、図22、図25、および図28の音声認識装置をそれぞれ独立して説明したが、音声認識装置が、図22、図25、および図28にそれぞれ示された再評価処理過程記憶部201、単語モデル記憶部301、およびマッチング処理過程記憶部401のうち、いずれか2つ、あるいは3つ全てを有するようにすることも可能である。
In the above description, the voice recognition devices of FIGS. 22, 25, and 28 have been described independently. However, the voice recognition devices are not shown in FIG. 22, FIG. 25, and FIG. It is also possible to have any two or all three of the evaluation
また、再評価処理で利用される状態遷移モデルと、マッチング処理で利用される単語モデル(状態遷移モデル)に関して、ある単語に着目した場合、その状態遷移モデルは同じとなる場合がある。このような場合、その状態遷移モデルそのものは時刻には依存しないものなので、共通に利用するようにしてもよい。すなわち、図25の単語モデル記憶部301に記憶された単語モデルを、再評価部59で利用できるようにしてもよい。これにより、再評価部59における状態遷移モデルを構築する処理を効率化することが可能となる。
In addition, regarding a state transition model used in the re-evaluation process and a word model (state transition model) used in the matching process, when focusing on a certain word, the state transition model may be the same. In such a case, since the state transition model itself does not depend on time, it may be used in common. That is, the word model stored in the word
以上のように、単語候補クラスタリング部57において、単語予備選択部56で決定される単語候補がクラスタリングされ、得られた単語候補セット毎にマッチング処理が1回だけ行なわれるので、マッチング処理に要する計算量を大幅に削減することができる。そのマッチング処理は、直前の単語列仮説の数に依存することもない。また、再評価部59において、直前の単語列仮説に依存した音響モデルが適用され、マッチング処理で決定される単語境界や音響スコアが正しく補正されるため、マッチング処理の削減に伴う認識精度の劣化もほとんど発生することはない。つまり、音声認識の精度を落とすことなく、処理の高速化が可能となる。
As described above, the word
実際に、本実施の形態の手法を、語彙数6万語の大語彙連続音声認識に適用した結果、マッチング処理に要する処理量が10分の1以下に削減されることが確認された。この実験では、各時刻において着目すべき部分的な単語列仮説を約30に制限し、それぞれ単語列仮説から展開すべき単語候補として、単語予備選択によって抽出される候補数が約1000語程度になる場合について、本実施の形態の手法を適用した場合としない場合で比較を行なった。 Actually, as a result of applying the method of the present embodiment to large vocabulary continuous speech recognition with a vocabulary number of 60,000, it was confirmed that the processing amount required for the matching processing was reduced to 1/10 or less. In this experiment, the partial word string hypotheses to be noted at each time are limited to about 30, and the number of candidates extracted by word preliminary selection is about 1000 words as word candidates to be developed from the word string hypotheses. In this case, a comparison was made with and without applying the method of the present embodiment.
従来は、ある時刻に着目したとき、単語候補数が1000語、部分的な単語列仮説が約30と仮定すれば、マッチング処理が30000回行なわれることになるのが、本実施の形態の手法を適用した場合、単語列仮説の個数に依存しなくなることから、少なくとも1000回に抑えられることになる。さらに、同じ発音に対してのマッチング処理も削減されることになり、同音異義語の多い日本語の場合、さらに数パーセントから10パーセント程度の処理の削減が見込まれることになる。つまり、30分の1以下になることが期待される。しかしながら、マッチング処理の過程において、いわゆるビームサーチと呼ばれる仮説の枝刈りの処理を施していたことで、それぞれのマッチングの処理量が、もともとある程度抑えられていたため、この実験では、10分の1以下の削減になったものと思われる。 Conventionally, when focusing on a certain time, assuming that the number of word candidates is 1000 words and the partial word string hypothesis is about 30, the matching process is performed 30000 times. Is no longer dependent on the number of word string hypotheses, so that it can be suppressed to at least 1000 times. Further, matching processing for the same pronunciation is also reduced, and in the case of Japanese with many homonyms, processing reduction of about several percent to 10 percent is expected. That is, it is expected to be 1/30 or less. However, in the process of matching processing, the processing of hypothesis pruning called so-called beam search was performed, so that the amount of processing of each matching was originally suppressed to some extent. It seems that it was reduced.
また、図22の音声認識装置のように、開始時刻が同じで終了時刻が異なるだけの同じ単語列に対する再評価の処理に関して、再評価の処理を共有化する手段を備える、すなわち、再評価の処理過程を一時的に停止し記憶する手段と、その記憶された再評価の処理過程を用いて処理を継続する手段を備えることで、再評価に要する処理の効率化を可能となる。 Further, as in the speech recognition apparatus of FIG. 22, a re-evaluation process is provided for a re-evaluation process for the same word string having the same start time but different end times. By providing means for temporarily stopping and storing the process and means for continuing the process using the stored process for reevaluation, it is possible to increase the efficiency of the process required for reevaluation.
また、図25の音声認識装置のように、マッチング処理においてスコア計算を行なうために構築されるスコア計算用の単語モデルを記憶する手段を備え、同じ単語に対するスコア計算が必要になった場合に、記憶された単語モデルを利用することで、単語モデル構築に要する処理の共有化(効率化)が実現される。 In addition, as in the speech recognition apparatus of FIG. 25, a means for storing a word model for score calculation constructed for performing score calculation in matching processing is provided, and when score calculation for the same word is necessary, By using the stored word model, sharing (efficiency) of processing required for word model construction is realized.
さらにまた、図28の音声認識装置のように、マッチング処理を一時的に停止し記憶する手段と、その記憶されたマッチングの処理過程を用いて処理を続行する手段を備えることで、リアルタイムに入力される音声信号に対して、マッチング処理を処理可能なところから進めることが出来るようになるため、計算資源の有効活用が可能となる。 Furthermore, like the speech recognition apparatus of FIG. 28, it is provided with means for temporarily stopping and storing the matching process, and means for continuing the process using the stored matching process, so that input is performed in real time. Since it becomes possible to proceed with the matching process for the audio signal to be processed, it is possible to effectively use the calculation resources.
結果的に、音声認識処理の高速化が実現される。 As a result, high speed speech recognition processing is realized.
なお、ここでは、音響モデルデータベース61、辞書データベース62、および文法データベース63に関しては、単語予備選択部56、マッチング部58、および再評価部59で共通のものを用いるものとして説明したが、それぞれで異なる音響モデルデータベース、辞書データベース、および文法データベースを用いることも可能である。例えば、文法としては、単語予備選択部56ではユニグラムを用い、マッチング部58ではバイグラムを用い、再評価部59ではトライグラムを用いることが可能である。
Here, the acoustic model database 61, the
また、以上の説明においては、単語候補クラスタリング部57において、発音が同じ単語候補(同音語)をクラスタリングする(「同一の発音を有する単語」という属性に基づいて、分類する)場合を例にして説明したが、発音が完全に同じでなくても、単語と単語の音響的な類似性を示すような距離尺度を定義し、その距離尺度が設定された閾値より小さいもの、つまり音響的な類似度が高い単語候補をクラスタリングする(「音響的に類似した単語」という属性に基づいて、分類する)ことで、マッチングの処理量をさらに削減することも可能である。
In the above description, the word
なお、本発明は、例えば、家庭用あるいは業務用のゲーム機、携帯電話機、携帯端末装置、その他、あらゆる電化機器に適用することが可能である。 Note that the present invention can be applied to, for example, home or business game machines, mobile phones, mobile terminal devices, and other electrical appliances.
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体等からインストールされる。 The series of processes described above can be executed by hardware, but can also be executed by software. When a series of processing is executed by software, various functions can be executed by installing a computer in which the programs that make up the software are installed in dedicated hardware, or by installing various programs. For example, it is installed from a recording medium or the like into a general-purpose personal computer or the like.
図29は、このような処理を実行するパーソナルコンピュータ500の内部構成例を示す図である。パーソナルコンピュータのCPU(Central Processing Unit)501は、ROM(Read Only Memory)502に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)503には、CPU501が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。入出力インタフェース505には、マウス、キーボード、マイクロフォン、AD変換器などから構成される入力部506が接続され、入力部506に入力された信号をCPU501に出力する。また、入出力インタフェース505は、ディスプレイ、スピーカ、およびDA変換器などから構成される出力部507も接続されている。
FIG. 29 is a diagram showing an example of the internal configuration of a
さらに、入出力インタフェース505には、ハードディスクなどから構成される記憶部508、および、インターネットなどのネットワークを介して他の装置とデータの通信を行なう通信部509も接続されている。ドライブ510は、磁気ディスク521、光ディスク522、光磁気ディスク523、半導体メモリ534などの記録媒体からデータを読み出したり、データを書き込んだりするときに用いられる。
Further, a
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図29に示すように、磁気ディスク521(フレキシブルディスクを含む)、光ディスク522(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク523(MD(Mini-Disk)を含む)、もしくは半導体メモリ524などよりなるパッケージメディア、または、プログラムが一時的もしくは永続的に格納されるROM502や、記憶部508を構成するハードディスクなどにより構成される。プログラム格納媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
As shown in FIG. 29, a program storage medium for storing a program that is installed in a computer and can be executed by the computer includes a magnetic disk 521 (including a flexible disk), an optical disk 522 (CD-ROM (Compact Disk- A package medium consisting of a read only memory), a DVD (Digital Versatile Disk), a magneto-optical disk 523 (including an MD (Mini-Disk)), or a semiconductor memory 524, or a program temporarily or permanently. A
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。 In the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but is not necessarily performed in chronological order. It also includes processes that are executed individually.
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。 Further, in this specification, the system represents the entire apparatus constituted by a plurality of apparatuses.
51 マイク, 52 AD変換部, 53 特徴抽出部, 54 制御部, 55 特徴量記憶部, 56 単語予備選択部, 57 単語候補クラスタリング部, 58 マッチング部, 59 再評価部, 60 単語接続関係記憶部, 61 音響モデルデータベース(DB), 62 辞書データベース(DB), 63 文法データベース(DB), 201 再評価処理過程記憶部, 301 単語モデル記憶部, 401 マッチング処理過程記憶部 51 microphone, 52 AD conversion unit, 53 feature extraction unit, 54 control unit, 55 feature quantity storage unit, 56 word preliminary selection unit, 57 word candidate clustering unit, 58 matching unit, 59 re-evaluation unit, 60 word connection relation storage unit , 61 Acoustic model database (DB), 62 Dictionary database (DB), 63 Grammar database (DB), 201 Re-evaluation process storage unit, 301 Word model storage unit, 401 Matching process storage unit
Claims (12)
前記単語列のうち、既に求められている単語に続く1以上の単語の候補を、同一の属性を有する前記単語毎に分類した単語群毎に、処理の一部を共有化してマッチング処理するマッチング処理実行手段と、
前記マッチング処理実行手段によるマッチング処理の結果に基づいて生成された、音声認識結果の候補となる前記単語列の単語どうしの接続関係を示す単語接続関係情報を修正する修正手段と
を備えることを特徴とする音声認識装置。 In a speech recognition device that determines a word string corresponding to an input speech,
A matching process in which a part of the processing is shared for each word group in which one or more word candidates following the already obtained word in the word string are classified for each word having the same attribute. Processing execution means;
Correction means for correcting word connection relation information indicating a connection relation between words in the word string, which is a candidate for a speech recognition result, generated based on a result of matching processing by the matching processing execution means. Voice recognition device.
前記マッチング処理実行手段は、前記分類手段により分類された前記単語群毎に、前記処理の一部を共有化する
ことを特徴とする請求項1に記載の音声認識装置。 Classifying means for classifying one or more word candidates following the already obtained word in the word string as the word group for each word having the same attribute,
The speech recognition apparatus according to claim 1, wherein the matching process execution unit shares a part of the process for each word group classified by the classification unit.
前記分類手段は、前記選択手段により選択された1以上の前記単語の候補を、同一の前記属性を有する前記単語毎に前記単語群として分類する
ことを特徴とする請求項2に記載の音声認識装置。 A selection means for selecting one or more candidates for the word following the already requested word from the word string;
The speech recognition according to claim 2, wherein the classifying unit classifies the one or more word candidates selected by the selection unit as the word group for each word having the same attribute. apparatus.
ことを特徴とする請求項1に記載の音声認識装置。 The speech recognition apparatus according to claim 1, wherein one or more word candidates subsequent to the already obtained word are classified into the word group for each word having the same pronunciation.
ことを特徴とする請求項1に記載の音声認識装置。 The speech recognition apparatus according to claim 1, wherein one or more word candidates following the already obtained word are classified into the word group for each of the acoustically similar words.
前記修正手段は、前記記憶手段により記憶された前記単語接続関係情報を修正する
ことを特徴とする請求項1に記載の音声認識装置。 A storage unit that stores the word connection relation information generated based on the result of the matching process performed by the matching process execution unit;
The speech recognition apparatus according to claim 1, wherein the correction unit corrects the word connection relation information stored by the storage unit.
前記修正手段は、同一の前記部分的な単語列の前記音響的なスコアを再度計算する場合、前記記憶手段により記憶された前記状態遷移モデルを利用する
ことを特徴とする請求項1に記載の音声認識装置。 When a state transition model for calculating an acoustic score of a partial word string is constructed by the modifying means to modify the word connection relation information, the constructed state transition model is stored. A storage means,
The said correction means utilizes the said state transition model memorize | stored by the said memory | storage means, when calculating the said acoustic score of the said same partial word sequence again. Voice recognition device.
前記マッチング処理実行手段は、同一の前記単語の前記音響的なスコアを再度計算する場合、前記記憶手段により記憶された前記状態遷移モデルを利用する
ことを特徴とする請求項1に記載の音声認識装置。 In the case where a state transition model for calculating an acoustic score of a word is constructed by the matching processing execution unit, the matching processing execution unit further includes a storage unit that stores the constructed state transition model,
The speech recognition according to claim 1, wherein the matching process execution unit uses the state transition model stored in the storage unit when recalculating the acoustic score of the same word. apparatus.
前記マッチング処理実行手段は、前記記憶手段により記憶された前記途中経過としての値を利用して、前記音声認識結果の候補となる複数の前記単語列の前記マッチング処理を交互に実行する
ことを特徴とする請求項1に記載の音声認識装置。 A storage unit that stores a value calculated by the matching process execution unit as a mid-course of the matching process;
The matching processing execution means alternately executes the matching processing of a plurality of the word strings that are candidates for the speech recognition result using the value as the intermediate progress stored by the storage means. The speech recognition apparatus according to claim 1.
前記単語列のうち、既に求められている単語に続く1以上の単語の候補を、同一の属性を有する前記単語毎に分類した単語群毎に、処理の一部を共有化してマッチング処理するマッチング処理実行ステップと、
前記マッチング処理実行ステップの処理によるマッチング処理の結果に基づいて生成された、音声認識結果の候補となる単語列の単語どうしの接続関係を示す単語接続関係情報を修正する修正ステップと
を含むことを特徴とする音声認識方法。 In the speech recognition method of the speech recognition apparatus for determining a word string corresponding to the input speech,
A matching process in which a part of the processing is shared for each word group in which one or more word candidates following the already obtained word in the word string are classified for each word having the same attribute. Process execution steps;
A correction step of correcting word connection relationship information indicating a connection relationship between words in a word string that is a candidate for a speech recognition result, which is generated based on the result of the matching processing by the processing of the matching processing execution step. A feature of speech recognition.
前記単語列のうち、既に求められている単語に続く1以上の単語の候補を、同一の属性を有する前記単語毎に分類した単語群毎に、処理の一部を共有化してマッチング処理するマッチング処理実行ステップと、
前記マッチング処理実行ステップの処理によるマッチング処理の結果に基づいて生成された、音声認識結果の候補となる前記単語列の単語どうしの接続関係を示す単語接続関係情報を修正する修正ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。 A program for a speech recognition device that determines a word string corresponding to an input speech,
A matching process in which a part of the processing is shared for each word group in which one or more word candidates following the already obtained word in the word string are classified for each word having the same attribute. Process execution steps;
A correction step of correcting word connection relationship information indicating a connection relationship between words in the word string, which is a candidate of a speech recognition result, generated based on the result of the matching processing by the processing of the matching processing execution step. A recording medium on which a computer-readable program is recorded.
前記単語列のうち、既に求められている単語に続く1以上の単語の候補を、同一の属性を有する前記単語毎に分類した単語群毎に、処理の一部を共有化してマッチング処理するマッチング処理実行ステップと、
前記マッチング処理実行ステップの処理によるマッチング処理の結果に基づいて生成された、音声認識結果の候補となる前記単語列の単語どうしの接続関係を示す単語接続関係情報を修正する修正ステップと
を実行させることを特徴とするプログラム。 A computer that controls the process of determining a word string corresponding to the input speech,
A matching process in which a part of the processing is shared for each word group in which one or more word candidates following the already obtained word in the word string are classified for each word having the same attribute. Process execution steps;
A correction step for correcting word connection relationship information indicating a connection relationship between words in the word string, which is a candidate of a speech recognition result, generated based on the result of the matching processing by the processing of the matching processing execution step; A program characterized by that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003367223A JP2005134442A (en) | 2003-10-28 | 2003-10-28 | Speech recognition device and method, recording medium, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003367223A JP2005134442A (en) | 2003-10-28 | 2003-10-28 | Speech recognition device and method, recording medium, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005134442A true JP2005134442A (en) | 2005-05-26 |
Family
ID=34645287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003367223A Withdrawn JP2005134442A (en) | 2003-10-28 | 2003-10-28 | Speech recognition device and method, recording medium, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005134442A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115019787A (en) * | 2022-06-02 | 2022-09-06 | 中国第一汽车股份有限公司 | Interactive homophonic and heteronym word disambiguation method, system, electronic equipment and storage medium |
-
2003
- 2003-10-28 JP JP2003367223A patent/JP2005134442A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115019787A (en) * | 2022-06-02 | 2022-09-06 | 中国第一汽车股份有限公司 | Interactive homophonic and heteronym word disambiguation method, system, electronic equipment and storage medium |
CN115019787B (en) * | 2022-06-02 | 2024-05-14 | 中国第一汽车股份有限公司 | Interactive homonym disambiguation method, system, electronic equipment and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4465564B2 (en) | Voice recognition apparatus, voice recognition method, and recording medium | |
JP4802434B2 (en) | Voice recognition apparatus, voice recognition method, and recording medium recording program | |
US7240002B2 (en) | Speech recognition apparatus | |
JP5739718B2 (en) | Interactive device | |
US6961701B2 (en) | Voice recognition apparatus and method, and recording medium | |
US9093061B1 (en) | Speech recognition with hierarchical networks | |
JP5310563B2 (en) | Speech recognition system, speech recognition method, and speech recognition program | |
JP4757936B2 (en) | Pattern recognition method and apparatus, pattern recognition program and recording medium therefor | |
JP2006038895A (en) | Device and method for speech processing, program, and recording medium | |
Alleva et al. | An improved search algorithm using incremental knowledge for continuous speech recognition | |
EP0903730A2 (en) | Search and rescoring method for a speech recognition system | |
JP6690484B2 (en) | Computer program for voice recognition, voice recognition device and voice recognition method | |
JP5447373B2 (en) | Language model score prefetch value assigning apparatus and method, and program recording medium | |
US20090157403A1 (en) | Human speech recognition apparatus and method | |
WO2003060878A1 (en) | Continuous speech recognition apparatus, continuous speech recognition method, continuous speech recognition program, and program recording medium | |
JP6027754B2 (en) | Adaptation device, speech recognition device, and program thereof | |
JP4600706B2 (en) | Voice recognition apparatus, voice recognition method, and recording medium | |
JP2011053312A (en) | Adaptive acoustic model generating device and program | |
JP4600705B2 (en) | Voice recognition apparatus, voice recognition method, and recording medium | |
JP2005134442A (en) | Speech recognition device and method, recording medium, and program | |
JP2005091504A (en) | Voice recognition device | |
JPH1145097A (en) | Continuous voice recognizion system | |
JP3550350B2 (en) | Voice recognition method and program recording medium | |
JP4696400B2 (en) | Voice recognition apparatus, voice recognition method, program, and recording medium | |
JP2002149188A (en) | Device and method for processing natural language and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070109 |