JP4696400B2 - 音声認識装置および音声認識方法、並びにプログラムおよび記録媒体 - Google Patents

音声認識装置および音声認識方法、並びにプログラムおよび記録媒体 Download PDF

Info

Publication number
JP4696400B2
JP4696400B2 JP2001161698A JP2001161698A JP4696400B2 JP 4696400 B2 JP4696400 B2 JP 4696400B2 JP 2001161698 A JP2001161698 A JP 2001161698A JP 2001161698 A JP2001161698 A JP 2001161698A JP 4696400 B2 JP4696400 B2 JP 4696400B2
Authority
JP
Japan
Prior art keywords
word
node
score
words
speech recognition
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.)
Expired - Fee Related
Application number
JP2001161698A
Other languages
English (en)
Other versions
JP2002351491A (ja
Inventor
活樹 南野
康治 浅野
浩明 小川
ルッケ ヘルムート
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2001161698A priority Critical patent/JP4696400B2/ja
Publication of JP2002351491A publication Critical patent/JP2002351491A/ja
Application granted granted Critical
Publication of JP4696400B2 publication Critical patent/JP4696400B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、音声認識装置および音声認識方法、並びにプログラムおよび記録媒体に関し、特に、例えば、高速、かつ高精度な音声認識を行うことができるようにする音声認識装置および音声認識方法、並びにプログラムおよび記録媒体に関する。
【0002】
【従来の技術】
図1は、従来の音声認識装置の一例の構成を示している。
【0003】
ユーザが発した音声は、マイク(マイクロフォン)1に入力され、マイク1では、その入力音声が、電気信号としての音声信号に変換される。この音声信号は、AD(Analog Digital)変換部2に供給される。AD変換部2では、マイク1からのアナログ信号である音声信号がサンプリング、量子化され、ディジタル信号である音声データに変換される。この音声データは、特徴抽出部3に供給される。
【0004】
特徴抽出部3は、AD変換部2からの音声データについて、適当なフレームごとに音響処理を施し、これにより、例えば、MFCC(Mel Frequency Cepstrum Coefficient)等の特徴量を抽出し、マッチング部4に供給する。なお、特徴抽出部3では、その他、例えば、スペクトルや、線形予測係数、ケプストラム係数、線スペクトル対等の特徴量を抽出することが可能である。
【0005】
マッチング部4は、特徴抽出部3からの特徴量を用いて、音響モデルデータベース5、辞書データベース6、および文法データベース7を必要に応じて参照しながら、マイク1に入力された音声(入力音声)を、例えば、連続分布HMM法等に基づいて音声認識する。
【0006】
即ち、音響モデルデータベース5は、音声認識する音声の言語における個々の音素や音節などの音響的な特徴を表す音響モデルを記憶している。ここでは、連続分布HMM法に基づいて音声認識を行うので、音響モデルとしては、HMM(Hidden Markov Model)が用いられる。辞書データベース6は、認識対象の各単語について、その発音に関する情報(音韻情報)が記述された単語辞書を記憶している。文法データベース7は、辞書データベース6の単語辞書に登録されている各単語が、どのように連鎖する(つながる)かを記述した文法規則(言語モデル)を記憶している。ここで、文法規則としては、例えば、文脈自由文法(CFG)や、統計的な単語連鎖確率(N−gram)などに基づく規則を用いることができる。
【0007】
マッチング部4は、辞書データベース6の単語辞書を参照することにより、音響モデルデータベース5に記憶されている音響モデルを接続することで、単語の音響モデル(単語モデル)を構成する。さらに、マッチング部4は、幾つかの単語モデルを、文法データベース7に記憶された文法規則を参照することにより接続し、そのようにして接続された単語モデルを用いて、特徴量に基づき、連続分布HMM法によって、マイク1に入力された音声を認識する。即ち、マッチング部4は、特徴抽出部3が出力する時系列の特徴量が観測されるスコア(尤度)が最も高い単語モデルの系列を検出し、その単語モデルの系列に対応する単語列を、音声の認識結果として出力する。
【0008】
つまり、マッチング部4は、接続された単語モデルに対応する単語列について、各特徴量の出現確率を累積し、その累積値をスコアとして、そのスコアを最も高くする単語列を、音声認識結果として出力する。
【0009】
スコア計算は、一般に、音響モデルデータベース5に記憶された音響モデルによって与えられる音響的なスコア(以下、適宜、音響スコアという)と、文法データベース7に記憶された文法規則によって与えられる言語的なスコア(以下、適宜、言語スコアという)とを総合評価することで行われる。
【0010】
即ち、音響スコアは、例えば、HMM法による場合には、単語モデルを構成する音響モデルから、特徴抽出部3が出力する特徴量の系列が観測される確率(出現する確率)に基づいて、単語ごとに計算される。また、言語スコアは、例えば、バイグラムによる場合には、注目している単語と、その単語の直前の単語とが連鎖(連接)する確率に基づいて求められる。そして、各単語についての音響スコアと言語スコアとを総合評価して得られる最終的なスコア(以下、適宜、最終スコアという)に基づいて、音声認識結果が確定される。
【0011】
具体的には、あるN個の単語からなる単語列におけるk番目の単語をwkとして、その単語wkの音響スコアをA(wk)と、言語スコアをL(wk)と、それぞれ表すとき、その単語列の最終スコアSは、例えば、次式にしたがって計算される。
【0012】
S=Σ(A(wk)+Ck×L(wk))・・・(1)
但し、Σは、kを1からNに変えてのサメーションをとることを表す。また、Ckは、単語wkの言語スコアL(wk)にかける重みを表す。
【0013】
マッチング部4では、例えば、式(1)に示す最終スコアSを最も大きくするNと、単語列w1,w2,・・・,wNを求めるマッチング処理が行われ、その単語列w1,w2,・・・,wNが、音声認識結果として出力される。
【0014】
以上のような処理が行われることにより、図1の音声認識装置では、例えば、ユーザが、「ニューヨークに行きたいです」と発話した場合には、「ニューヨーク」、「に」、「行きたい」、「です」といった各単語に、音響スコアおよび言語スコアが与えられ、それらを総合評価して得られる最終スコアが最も大きいときに、単語列「ニューヨーク」、「に」、「行きたい」、「です」が、音声認識結果として出力される。
【0015】
ところで、上述の場合において、辞書データベース6の単語辞書に、「ニューヨーク」、「に」、「行きたい」、および「です」の5単語が登録されているとすると、これらの5単語を用いて構成しうる5単語の並びは、55通り存在する。従って、単純には、マッチング部4では、この55通りの単語列を評価し、その中から、ユーザの発話に最も適合するもの(最終スコアを最も大きくするもの)を決定しなければならない。そして、単語辞書に登録する単語数が増えれば、その単語数分の単語の並びの数は、単語数の単語数乗通りになるから、評価の対象としなければならない単語列は、膨大な数となる。
【0016】
さらに、一般には、発話中に含まれる単語の数は未知であるから、5単語の並びからなる単語列だけでなく、1単語、2単語、・・・からなる単語列も、評価の対象とする必要がある。従って、評価すべき単語列の数は、さらに膨大なものとなるから、そのような膨大な単語列の中から、音声認識結果として最も確からしいものを、計算量および使用するメモリ容量の観点から効率的に決定することは、非常に重要な問題である。
【0017】
計算量およびメモリ容量の効率化を図る方法としては、例えば、音響スコアを求める過程において、その途中で得られる音響スコアが所定の閾値以下となった場合に、そのスコア計算を打ち切るという音響的な枝刈り手法や、言語スコアに基づいて、スコア計算の対象とする単語を絞り込む言語的な枝刈り手法があり、これらの枝刈り手法は、ビームサーチ法と呼ばれる。
【0018】
ビームサーチ法によれば、スコア計算の対象が、所定の判断基準(例えば、上述したような計算途中の音響スコアや、単語に与えられる言語スコア)に基づいて絞り込まれることで、計算量の削減を図ることができる。しかしながら、その反面、絞り込みを強くすると、即ち、判断基準を厳しくすると、本来、音声認識結果として正しいものまでも枝刈りされてしまい、誤認識が生じることになる。従って、枝刈り手法による場合には、音声認識結果として正しいものが枝刈りされないように、ある程度のマージンをもたせた絞り込みを行う必要があり、このため、計算量を大きく削減することは困難である。
【0019】
また、音響スコアを求める場合に、スコア計算の対象となっているすべての単語について独立に行うと、その計算量が大きくなることから、複数の単語についての音響スコアの計算の一部を共通化(共有化)する方法が提案されている。この共通化の方法としては、単語辞書の単語のうち、その先頭の音韻が同一のものについて、その先頭の音韻から、同一になっている音韻までは、音響モデルを共通に用い、それ以後の異なる音韻には、音響モデルを個々に用いることにより、全体として1つのツリー構造(木構造)のネットワークを構成し、これを用いて、音響スコアを求める方法がある。具体的には、例えば、いま、単語「秋田」と「曙」を考え、「秋田」の音韻情報が「akita」であり、「曙」の音韻情報が「akebono」であるとすると、単語「秋田」と「曙」の音響スコアは、それぞれの先頭から2番目までの同一の音韻a,kについては兼用で計算される。そして、単語「秋田」の残りの音韻k,i,t,a、および単語「曙」の残りの音韻e,b,o,n,oについては、それぞれ独立に音響スコアが計算される。
【0020】
従って、この方法によれば、音響スコアの計算量を大幅に低減することができる。
【0021】
しかしながら、この方法では、共通化されている部分(音響スコアが兼用で計算される部分)において、その音響スコアの計算の対象となっている単語を決定することができない。即ち、上述の単語「秋田」と「曙」の例でいえば、それぞれの先頭から2番目までの音韻a,kについて音響スコアが計算されている場合は、その音響スコアが計算されている単語が、「秋田」であるのか、または「曙」であるのかを同定することができない。
【0022】
そして、この場合、「秋田」については、その3番目の音韻iについて音響スコアの計算が開始されたときに、その計算対象が「秋田」であることを同定することができ、「曙」についても、その3番目の音韻eについての音響スコアの計算が開始されたときに、その計算対象が「曙」であることを同定することができる。
【0023】
従って、音響スコアの計算の一部を共通化してしまうと、単語の音響スコアの計算の開始時に、その単語を同定することができないため、その単語について、言語スコアを考慮することができない。その結果、単語の音響スコアの開始前に、上述したような言語的な枝刈り手法を用いることが困難となり、無駄な計算が行われることがある。
【0024】
さらに、音響スコアの計算の一部を共通化する場合、単語辞書のすべての単語を対象として、上述したようなツリー構造のネットワークが構成されるから、これを保持するための大きなメモリ容量が必要となる。
【0025】
そこで、計算量およびメモリ容量の効率化を図る方法として、音響スコアを計算する場合に、単語辞書のすべての単語を対象とするのではなく、その音響スコアの計算の対象とする単語を予備的に選択(予備選択)し、その予備選択された単語についてだけ、音響スコア等を計算する方法がある。ここで、予備選択は、例えば、それほど精度の高くない、簡易的な音響モデルや文法規則を用いて行われる。
【0026】
なお、予備選択の方法は、例えば、L. R. Bahl, S. V. De Gennaro, P. S. Gopalakrishnan and R. L. Mercer, "A Fast Approximate Acoustic Match for Large Vocabulary Speech Recognition", IEEE Trans. Speech and Audio Proc., vol. 1, pp.59-67, 1993等に記載されている。
【0027】
ところで、単語の音響スコアは、音声の特徴量の系列を用いて計算されるが、その計算に使用する特徴量の系列の始点や終点が異なれば、求められる音響スコアも変化する。そして、この変化は、音響スコアと言語スコアとを総合評価して求められる式(1)の最終スコアに影響する。
【0028】
ある単語に対応する特徴量の系列の始点および終点、即ち、単語どうしの境界(単語境界)は、例えば、動的計画法(Dynamic Programming)を用いて求めることができる。即ち、特徴量の系列の任意の点を、単語境界の候補とし、音声認識結果の候補となる単語列の単語について、その音響スコアと言語スコアとを総合評価したスコア(以下、適宜、単語スコアという)を、逐次累積していく。そして、その単語スコアの累積の際に、最も大きい累積値を与える単語境界の候補を、その累積値とともに記憶していく。
【0029】
これにより、最終的な単語スコアの累積値が求めらると、最も良い累積値、即ち、最も大きい最終スコアを与える単語境界も求められる。
【0030】
上述のようにして単語境界を求める方法は、ビタビデコーディング(Viterbi decoding)、あるいはワンパスデコーディング(One pass decoding)等と呼ばれ、例えば、中川聖一、「確率モデルによる音声認識」、電子情報通信学会、pp.20-26、1988年7月1日等に記載されている。
【0031】
上述の予備選択を効果的に行うには、単語境界をどこにするか、即ち、特徴量の系列(特徴量系列)のどの点を始点とするかが重要である。
【0032】
具体的には、例えば、図2(A)に示すような、音声「今日はいい天気ですね」について得られた特徴量系列において、「今日」と「は」との正しい単語境界が、時刻t1である場合において、単語「今日」に続く単語「は」に関して予備選択を行うときに、正しい時刻t1より先行する時刻t1-1を始点として予備選択を行うと、その予備選択には、単語「は」の特徴量だけでなく、その直前の単語「今日」の最後の部分の特徴量が影響する。一方、正しい時刻t1より後行する時刻t1+1を始点として予備選択を行うと、その予備選択においては、単語「は」の最初の部分の特徴量が用いられないことになる。
【0033】
従って、いずれにしても、始点を誤ると、予備選択、ひいては、その後に行われるマッチング処理に悪影響を与えることとなる。
【0034】
なお、図2においては(後述する図5においても同様)、左から右方向が、時間の経過を表しており、また、音声区間の開始時刻を0として、音声区間は時刻Tで終了するものとしてある。
【0035】
上述した動的計画法を用いる方法では、特徴量系列の最後、即ち、図2においては、音声区間の終了時刻Tまでの単語スコア(音響スコアおよび言語スコア)の計算が終了しないと、最終的な単語境界を決定することができないため、予備選択を行う段階では、その予備選択の始点となる単語境界を一意に決定することは困難である。
【0036】
そこで、単語境界の候補を、音声区間の特徴量系列を用いた単語スコアの計算が終了するまで保持しておく方法がある。
【0037】
この方法では、例えば、音声区間の開始時刻0を始点として、単語「今日」の単語スコアを計算した場合に、時刻t1-1,t1,t1+1が、単語「今日」の発話の終点の候補として求まったとすると、この3通りの時刻t1-1,t1,t1+1が保持され、それぞれを始点として、次の単語の予備選択が行われる。
【0038】
いま、この予備選択によって、時刻t1-1を始点とした場合には、「は」と「いい」の2単語が、時刻t1を始点とした場合には、「は」の1単語が、時刻t1+1を始点とした場合には、「は」と「いい」の2単語が、それぞれ得られたとし、さらに、これらの各単語を対象として単語スコアの計算を行うことにより、図2(B)乃至図2(G)に示すような結果が得られたとする。
【0039】
即ち、図2(B)は、時刻t1-1を始点として、単語「は」の単語スコアの計算を行い、その終点の候補として、時刻t2が得られた状態を示しており、図2(C)は、時刻t1-1を始点として、単語「いい」の単語スコアの計算を行い、その終点の候補として、時刻t2+1が得られた状態を示している。また、図2(D)は、時刻t1を始点として、単語「は」の単語スコアの計算を行い、その終点の候補として、時刻t2+1が得られた状態を示しており、図2(E)は、時刻t1を始点として、単語「は」の単語スコアの計算を行い、その終点の候補として、時刻t2が得られた状態を示している。さらに、図2(F)は、時刻t1+1を始点として、単語「は」の単語スコアの計算を行い、その終点の候補として、時刻t2が得られた状態を示しており、図2(G)は、時刻t1+1を始点として、単語「いい」の単語スコアの計算を行い、その終点の候補として、時刻t2+2が得られた状態を示している。なお、図2においては、t1-1<t1<t1+1<t2<t2+1<t2+2となっている。
【0040】
図2(B)乃至図2(G)のうち、図2(B)、図2(E)、および図2(F)に示したものについては、いずれも、音声認識結果の候補としての単語列が、「今日」、「は」で同一あり、さらに、その単語列の最後「は」の終点も、時刻t2で同一であるから、その中から最も適切なものを、例えば、時刻t2までの単語スコアの累積値等に基づいて選び、残りを破棄することが可能である。
【0041】
しかしながら、いまの時点では、図2(B)、図2(E)、または図2(F)のうちから選んだものに、図2(C)、図2(D)、図2(G)に示したものを加えた中から、正しいものを確定することはできないから、これらの4通りの場合を保持しておく必要がある。そして、この4通りの場合それぞれについて、再び、予備選択を行っていくことになる。
【0042】
従って、この方法では、音声区間の特徴量系列を用いた単語スコアの計算が終了するまで、多くの単語境界の候補を保持しながら、単語スコアの計算を行っていく必要があり、計算量およびメモリ容量の効率化の観点からは好ましくない。
【0043】
また、この場合、単語境界の候補として、真に正しい単語境界を保持していれば、原理的には、上述の動的計画法を用いた場合と同様の正しい単語境界を、最終的に得ることができるが、その反面、単語境界の候補として、真に正しい単語境界を保持し損ねると、その単語境界を始点または終点とする単語を誤認識し、さらには、それに起因して、その後に続く単語も誤認識することがある。
【0044】
一方、近年においては、音響モデルとして、前後のコンテキストに依存するもの(考慮したもの)が用いられるようになってきている。前後のコンテキストに依存する音響モデルとは、同一の音節(または音素)の音響モデルであっても、その直前や直後の音節によって異なるものとしてモデル化したもので、従って、例えば、音節「あ」は、その直前や直後の音節が、例えば、「か」の場合と「さ」の場合とで、異なる音響モデルにモデル化される。
【0045】
前後のコンテキストに依存する音響モデルとしては、大きく分けて、単語内のコンテキストに依存する音響モデルと、単語間にまたがるコンテキストに依存する音響モデルとがある。
【0046】
単語内のコンテキストに依存する音響モデルを用いる場合には、「今日」(きょう)という単語モデルを、音響モデル「きょ」と「う」とを連結して作成するときに、音響モデル「きょ」として、その直後の音節「う」に依存したもの(直後の音節「う」の影響を考慮した音響モデル「きょ」)が用いられ、あるいは、音響モデル「う」として、その直前の音節「きょ」に依存したものが用いられる。
【0047】
一方、単語間にまたがるコンテキストに依存する音響モデルを用いる場合には、上述のように、「今日」という単語モデルを、音響モデル「きょ」と「う」とを連結して作成するときに、その後につづく単語が「は」であれば、音響モデル「う」として、その直後の単語の最初の音節「は」に依存したものが用いられる。この単語間にまたがるコンテキストに依存する音響モデルは、クロスワードモデルと呼ばれる。
【0048】
このクロスワードモデルを、予備選択を行う音声認識に適用した場合には、予備選択された単語について、その直前の単語との間のコンテキストは考慮することができるが、その直後の単語は、まだ決まっていないから、その直後の単語との間のコンテキストは考慮することができない。
【0049】
そこで、予備選択される単語について、その単語の直後に位置する可能性の高い単語を、あらかじめ求めておき、その単語との間のコンテキストを考慮して、単語モデルを作成する方法がある。即ち、例えば、単語「今日」について、その直後に、「は」や、「が」、「の」などが位置する可能性が高い場合には、単語「今日」の単語モデルの最後の音節に対応する音響モデル「う」として、「は」、「が」、「の」をそれぞれ考慮したものを用いて、単語モデルを作成する方法がある。
【0050】
しかしながら、この方法では、余分なコンテキストまでも必ず考慮してしまうため、演算量およびメモリ容量の効率化の観点からは好ましくない。
【0051】
また、同様の理由から、予備選択された単語について、その言語スコアを、その直後の単語を考慮して計算することも困難である。
【0052】
一方、注目している単語(注目単語)に対して先行する単語だけでなく、後行する単語も考慮した音声認識方法としては、例えば、R. Schwartz and Y. L. Chow, "The N-Best Algorithm: An Efficient and Exact Procedure for Finding The Most Likely Sentence Hypotheses", Proc. ICASSP, pp.81-84, 1990に記載されているような、2パスデコーディング(2 pass decoding)と呼ばれる方法がある。
【0053】
即ち、図3は、2パスデコーディングによる音声認識を行う、従来の音声認識装置の一例の概略構成を示している。
【0054】
図3において、マッチング部41は、例えば、図1のマッチング部4と同様のマッチング処理を行い、その結果得られる単語列を出力する。但し、マッチング部41は、マッチング処理の結果得られる複数の単語列から、最終的な音声認識結果となるものを1つだけ出力するのではなく、音声認識結果の候補として確からしいものを複数出力する。
【0055】
マッチング部41の出力は、マッチング部42に供給され、マッチング部42は、マッチング部41が出力する複数の単語列それぞれについて、その単語列を音声認識結果とすることの確からしさを再評価するマッチング処理を行う。即ち、マッチング部41が出力する音声認識結果としての単語列においては、ある単語の直前の単語だけでなく、直後の単語も存在するから、マッチング部42では、直前の単語だけでなく、直後の単語も考慮して、クロスワードモデルによって、音響スコアや言語スコアが新たに求められる。そして、マッチング部42は、マッチング部41からの複数の単語列から、各単語列の新たな音響スコアおよび言語スコアに基づいて、音声認識結果として確からしいものを決定して出力する。
【0056】
なお、以上のような2パスデコーディングでは、一般に、最初のマッチング処理を行うマッチング部41では、精度のそれほど高くない、簡易な音響モデル、単語辞書、および文法規則が用いられ、後段のマッチング処理を行うマッチング部42では、高精度の音響モデル、単語辞書、文法規則が用いられる。これにより、図3の音声認識装置では、マッチング部41と42それぞれにおける処理量が、相互に緩和される一方、精度の高い音声認識結果を得ることができるようになっている。
【0057】
図3は、上述のように、2パスデコーディングの音声認識装置であるが、図3の後段のマッチング部42の後段に、同様のマッチング部を追加したマルチパスデコーディング(multi pass decoding)の音声認識装置も提案されている。
【0058】
しかしながら、2パスデコーディングやマルチパスデコーディングでは、最初のマッチング処理が終了するまで、次のマッチング処理を行うことができない。従って、音声の入力があってから、最終的な音声認識結果が出力されるまでの遅延時間が大になる。
【0059】
そこで、例えば、幾つかの単語についての最初のマッチング処理が終了した時点で、その幾つかの単語については、クロスワードモデルを適用して後段のマッチング処理を行うことを逐次的に繰り返す方法が、例えば、M. Schuster, "Evaluation of a Stack Decoder on a Japanese Newspaper Dictation Task", 音講論, 1-R-12, pp.141-142, 1997等で提案されている。
【0060】
【発明が解決しようとする課題】
以上のように、音声認識処理の高速化および高精度化のために各種の手法が提案されているが、さらなる高速化を図るためには、単語の予備選択に要する時間を短縮する必要がある。
【0061】
一方、単語の予備選択において、音声認識結果として正しい単語が選択されない場合には、音声認識精度が劣化することになる。
【0062】
本発明は、このような状況に鑑みてなされたものであり、音声認識精度を劣化させずに、予備選択に要する計算量を低減し、音声認識処理の高速化を図ることができるようにするものである。
【0063】
【課題を解決するための手段】
本発明の第1の側面の音声認識装置、プログラム、又は、記録媒体は、入力された音声に対して、その音声認識結果の尤度を表すスコアを計算し、そのスコアに基づいて、前記音声を連続音声認識する音声認識装置であって、音声認識の対象とする単語群を探索し、前記音声認識結果の候補となる単語を選択する単語選択手段と、前記単語選択手段において選択された単語を対象に、前記スコアを計算するスコア計算手段と、前記単語のスコアに基づいて、前記音声の音声認識結果を確定する確定手段とを備え、前記単語選択手段は、単語群の単語の構成要素をノードとして構成されたツリー構造であって、各ノードに、そのノード以下のノードを終端とする単語の数が登録されたものにしたがって、前記ツリー構造のうちのアクティブなノードについて前記スコアを計算しながら、単語を探索し、前記ノードのスコアに基づいて、そのノードを非アクティブにし、アクティブなノードとして残ったノードの子ノードをアクティブし、アクティブなノードとして残ったノードが、単語の最後のノードである場合に、その単語を、前記音声認識結果の候補となる単語として選択し、ルートノードまでの経路に、アクティブなノードが存在しないアクティブなノードに登録されている単語の数から、探索途中の単語の数を求め、前記音声認識結果の候補となる単語として選択済みの単語の数と、探索途中の単語の数とに基づいて、前記単語の探索の中断が可能かどうかを判定し、前記音声認識結果の候補となる単語として選択済みの単語の数と、前記探索途中の単語の数との総数が所定の閾値以下である場合に、前記単語の探索の中断が可能であると判定して、前記単語の探索を中断し、それまでに選択した単語と、前記探索途中の単語とを、前記音声認識結果の候補となる単語として出力する音声認識装置、そのような音声認識装置としてコンピュータを機能させるためのプログラム、又は、そのようなプログラムが記録されている記録媒体である。
【0064】
本発明の第1の側面の音声認識方法は、入力された音声に対して、その音声認識結果の尤度を表すスコアを計算し、そのスコアに基づいて、前記音声を連続音声認識する音声認識方法であって、音声認識の対象とする単語群を探索し、前記音声認識結果の候補となる単語を選択する単語選択ステップと、前記単語選択ステップにおいて選択された単語を対象に、前記スコアを計算するスコア計算ステップと、前記単語のスコアに基づいて、前記音声の音声認識結果を確定する確定ステップとを備え、前記単語選択ステップにおいて、単語群の単語の構成要素をノードとして構成されたツリー構造であって、各ノードに、そのノード以下のノードを終端とする単語の数が登録されたものにしたがって、前記ツリー構造のうちのアクティブなノードについて前記スコアを計算しながら、単語を探索し、前記ノードのスコアに基づいて、そのノードを非アクティブにし、アクティブなノードとして残ったノードの子ノードをアクティブし、アクティブなノードとして残ったノードが、単語の最後のノードである場合に、その単語を、前記音声認識結果の候補となる単語として選択し、ルートノードまでの経路に、アクティブなノードが存在しないアクティブなノードに登録されている単語の数から、探索途中の単語の数を求め、前記音声認識結果の候補となる単語として選択済みの単語の数と、探索途中の単語の数とに基づいて、前記単語の探索の中断が可能かどうかを判定し、前記音声認識結果の候補となる単語として選択済みの単語の数と、前記探索途中の単語の数との総数が所定の閾値以下である場合に、前記単語の探索の中断が可能であると判定して、前記単語の探索を中断し、それまでに選択した単語と、前記探索途中の単語とを、前記音声認識結果の候補となる単語として出力する音声認識方法である。
【0067】
本発明の第2の側面の音声認識装置、プログラム、又は、記録媒体は、入力された音声に対して、その音声認識結果の尤度を表すスコアを計算し、そのスコアに基づいて、前記音声を連続音声認識する音声認識装置であって、音声認識の対象とする単語群の単語の構成要素をノードとして構成されたツリー構造であって、前記ノードが単語の途中で打ち切られたものにしたがって、前記ツリー構造のノードについて前記スコアを計算しながら、単語を探索し、探索された単語のスコアに基づいて、前記音声認識結果の候補となる単語を選択する単語選択手段と、前記単語選択手段において選択された単語を対象に、前記スコアを計算するスコア計算手段と、前記単語のスコアに基づいて、前記音声の音声認識結果を確定する確定手段とを備える音声認識装置、そのような音声認識装置としてコンピュータを機能させるためのプログラム、又は、そのようなプログラムが記録されている記録媒体である。
【0068】
本発明の第2の側面の音声認識方法は、入力された音声に対して、その音声認識結果の尤度を表すスコアを計算し、そのスコアに基づいて、前記音声を連続音声認識する音声認識方法であって、音声認識の対象とする単語群の単語の構成要素をノードとして構成されたツリー構造であって、前記ノードが単語の途中で打ち切られたものにしたがって、前記ツリー構造のノードについて前記スコアを計算しながら、単語を探索し、探索された単語のスコアに基づいて、前記音声認識結果の候補となる単語を選択する単語選択ステップと、前記単語選択ステップにおいて選択された単語を対象に、前記スコアを計算するスコア計算ステップと、前記単語のスコアに基づいて、前記音声の音声認識結果を確定する確定ステップとを備える音声認識方法である。
【0071】
本発明の第1の側面においては、音声認識の対象とする単語群が探索され、前記音声認識結果の候補となる単語が選択される。そして、その選択された単語を対象に、前記スコアが計算され、前記単語のスコアに基づいて、前記音声の音声認識結果が確定される。前記音声認識結果の候補となる単語の選択では、単語群の単語の構成要素をノードとして構成されたツリー構造であって、各ノードに、そのノード以下のノードを終端とする単語の数が登録されたものにしたがって、前記ツリー構造のうちのアクティブなノードについて前記スコアを計算しながら、単語が探索され、前記ノードのスコアに基づいて、そのノードが非アクティブにされる。さらに、アクティブなノードとして残ったノードの子ノードがアクティブされ、アクティブなノードとして残ったノードが、単語の最後のノードである場合に、その単語が、前記音声認識結果の候補となる単語として選択される。また、ルートノードまでの経路に、アクティブなノードが存在しないアクティブなノードに登録されている単語の数から、探索途中の単語の数が求められ、前記音声認識結果の候補となる単語として選択済みの単語の数と、探索途中の単語の数とに基づいて、前記単語の探索の中断が可能かどうかが判定される。そして、前記音声認識結果の候補となる単語として選択済みの単語の数と、前記探索途中の単語の数との総数が所定の閾値以下である場合に、前記単語の探索の中断が可能であると判定されて、前記単語の探索が中断され、それまでに選択した単語と、前記探索途中の単語とが、前記音声認識結果の候補となる単語として出力される。
【0072】
本発明の第2の側面においては、音声認識の対象とする単語群の単語の構成要素をノードとして構成されたツリー構造であって、前記ノードが単語の途中で打ち切られたものにしたがって、前記ツリー構造のノードについて前記スコアを計算しながら、単語が探索される。さらに、探索された単語のスコアに基づいて、前記音声認識結果の候補となる単語が選択され、その選択された単語を対象に、前記スコアが計算される。そして、前記単語のスコアに基づいて、前記音声の音声認識結果が確定される。
【0073】
【発明の実施の形態】
図4は、本発明を適用した音声認識装置の一実施の形態の構成例を示している。なお、図中、図1における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【0074】
特徴量抽出部3が出力する、ユーザが発した音声の特徴量の系列は、フレーム単位で、制御部11に供給されるようになっており、制御部11は、特徴量抽出部3からの特徴量を、特徴量記憶部12に供給する。
【0075】
また、制御部11は、単語接続情報記憶部16に記憶された単語接続情報を参照し、認識部14を制御する。さらに、制御部11は、認識部14が、前述した図1のマッチング部4と同様のマッチング処理を行うことにより得られるマッチング処理結果としての音響スコアや言語スコア等に基づいて、単語接続情報を生成し、その単語接続情報によって、単語接続情報記憶部16の記憶内容を更新する。また、制御部11は、単語接続情報記憶部16に記憶された単語接続情報に基づいて、最終的な音声認識結果を確定して出力する。
【0076】
特徴量記憶部12は、制御部11から供給される特徴量の系列を、例えば、ユーザの音声の認識結果が得られるまで記憶する。なお、制御部11は、音声区間の開始時刻を基準(例えば0)とする、特徴抽出部3が出力する特徴量が得られた時刻(以下、適宜、抽出時刻という)を、その特徴量とともに、特徴量記憶部12に供給するようになっており、特徴量記憶部12は、特徴量を、その抽出時刻とともに記憶する。
【0077】
単語予備選択部13は、認識部14からの要求に応じ、単語接続情報記憶部16、音響モデルデータベース17A、辞書データベース18A、および文法データベース19Aを必要に応じて参照しながら、認識部14でのマッチング処理の対象とする単語、つまり、音声認識結果の候補となる単語を選択する単語予備選択処理を、特徴量記憶部12に記憶された特徴量を用いて行う。なお、単語予備選択部13は、基本的には、前述した図1のマッチング部4と同様のマッチング処理を行うことで、音響スコアや言語スコアを求め、それらのスコアに基づいて、認識部14でのマッチング処理の対象とする単語を選択(予備選択)する。
【0078】
認識部14は、制御部11からの制御に基づき、単語接続情報記憶部16、音響モデルデータベース17B、辞書データベース18B、および文法データベース19Bを必要に応じて参照しながら、単語予備選択部13からの単語予備選択処理の結果得られる単語を対象としたマッチング処理を、特徴量記憶部12に記憶された特徴量を用いて行い、そのマッチング処理の結果を、制御部11に供給する。
【0079】
単語接続情報記憶部16は、制御部11から供給される単語接続情報を、ユーザの音声の認識結果が得られるまで記憶する。
【0080】
ここで、単語接続情報は、最終的な音声認識結果の候補となる単語列を構成する単語どうしの接続(連鎖または連接)関係を表すもので、各単語の音響スコアおよび言語スコア、並びに各単語に対応する発話の開始時刻および終了時刻を含んでいる。
【0081】
即ち、図5は、単語接続情報記憶部16に記憶される単語接続情報を、グラフ構造を用いて示している。
【0082】
図5の実施の形態において、単語接続情報としてのグラフ構造は、単語を表すアーク(図5において、○印どうしを結ぶ線分で示す部分)と、単語どうしの境界を表すノード(図5において○印で示す部分)とから構成されている。
【0083】
ノードは、時刻情報を有しており、この時刻情報は、そのノードに対応する特徴量の抽出時刻を表す。上述したように、抽出時刻は、音声区間の開始時刻を0とする、特徴抽出部3が出力する特徴量が得られた時刻であるから、図5において、音声区間の開始、即ち、最初の単語の先頭に対応するノードNode1が有する時刻情報は0となる。ノードは、アークの始端および終端となるが、始端のノード(始端ノード)、または終端のノード(終端ノード)が有する時刻情報は、それぞれ、そのノードに対応する単語の発話の開始時刻、または終了時刻となる。
【0084】
なお、図5では、左から右方向が、時間の経過を表しており、従って、あるアークの左右にあるノードのうち、左側のノードが始端ノードとなり、右側のノードが終端ノードとなる。
【0085】
アークは、そのアークに対応する単語の音響スコアおよび言語スコアを有しており、このアークが、終端ノードとなっているノードを始端ノードとして、順次接続されていくことにより、音声認識結果の候補となる単語の系列が構成されていく。
【0086】
即ち、制御部11においては、まず最初に、音声区間の開始を表すノードNode1に対して、音声認識結果として確からしい単語に対応するアークが接続される。図5の実施の形態では、「今日」に対応するアークArc1、「いい」に対応するアークArc6、および「天気」に対応するArc11が接続されている。なお、音声認識結果として確からしい単語かどうかは、認識部14において求められる音響スコアおよび言語スコアに基づいて決定される。
【0087】
そして、以下、同様にして、「今日」に対応するアークArc1の終端である終端ノードNode2、「いい」に対応するアークArc6の終端である終端ノードNode7、「天気」に対応するArc11の終端である終端ノードNode12それぞれに対して、同様に、確からしい単語に対応するアークが接続されていく。
【0088】
以上のようにしてアークが接続されていくことで、音声区間の開始を始点として、左から右方向に、アークとノードで構成される1以上のパスが構成されて行くが、例えば、そのパスのすべてが、音声区間の最後(図5の実施の形態では、時刻T)に到達すると、制御部11において、音声区間の開始から最後までに形成された各パスについて、そのパスを構成するアークが有している音響スコアおよび言語スコアが累積され、最終スコアが求められる。そして、例えば、その最終スコアが最も高いパスを構成するアークに対応する単語列が、音声認識結果として確定されて出力される。
【0089】
具体的には、例えば、図5において、ノードNode1から、「今日」に対応するアークArc1、ノードNode2、「は」に対応するアークArc2、ノードNode3、「いい」に対応するアークArc3、ノードNode4、「天気」に対応するアークArc4、ノードNode5、「ですね」に対応するアークArc5、およびノードNode6で構成されるパスについて、最も高い最終スコアが得られた場合には、単語列「今日」、「は」、「いい」、「天気」、「ですね」が、音声認識結果として出力されることになる。
【0090】
なお、上述の場合には、音声区間内にあるノードについて、必ずアークを接続して、音声区間の開始から最後にまで延びるパスを構成するようにしたが、このようなパスを構成する過程において、それまでに構成されたパスについてのスコアから、音声認識結果として不適当であることが明らかであるパスに関しては、その時点で、パスの構成を打ち切る(その後に、アークを接続しない)ようにすることが可能である。
【0091】
また、上述のようなパスの構成ルールに従えば、1つのアークの終端が、次に接続される1以上のアークの始端ノードなり、基本的には、枝葉が拡がるように、パスが構成されて行くが、例外的に、1つのアークの終端が、他のアークの終端に一致する場合、つまり、あるアークの終端ノードと、他のアークの終端ノードとが同一のノードに共通化される場合がある。
【0092】
即ち、文法規則としてバイグラムを用いた場合には、別のノードから延びる2つのアークが、同一の単語に対応するものであり、さらに、その単語の発話の終了時刻も同一であるときには、その2つのアークの終端は一致する。
【0093】
図5において、ノードNode7を始端として延びるアークArc7、およびノードNode13を始端として延びるアークArc13は、いずれも「天気」に対応するものであり、その発話の終了時刻も同一であるため、その終端ノードは、同一のノードNode8に共通化されている。
【0094】
なお、ノードの共通化は行わないようにすることも可能であるが、メモリ容量の効率化の観点からは、行うのが好ましい。
【0095】
図4に戻り、音響モデルデータベース17Aおよび17Bは、基本的には、図1の音響モデルデータベース5において説明したような音響モデルを記憶している。
【0096】
但し、音響モデルデータベース17Bは、音響モデルデータベース17Aよりも精度の高い処理が可能な高精度の音響モデルを記憶している。即ち、音響モデルデータベース17Aにおいて、各音素や音節について、例えば、前後のコンテキストに依存しない1パターンの音響モデルだけが記憶されているとすると、音響モデルデータベース17Bには、各音素や音節について、例えば、前後のコンテキストに依存しない音響モデルの他、単語間にまたがるコンテキストに依存する音響モデル、つまり、クロスワードモデルも記憶されている。なお、音響モデルデータベース17Bには、各音素や音節について、例えば、前後のコンテキストに依存しない音響モデルおよびクロスワードモデルの他、さらに、単語内のコンテキストに依存する音響モデル等も記憶させることが可能である。
【0097】
辞書データベース18Aおよび18Bは、基本的には、図1の辞書データベース6において説明したような単語辞書を記憶している。
【0098】
即ち、辞書データベース18Aおよび18Bの単語辞書には、同一セットの単語が登録されている。但し、辞書データベース18Bの単語辞書は、辞書データベース18Aの単語辞書よりも精度の高い処理が可能な高精度の音韻情報を記憶している。即ち、辞書データベース18Aの単語辞書には、例えば、各単語に対して、1通りの音韻情報(読み)だけ登録されているとすると、辞書データベース18Bの単語辞書には、例えば、各単語に対して、複数通りの音韻情報が登録されている。なお、辞書データベース18Bの単語辞書には、その他、例えば、各単語に対して、さらに多くの通りの音韻情報を登録することが可能である。
【0099】
具体的には、例えば、単語「お早う」に対して、辞書データベース18Aの単語辞書には、1通りの音韻情報「おはよう」だけを、辞書データベース18Bの単語辞書には、「おはよう」の他、「おはよー」や「おはよ」を、それぞれ音韻情報として登録することが可能である。
【0100】
文法データベース19Aおよび19Bは、基本的には、図1の文法データベース7において説明したような文法規則を記憶している。
【0101】
但し、文法データベース19Bは、文法データベース19Aよりも精度の高い処理が可能な高精度の文法規則を記憶している。即ち、文法データベース19Aが、例えば、ユニグラム(単語の生起確率)に基づく文法規則を記憶しているとすると、文法データベース19Bは、例えば、バイグラム(直前の単語との関係を考慮した単語の生起確率)を記憶している。なお、文法データベース19Bには、その他、例えば、トライグラム(直前の単語およびそのさらに1つ前の単語との関係を考慮した単語の生起確率)や文脈自由文法等に基づく文法規則等を記憶させることも可能である。
【0102】
以上のように、音響モデルデータベース17Aには、各音素や音節について、1パターンの音響モデルが、音響モデルデータベース17Bには、各音素や音節について、複数パターンの音響モデルが、それぞれ記憶されている。また、辞書データベース18Aには、各単語について、1通りの音韻情報が、辞書データベース18Bには、各単語について、複数通りの音韻情報が、それぞれ記憶されている。そして、文法データベース19Aには、簡易な文法規則が、文法データベース19Bには、精度の高い文法規則が、それぞれ記憶されている。
【0103】
これにより、音響モデルデータベース17A、辞書データベース18A、および文法データベース19Aを参照する単語予備選択部13では、それほど精度は高くないが、多くの単語を対象として、迅速に、音響スコアおよび言語スコアを求めることができるようになっている。また、音響モデルデータベース17B、辞書データベース18B、および文法データベース19Bを参照する認識部14では、ある程度の数の単語を対象として、迅速に、精度の高い音響スコアおよび言語スコアを求めることができるようになっている。
【0104】
なお、ここでは、音響モデルデータベース17Aと17Bそれぞれに記憶させる音響モデルの精度について優劣を設けるようにしたが、音響モデルデータベース17Aと17Bには、いずれにも、同一の音響モデルを記憶させることができ、この場合、音響モデルデータベース17Aと17Bは、1つの音響モデルデータベースに共通化することができる。同様に、辞書データベース18Aと18Bの単語辞書それぞれの記憶内容や、文法データベース19Aと19Bそれぞれの文法規則も、同一にすることができる。
【0105】
次に、図6のフローチャートを参照して、図4の音声認識装置による音声認識処理について説明する。
【0106】
ユーザが発話を行うと、その発話としての音声は、マイク1およびAD変換部2を介することにより、ディジタルの音声データとされ、特徴抽出部3に供給される。特徴抽出部3は、そこに供給される音声データから、音声の特徴量を、フレームごとに順次抽出し、制御部11に供給する。
【0107】
制御部11は、何らかの手法で音声区間を認識するようになっており、音声区間においては、特徴抽出部3から供給される特徴量の系列を、各特徴量の抽出時刻と対応付けて、特徴量記憶部12に供給して記憶させる。
【0108】
さらに、制御部11は、音声区間の開始後、ステップS1において、音声区間の開始を表すノード(以下、適宜、初期ノードという)を生成し、単語接続情報記憶部16に供給して記憶させる。即ち、制御部11は、ステップS1において、図5におけるノードNode1を、単語接続情報記憶部16に記憶させる。
【0109】
そして、ステップS2に進み、制御部11は、単語接続情報記憶部16の単語接続情報を参照することで、途中ノードが存在するかどうかを判定する。
【0110】
即ち、上述したように、図5に示した単語接続情報においては、終端ノードに、アークが接続されていくことにより、音声区間の開始から最後にまで延びるパスが形成されて行くが、ステップS2では、終端ノードのうち、まだアークが接続されておらず、かつ、音声区間の最後にまで到達していないものが、途中ノード(例えば、図5におけるノードNode8や、Node10,Node11)として検索され、そのような途中ノードが存在するかどうかが判定される。
【0111】
なお、上述したように、音声区間は何らかの手法で認識され、さらに、終端ノードに対応する時刻は、その終端ノードが有する時刻情報を参照することで認識することができるから、アークが接続されていない終端ノードが、音声区間の最後に到達していない途中ノードであるかどうかは、音声区間の最後の時刻と、終端ノードが有する時刻情報とを比較することで判定することができる。
【0112】
ステップS2において、途中ノードが存在すると判定された場合、ステップS3に進み、制御部11は、情報接続情報の中に存在する途中ノードのうちの1つを、それに接続するアークとしての単語を決定するノード(以下、適宜、注目ノードという)として選択する。
【0113】
即ち、制御部11は、情報接続情報の中に1つの途中ノードしか存在しない場合には、その途中ノードを、注目ノードとして選択する。また、制御部11は、情報接続情報の中に複数の途中ノードが存在する場合には、その複数の途中ノードのうちの1つを注目ノードとして選択する。具体的には、制御部11は、例えば、複数の途中ノードそれぞれが有する時刻情報を参照し、その時刻情報が表す時刻が最も古いもの(音声区間の開始側のもの)、または最も新しいもの(音声区間の終わり側のもの)を、注目ノードとして選択する。あるいは、また、制御部11は、例えば、初期ノードから、複数の途中ノードそれぞれに至るまでのパスを構成するアークが有する音響スコアおよび言語スコアを累積し、その累積値(以下、適宜、部分累積スコアという)が最も大きくなるパス、または小さくなるパスの終端になっている途中ノードを、注目ノードとして選択する。
【0114】
その後、制御部11は、注目ノードが有する時刻情報を開始時刻としてマッチング処理を行う旨の指令(以下、適宜、マッチング処理指令という)を、認識部14に出力する。
【0115】
認識部14は、制御部11からマッチング処理指令を受信すると、注目ノードと、それが有する時刻情報とを、単語予備選択部13に供給し、単語予備選択処理を要求する。
【0116】
単語予備選択部13は、認識部14から、単語予備選択処理の要求を受信すると、ステップS4において、注目ノードに接続されるアークとなる単語の候補を選択する単語予備選択処理を、辞書データベース18Aの単語辞書に登録された単語を対象として行う。
【0117】
即ち、単語予備選択部13は、言語スコアおよび音響スコアを計算するのに用いる特徴量の系列の開始時刻を、注目ノードが有する時刻情報から認識し、その開始時刻以降の、必要な特徴量の系列を特徴量記憶部12から読み出す。さらに、単語予備選択部13は、辞書データベース18Aの単語辞書に登録された各単語の単語モデルを、音響モデルデータベース17Aに記憶された音響モデルを接続することで構成する。そして、単語予備選択部13は、各単語モデルに対応する単語について、特徴量記憶部12から読み出した特徴量の系列を用いて、音響スコアを計算する。
【0118】
ここで、辞書データベース18Aの単語辞書には、例えば、図7(A)に示すように、各単語について、ユニークなIDとしての単語ID、単語の表記、および単語の発音(音韻情報)をセットにしたものが登録されている。
【0119】
単語予備選択部13は、単語辞書を参照することにより、例えば、図7(B)に示すような、各単語の構成要素としての音素等をノードとして、各単語における同一の音素を共通のノードとしたツリー構造のネットワーク(以下、適宜、単語ネットワークという)を構成し、その単語ネットワークにしたがって、そのノードを探索することにより、各単語について、音響スコアを計算する。なお、単語ネットワークは、予め構成しておくことが可能である。
【0120】
ここで、単語ネットワークにおけるノードを、単語接続情報におけるノードと区別するために、以下、適宜、音素ノードという。
【0121】
なお、図7(B)の実施の形態における単語ネットワークは、左側が上位階層で、右側にいくほど下位階層になるようになっており、最上位階層の音素ノードN0は、音素が割り当てられないルートノード(ROOT)となっている。
【0122】
また、図7(B)の単語ネットワークは、図7(A)に示した単語辞書に登録された6単語「秋」、「秋田」、「空き地」、「明かり」、「明るい」、および「言う」について構成されたものであり、ルートノードN0の2つの子音素ノード(ある音素ノードに直接接続されている下位階層の音素ノード)のうちの1つである音素ノードN1には、単語「秋」、「秋田」、「空き地」、「明かり」、「明るい」に共通する先頭の音素"a"が割り当てられている。
【0123】
さらに、音素ノードN1の子音素ノードN2には、単語「秋」、「秋田」、「空き地」、「明かり」、「明るい」に共通する先頭から2番目の音素"k"が割り当てられてられており、音素ノードN2の2つの子音素ノードのうちの1つである音素ノードN3には、単語「秋」、「秋田」、「空き地」に共通する先頭から3番目の音素"i"が割り当てられている。
【0124】
また、音素ノードN3の子音素ノードである音素ノードN4には、単語「秋田」、「空き地」に共通する先頭から4番目の音素"t"が割り当てられており、音素ノードN4の2つの子音素ノードのうちの1つである音素ノードN5には、単語「秋田」の最後の音素"a"が割り当てられている。
【0125】
さらに、音素ノードN4の2つの子音素ノードのうちの他の1つである音素ノードN6には、単語「空き地」の最後の音素"i"が割り当てられており、音素ノードN2の2つの子音素ノードの他の1つである音素ノードN7には、単語「明かり」、「明るい」に共通する先頭から3番目の音素"a"が割り当てられている。
【0126】
また、音素ノードN7の子音素ノードである音素ノードN8には、単語「明かり」、「明るい」に共通する先頭から4番目の音素"r"が割り当てられており、音素ノードN8の2つの子音素ノードのうちの1つである音素ノードN9には、単語「明かり」の最後の音素"i"が割り当てられている。
【0127】
さらに、音素ノードN8の2つの子音素ノードのうちの他の1つである音素ノードN10には、単語「明るい」の先頭から5番目の音素"u"が割り当てられており、音素ノードN10の子音素ノードである音素ノードN11には、単語「明るい」の最後の音素"i"が割り当てられている。
【0128】
また、ルートノードN0の2つの子音素ノードのうちの他の1つである音素ノードN12には、単語「言う」の先頭の音素"i"が割り当てられており、音素ノードN12の子音素ノードである音素ノードN13には、単語「言う」の先頭から2番目の音素"u"が割り当てられている。
【0129】
さらに、図7(B)の単語ネットワークにおいては、単語の最後の音素が割り当てられている音素ノードに、その単語の単語IDが登録されている。即ち、図7(B)の実施の形態においては、単語「秋」の最後の音素"i"が割り当てられている音素ノードN3には、その単語「秋」の単語IDである#1が、単語「秋田」の最後の音素"a"が割り当てられている音素ノードN5には、その単語「秋田」の単語IDである#2が、単語「空き地」の最後の音素"i"が割り当てられている音素ノードN6には、その単語「空き地」の単語IDである#3が、単語「明かり」の最後の音素"i"が割り当てられている音素ノードN9には、その単語「明かり」の単語IDである#4が、単語「明るい」の最後の音素"i"が割り当てられている音素ノードN11には、その単語「明るい」の単語IDである#5が、単語「言う」の最後の音素"u"が割り当てられている音素ノードN13には、その単語「言う」の単語IDである#6が、それぞれ登録されている。
【0130】
また、図7(B)の単語ネットワークにおいては、各音素ノードに、その音素ノード以下の音素ノード(その音素ノードの階層以下の階層の音素ノード)を終端とする単語の数(以下、適宜、残り単語数という)も登録されている。図7(B)では、音素ノードを表す四角形を区切る点線の下側に記述してある数字が、残り単語数を表している。
【0131】
例えば、音素ノードN2に注目した場合、その音素ノード以下の音素ノードを終端とする単語は、単語IDが#1乃至#5の5つの単語があるから、残り単語数は5になっている。また、例えば、音素ノードN3に注目した場合、その音素ノード以下の音素ノードを終端とする単語は、単語IDが#1乃至#3の3つの単語があるから、残り単語数は3になっている。他の音素ノードについても、同様にして、残り単語数が登録されている。
【0132】
単語予備選択部13は、以上のような単語ネットワークにしたがって、音響モデルデータベース17Aに記憶された音響モデルを接続し、注目している音素ノード(以下、適宜、注目音素ノードという)について、例えば、いわゆるビタビサーチの手法にしたがって、音響スコアを計算する。
【0133】
即ち、単語予備選択部13は、注目している時刻(以下、適宜、注目時刻という)tの特徴量に対して、注目音素ノードの親音素ノード(ある音素ノードに直接接続している上位階層の音素ノード)となっている音素ノードから注目音素ノードへ遷移する尤度を表すスコアを、音響モデルに基づいて求め、さらに、そのスコアと、注目音素ノードの親音素ノードの、注目時刻tの直前の時刻t−1の音響スコアとを加算したスコア(以下、適宜、親遷移スコアという)を求める。
【0134】
また、単語予備選択部13は、注目音素ノードから注目音素ノードへ遷移する尤度を表すスコアを、音響モデルに基づいて求め、さらに、そのスコアと、注目音素ノードの、注目時刻tの直前の時刻t−1の音響スコアとを加算したスコア(以下、適宜、自己遷移スコアという)を求める。
【0135】
その後、単語予備選択部13は、親遷移スコアと自己遷移スコアとを比較し、大きい方のスコアを求める。さらに、単語予備選択部13は、注目音素ノードから、注目時刻の特徴量が観測される尤度を表すスコアを、音響モデルに基づいて求め、そのスコアと、親遷移スコアまたは自己遷移スコアのうちの大きい方のスコアとを加算する。そして、単語予備選択部13は、その加算の結果得られるスコアを、注目音素ノードの、注目時刻tの音響スコアとする。
【0136】
単語選択部13は、上述のようにして、単語ネットワークの各音素ノードを注目音素ノードとして、音響スコアを求めていく他、文法データベース19Aを参照することにより、各単語について、言語スコアを計算する。
【0137】
そして、単語予備選択部13は、各単語について音響スコアおよび言語スコア(以下、適宜、両方含めて、単語スコアという)を求めると、その単語スコアに基づき、認識部14でのマッチング処理の対象とする1以上の単語を選択して、認識部14に供給する。
【0138】
なお、単語予備選択部13では、単語接続情報記憶部16を参照することにより、注目ノードを終端とする単語を考慮して、即ち、クロスワードモデルに基づいて、音響スコアを計算するようにすることが可能である。
【0139】
また、単語予備選択部13では、注目ノードを始点として固定し、終点フリーで、各単語についての音響スコアが計算される。さらに、単語予備選択部13では、特徴量記憶部12に記憶された特徴量の系列に沿って、即ち、フレーム同期で、音響スコアが計算される。
【0140】
さらに、図7に示した単語ネットワークの各音素ノードには、ツリー構造を構成するための、例えば、親音素ノードへのポインタや、音響スコアおよび言語スコアも登録可能になっている。
【0141】
認識部14は、単語予備選択部13から、マッチング処理に用いる1以上の単語(以下、適宜、候補単語という)を受信すると、ステップS5において、各候補単語を対象として、マッチング処理を行う。
【0142】
即ち、認識部14は、言語スコアおよび音響スコアを計算するのに用いる特徴量の系列の開始時刻を、注目ノードが有する時刻情報から認識し、その開始時刻以降の、必要な特徴量の系列を特徴量記憶部12から読み出す。さらに、認識部14は、辞書データベース18Bを参照することで、候補単語の音韻情報を認識し、その音韻情報に対応する音響モデルを、音響モデルデータベース17Bから読み出して接続することで、単語モデルを構成する。
【0143】
そして、認識部14は、上述のようにして構成した単語モデルに基づき、特徴量記憶部12から読み出した特徴量系列を用いて、各候補単語の音響スコアを計算する。
【0144】
また、認識部14は、文法データベース19Bを参照することで、候補単語の言語スコアを計算する。
【0145】
認識部14は、以上のようにして、単語予備選択部13からの1以上の候補単語すべてについて、その音響スコアおよび言語スコアを求め、ステップS6に進む。ステップS6では、1以上の候補単語それぞれについて、その音響スコアおよび言語スコア(単語スコア)に基づいて、単語接続情報記憶部16に記憶された単語接続情報が更新される。
【0146】
即ち、ステップS6では、認識部14は、各候補単語についての単語スコアを所定の閾値と比較すること等によって、注目ノードに接続するアークとしての単語を、1以上の候補単語の中から絞り込む。そして、認識部14は、その絞り込みの結果残った候補単語を、その音響スコア、言語スコア、およびその候補単語の終了時刻とともに、制御部11に供給する。
【0147】
なお、候補単語の終了時刻は、音響スコアを計算するのに用いた特徴量の抽出時刻から認識される。また、ある単語について、その終了時刻としての蓋然性の高い抽出時刻が複数得られた場合には、その単語については、各終了時刻と、対応する音響スコアおよび言語スコアとのセットが、制御部11に供給される。
【0148】
制御部11は、上述のようにして認識部14から供給される、1以上の候補単語の音響スコア、言語スコア、および終了時刻を受信すると、認識部14からの各候補単語について、単語接続情報記憶部16に記憶された単語接続情報(図5)における注目ノードを始端ノードとして、アークを延ばし、そのアークを、終了時刻の位置に対応する終端ノードに接続する。さらに、制御部11は、各アークに対して、対応する単語、並びにその音響スコアおよび言語スコアを付与するとともに、各アークの終端ノードに対して、対応する終了時刻を時刻情報として与える。そして、ステップS2に戻り、以下、同様の処理が繰り返される。
【0149】
なお、制御部11は、単語接続情報を更新する際に、可能であれば、上述したような終端ノードの共通化を行う。
【0150】
一方、ステップS2において、途中ノードが存在しないと判定された場合、ステップS7に進み、制御部11は、単語接続情報を参照することで、その単語接続情報として構成された各パスについて、単語スコアを累積することで、最終スコアを求め、例えば、その最終スコアが最も大きいパスを構成するアークに対応する単語列を、ユーザの発話に対する音声認識結果として出力して、処理を終了する。
【0151】
次に、図8のフローチャートを参照して、単語予備選択部13による、図6のステップS4における単語予備選択処理について、さらに説明する。
【0152】
単語予備選択部13は、まず最初に、ステップS11において、単語予備選択処理のための初期化を行う。即ち、単語予備選択部13は、単語ネットワーク(図7(B))の各音素ノードのスコア(音響スコア、言語スコア)を初期化する。さらに、単語予備選択部13は、ルートノード以外のすべての音素ノードを非アクティブにするとともに、ルートノードをアクティブにする。
【0153】
ここで、本実施の形態では、音素ノードについて、アクティブな状態と、非アクティブな状態とが定義されている。アクティブな音素ノードは、単語予備選択部13におけるスコア計算の対象とされ、非アクティブな音素ノードは、単語予備選択部13におけるスコア計算の対象化から除外される。
【0154】
ステップS11の処理後は、ステップS12に進み、単語予備選択部13は、認識部14からの注目ノードが有する時刻情報が表す時刻以降の時刻のうち、まだ、注目時刻としていない、最も先行する時刻を注目時刻とし、その注目時刻の特徴量を、注目特徴量として、特徴量記憶部12から読み出す。
【0155】
さらに、単語予備選択部13は、ステップS13に進み、単語ネットワークにしたがって、各音素ノードについて、注目特徴量に対するスコアを計算しながら、単語を探索し、探索された単語のスコアに基づいて、単語候補とする単語を選択するマッチング処理(詳細は、図9を参照して後述する)を行い、ステップS14に進む。ステップS14では、単語予備選択部13は、単語予備選択処理が中断可能かどうかを調査する調査処理(詳細は、図14を参照して後述する)を行い、ステップS15に進む。ステップS15では、単語予備選択部13は、ステップS14における調査処理の結果に基づいて、単語予備選択処理が中断可能かどうかを判定する。
【0156】
ステップS15において、単語予備選択処理が中断可能でないと判定された場合、ステップS16に進み、単語予備選択部13は、特徴量記憶部12に記憶されている、認識部14からの注目ノードが有する時刻情報が表す時刻以降の時刻の特徴量すべてを、注目特徴量として、ステップS13のマッチング処理を行ったかどうかを判定する。
【0157】
ステップS16において、注目ノードが有する時刻情報が表す時刻以降の時刻の特徴量すべてを、注目特徴量としたマッチング処理を、まだ行っていないと判定された場合、ステップS12に戻り、単語予備選択部13は、まだ、注目時刻としていない、最も先行する時刻を注目時刻とし、その注目時刻の特徴量を、注目特徴量として、以下、同様の処理を繰り返す。
【0158】
また、ステップS16において、注目ノードが有する時刻情報が表す時刻以降の時刻の特徴量すべてを、注目特徴量としたマッチング処理を行ったと判定された場合、ステップS18に進み、単語予備選択部13は、いままでのステップS13のマッチング処理で選択された単語を、単語予備選択結果(候補単語)として、認識部14に出力してリターンする。
【0159】
一方、ステップS15において、単語予備選択処理が中断可能であると判定された場合、ステップS17に進み、いままでのステップS13のマッチング処理で選択された単語に、そのマッチング処理で探索途中の単語を加えたものを、単語予備選択結果(候補単語)として、認識部14に出力してリターンする。
【0160】
次に、図9のフローチャートを参照して、単語予備選択部13による、図8のステップS13のマッチング処理について説明する。
【0161】
単語予備選択部13は、まず最初に、ステップS21において、注目特徴量に対する処理のための初期化(例えば、単語予備選択部13が内蔵する、図示せぬメモリの初期化等)を行い、ステップS22に進む。
【0162】
ステップS22では、単語予備選択部13は、単語ネットワークにおけるアクティブな音素ノード(以下、適宜、アクティブノードという)のすべてのスコアを、注目特徴量を用いて計算し、その更新を行ったかどうかを判定する。
【0163】
ステップS22において、単語ネットワークにおけるアクティブノードのすべてのスコアを、まだ更新していないと判定された場合、ステップS23に進み、単語予備選択部13は、アクティブノードのうちの、まだスコアを更新していないもののうちの1つを選択し、ステップS24に進む。ステップS24では、単語予備選択部13は、ステップS23で選択したアクティブノード(以下、適宜、注目アクティブノードという)のスコアを、注目特徴量を用いて、上述したように計算し、その更新を行って、ステップS25に進む。
【0164】
ステップS25では、単語予備選択部13は、注目アクティブノードの更新後のスコアが、所定の閾値以下(または未満)であるかどうかを判定する。ステップS25において、注目アクティブノードの更新後のスコアが所定の閾値以下であると判定された場合、ステップS26に進み、単語予備選択部13は、注目アクティブノードを、非アクティブの状態に変更し、ステップS22に戻る。
【0165】
ここで、ステップS26において、非アクティブな状態にされた音素ノード(以下、適宜、非アクティブノードという)については、その後、アクティブ状態にされるまで、単語選択部13におけるスコア計算の対象とはされない。従って、スコアの低くなった音素ノードは、非アクティブ状態とされることによって、枝刈りされることになる。
【0166】
一方、ステップS25において、注目アクティブノードの更新後のスコアが所定の閾値以下でないと判定された場合、ステップS26をスキップして、ステップS22に戻る。
【0167】
そして、ステップS22において、単語ネットワークにおけるアクティブノードのすべてのスコアを更新したと判定された場合、ステップS27に進み、単語予備選択部13は、スコアが更新されたアクティブノード(以下、適宜、更新済みアクティブノードという)のすべてを、注目更新済みアクティブノードとして選択して処理を行ったかどうかを判定する。
【0168】
ステップS27において、更新済みアクティブノードのすべてを、まだ、注目更新済みアクティブノードとしていないと判定された場合、ステップS28に進み、単語予備選択部13は、まだ注目更新済みアクティブノードとされていない更新済みアクティブノードのうちの1つを、注目更新済みアクティブノードとして選択し、ステップS29に進む。
【0169】
ステップS29では、単語予備選択部13は、注目更新済みアクティブノードが子音素ノードを有するかどうかを判定し、有すると判定した場合、ステップ30に進む。ステップS30では、単語予備選択部13は、注目更新済みアクティブノードが有する子音素ノードすべてをアクティブ状態に変更し、ステップS31に進む。
【0170】
また、ステップS29において、注目更新済みアクティブノードが子音素ノードを有しないと判定された場合、ステップS30をスキップして、ステップS31に進み、単語予備選択部13は、注目更新済みアクティブノードが、単語の終端、即ち、単語の最後の音素に対応するものであるかどうかを判定する。
【0171】
ここで、図7(B)で説明したように、単語ネットワークのノードにおいて、単語の最後の音素に対応するノードには、単語IDが登録されている。従って、ステップS31の判定処理は、注目更新済みアクティブノードに、単語IDが登録されているかどうかに基づいて行われる。
【0172】
ステップS31において、注目更新済みアクティブノードが、単語の最後の音素に対応するものであると判定された場合、ステップS32に進み、単語予備選択部13は、注目更新済みアクティブノードに登録されている単語IDに対応する単語を、候補単語として選択し、ステップS27に戻る。
【0173】
また、ステップS31において、注目更新済みアクティブノードが、単語の最後の音素に対応するものでないと判定された場合、ステップS32をスキップして、ステップS27に戻る。
【0174】
そして、ステップS27において、更新済みアクティブノードのすべてを、注目更新済みアクティブノードとして処理したと判定された場合、ステップS33に進み、単語予備選択部13は、ルートノードを非アクティブ状態にして、リターンする。
【0175】
なお、図9の実施の形態において、非アクティブの音素ノードがアクティブにされるケースは、ステップS30において、更新済みアクティブノードが有する子音素ノードがアクティブにされる場合だけである。その結果、子音素ノードとならない(親音素ノードを有しない)ルートノードは、一度、非アクティブ状態になると、その後は、図8のステップS11における初期化でアクティブにされない限り、アクティブな状態になることはない。従って、図8のステップS13乃至S16の処理が繰り返し行われている間は、最初のステップS13のマッチング処理としての図9の処理におけるステップS33において、ルートノードを非アクティブにした後は、次回から、ステップS33の処理を行う必要はない。
【0176】
以上のようなマッチング処理によれば、例えば、図10乃至図13に示すように、アクティブな音素ノードが変化していく。
【0177】
即ち、例えば、いま、図10乃至図13に示すような、ルートノードを頂点とする4階層の単語ネットワークを考える。なお、図10乃至図13では、ノードを、○印で示しており、○印の中のn(i,j)は、第i+1階層のj+1番目の音素ノードを表す。但し、ここでは、最上位階層を第1階層とする。
【0178】
まず、図8のステップS11において初期化が行われることにより、ルートノードn(0,0)が、図10(A)に示すようにアクティブにされる。ここで、図10乃至図13では、アクティブな音素ノードを、斜線を付して示してある。従って、斜線を付していない○印は、非アクティブな音素ノードを表す。
【0179】
そして、例えば、注目時刻t=0では、図9のステップS24において、図10(B)に示すように、アクティブノードであるルートノードn(0,0)の注目時刻(t=0)におけるスコアsn(0,0),0が計算、更新される。なお、スコアsn(i,j),tは、第i+1階層のj+1番目の音素ノードの時刻tにおけるスコアを表す。
【0180】
さらに、更新済みアクティブノードであるルートノードn(0,0)の子音素ノードn(1,0)およびn(1,1)が、図9のステップS30において、図10(C)に示すようにアクティブにされる。その後、図10(D)に示すように、図9のステップS33において、ルートノードn(0,0)が非アクティブにされる。
【0181】
次に、注目時刻t=1となり、図11(A)に示すように、アクティブノードn(1,0)とn(1,1)の注目時刻(t=1)におけるスコアsn(1,0),1とns(1,1),1が、それぞれ計算、更新される(ステップS24)。いま、例えば、スコアsn(1,0),1とsn(1,1),1が、いずれも閾値以下でないとすると、アクティブノードn(1,0)とn(1,1)は、図11(B)に示すように、いずれも非アクティブにされず、アクティブ状態のままとされる(ステップS25,S26)。
【0182】
そして、図11(C)に示すように、更新済みアクティブノードとなった音素ノードn(1,0)の子音素ノードである音素ノードn(2,0)およびn(2,1)がアクティブノードとされるとともに、やはり、更新済みアクティブノードとなった音素ノードn(1,1)の子音素ノードである音素ノードn(2,2)およびn(2,3)がアクティブノードとされる(ステップS30)。
【0183】
次に、注目時刻t=2となり、図12(A)に示すように、アクティブノードn(1,0),n(1,1),n(2,0),n(2,1),n(2,2),n(2,3)の注目時刻(t=2)におけるスコアsn(1,0),2,sn(1,1),2,sn(2,0),2,sn(2,1),2,sn(2,2),2,sn(2,3),2が、それぞれ計算、更新される(ステップS24)。いま、例えば、これらのスコアのうち、sn(1,0),2,sn(2,0),2,sn(2,3),2が、閾値以下でないとすると、それ以外のスコアの音素ノードn(1,1),n(2,1),n(2,2)は、図12(B)に示すように、いずれも非アクティブ状態にされる(ステップS25,S26)。
【0184】
そして、図12(C)に示すように、更新済みアクティブノードとなった音素ノードn(1,0)の子音素ノードである音素ノードn(2,1)がアクティブノードとされる(ステップS30)。なお、更新済みアクティブノードノードn(1,0)の子音素ノードとしては、音素ノードn(2,0)も存在するが、この音素ノードn(2,0)は、既にアクティブ状態になっているので(アクティブにする処理を行ってもよいが)、アクティブ状態にする必要はない。
【0185】
さらに、更新済みアクティブノードである音素ノードn(2,0)の子音素ノードである音素ノードn(3,0)およびn(3,1)がアクティブノードとされるとともに、更新済みアクティブノードである音素ノードn(2,3)の子音素ノードである音素ノードn(3,6)およびn(3,7)がアクティブノードとされる(ステップS30)。
【0186】
次に、注目時刻t=3となると、図13(A)に示すように、アクティブノードn(1,0),n(2,0),n(2,1),n(2,3),n(3,0),n(3,1),n(3,6),n(3,7)の注目時刻(t=2)におけるスコアが、それぞれ計算、更新される(ステップS24)。いま、例えば、これらのスコアのうち、アクティブノードn(1,0),n(3,0),n(3,7)のスコアが、閾値以下でないとすると、それ以外のスコアの音素ノードn(2,0),n(3,0),n(3,7)は、図13(B)に示すように、いずれも非アクティブ状態にされる(ステップS25,S26)。
【0187】
そして、図13(C)に示すように、更新済みアクティブノードとなった音素ノードn(1,0),n(3,0),n(3,7)のうち、子音素ノードを有するものの、その子音素ノードがアクティブノードとされる(ステップS30)。
【0188】
以上のように、単語予備選択部13では、アクティブな音素ノードについてのみ、そのスコアの計算、更新が行われていく。
【0189】
ところで、単語予備選択部13による単語予備選択処理は、認識部14におけるマッチング処理の計算量の低減等を図るべく、そのマッチング処理の対象とする単語の数を制限するために行うものであるから、認識部14から供給される注目ノードが有する時刻情報が表す時刻以降の時刻の特徴量すべてについて行う必要は、必ずしもない。
【0190】
即ち、単語予備選択部13による単語予備選択処理については、認識部14におけるマッチング処理の対象とする単語の数を、所定数以下に制限することができれば、その目的を達成することができるから、単語予備選択処理の過程において、それまでに単語候補として予備選択された単語と、その後に候補単語として予備選択されうる単語との合計数が、所定数以下になった場合には、単語予備選択処理の目的を達成することができたということができる。
【0191】
つまり、単語予備選択処理の過程において、それまでに単語候補として予備選択された単語と、その後に候補単語として予備選択されうる単語との合計数が、所定数以下になった場合には、その所定数以下となった単語すべてを候補単語として、認識部14におけるマッチング処理の対象としても、認識部14の処理負担は、装置設計当初から予想された範囲内にあることから、問題とならない。
【0192】
なお、単語予備選択処理の過程において、それまでに単語候補として予備選択された単語と、その後に候補単語として予備選択されうる単語との合計数が、所定数以下になった場合の、その所定数以下となった単語すべてを候補単語として、認識部14におけるマッチング処理の対象とするときには、認識部14から供給される注目ノードが有する時刻情報が表す時刻以降の時刻の特徴量すべてについて単語予備選択処理を行うときと比較して、予備選択される単語が増加することがあるが、その場合でも、認識部14において、その予備選択された単語について、計算量の少ない言語スコアに基づいて枝刈りを行うことで、音声認識装置全体としての計算コストは低減することができる。
【0193】
以上から、単語予備選択部13は、図8で説明したように、ステップS14において、単語予備選択処理が中断可能かどうかを調査する調査処理を行い、その調査結果に基づき、単語予備選択処理の過程において、それまでに単語候補として予備選択された単語と、その後に候補単語として予備選択されうる単語との合計数が、所定数以下になった場合には、ステップS15において、単語予備選択処理を中断することが可能である判断して、単語予備選択処理を中断し、ステップS17において、それまでに単語候補として予備選択された単語に、その後に候補単語として予備選択されうる単語を、候補単語として加えて、認識部14に供給するようになっている。
【0194】
ところで、図9乃至図13で説明したことから、単語予備選択部13のマッチング処理(図9)によれば、単語ネットワークにおいて、ある音素ノードは、その親音素ノードがアクティブな状態の場合に、アクティブになる(ステップS30)。
【0195】
従って、非アクティブな音素ノードに注目した場合に、その注目音素ノードから、ルートノードまでのパス(以下、適宜、ノードパスという)上に、アクティブノードが存在しない場合には、注目音素ノードは、その後の図8のステップS13乃至S16のループ処理の間に、アクティブ状態になることはない。
【0196】
図8のステップS13乃至S16のループ処理が繰り返し行われ、これにより、図9のマッチング処理が、特徴量記憶部12に記憶された特徴量の系列に沿って進んでいくと、その後のステップS13乃至S16のループ処理の間に、アクティブ状態になることがない音素ノードが多数出現する。
【0197】
音素ノードのうち、単語の最後の音素が割り当てられているものには、上述したように、その単語の単語IDが登録されており、図9のマッチング処理では、そのような単語IDが登録されている音素ノードがアクティブ状態となっている場合に、その単語IDによって特定される単語(単語IDに対応する単語)が、単語候補として予備選択される。
【0198】
従って、単語IDが登録されている音素ノードが、上述したようなアクティブ状態になることがないものである場合には、その単語IDに対応する単語が予備選択されることはない。
【0199】
以上から、単語IDが登録されている音素ノードについてのノードパス上にアクティブノードが存在しない場合には、その単語IDに対応する単語が予備選択されることはなく、このことは、その単語IDに対応する単語が枝刈りされたことを意味する。
【0200】
一方、単語IDが登録されている音素ノードについてのノードパス上にアクティブノードが1つでも存在する場合には、その後のステップS13乃至S16のループ処理において、その単語IDに対応する単語が、候補単語として予備選択される可能性があることになる。
【0201】
従って、ステップS13乃至S16のループ処理のある時点において、その後に、候補単語として予備選択されうる単語は、単語IDが登録されている音素ノードについて、そのノードパス上にアクティブノードが存在するかどうかを調べることによって認識することができ、さらに、音素ノードの残り単語数を参照することで、予備選択されうる単語の数、即ち、探索途中の単語数も認識することができる。
【0202】
図8のステップS14における調査処理では、上述のようにして、予備選択されうる単語の数を認識し、その単語の数に基づいて、単語予備選択処理が中断可能かどうかを調査するようになっている。
【0203】
そこで、図14のフローチャートを参照して、図8のステップS14における調査処理について説明する。
【0204】
調査処理では、まず最初に、ステップS41において、単語予備選択部13は、その後の処理によって候補単語となる可能性がある単語(以下、適宜、可能性単語という)の数をカウントする変数Nを0に初期化し、ステップS42に進む。
【0205】
ステップS42では、単語予備選択部13は、単語ネットワークにおけるアクティブノードすべてを、注目アクティブノードとして処理を行ったかどうかを判定し、まだ行っていないと判定した場合、ステップS43に進み、単語予備選択部13は、まだ注目アクティブノードとしていないアクティブノードを、注目アクティブノードとして選択し、ステップS44に進む。
【0206】
ステップS44では、単語予備選択部13は、注目アクティブノードから、ルートノードまでのノードパスを辿っていくことにより、そのノードパス上の音素ノードを検出し、ステップS45に進む。
【0207】
ステップS45では、単語予備選択部13は、ステップS44で検出した、注目アクティブノードについてのノードパス上の、注目アクティブノードを除く音素ノードの中に、アクティブノードが存在するかどうかを判定する。
【0208】
ステップS45において、注目アクティブノードについてのノードパス上に、アクティブノードが存在しないと判定された場合、即ち、注目アクティブノードについてのノードパス(以下、適宜、注目ノードパスという)において、注目アクティブノードよりも上位階層の音素ノードがアクティブになることがなく、従って、注目アクティブノードが、その注目アクティブノードを含んでノードパスを形成する音素ノードのうちの最も上位階層のものであり、その結果、注目アクティブノードを含んで形成されるノードパス上の音素ノードを最後の音素とする単語のうち、現時点で枝刈りされていないものの数が、注目アクティブノードに登録されている残り単語数に等しい場合、ステップS46に進み、単語予備選択部13は、変数Nと、注目アクティブノードに登録されている残り単語数とを加算して、その加算値を、変数Nにセットする。その後、ステップS42に戻り、以下、同様の処理を繰り返す。
【0209】
また、ステップS45において、注目ノードパス上に、アクティブノードが存在すると判定された場合、ステップS46をスキップして、ステップS42に戻り、以下、同様の処理を繰り返す。
【0210】
そして、ステップS42において、単語ネットワークにおけるアクティブノードすべてを、注目アクティブノードとして処理を行ったと判定された場合、ステップS47に進み、単語予備選択部13は、既にステップS32(図9)で予備選択されている候補単語の数と、変数Nとの加算値が、所定の閾値未満(または以下)であるかどうかを判定する。
【0211】
ステップS47において、予備選択されている候補単語の数と、変数Nとの加算値が、所定の閾値未満であると判定された場合、ステップS48に進み、予備選択部13は、予備選択処理の中断が可能であると認識して、リターンする。
【0212】
また、ステップS47において、予備選択されている候補単語との数と、変数Nとの加算値が、所定の閾値未満でないと判定された場合、ステップS49に進み、予備選択部13は、予備選択処理の中断が可能でないと認識して、リターンする。
【0213】
なお、ステップS47で用いられる閾値は、例えば、認識部14の処理性能等を考慮して決定される。但し、変数Nによれば、現時点で、その後の処理によって候補単語とされ得る単語の数の他、既にステップS32(図9)で予備選択されている候補単語の数も重複してカウントされ得るため、ステップS47で用いられる閾値は、その重複分を見込んだ上で決定される。
【0214】
以上のように、単語予備選択部13において、単語の探索の中断が可能かどうかが判定し、単語の探索の中断が可能な場合には、単語の探索を中断して、それまでに予備選択した単語と、探索途中の単語(その後の処理により候補単語となりうる単語)とを、候補単語として、認識部14に出力する。従って、予備選択に要する計算量を低減することができ、その結果、音声認識装置全体としての音声認識処理を、その精度を劣化させずに高速化することができる。
【0215】
次に、上述の場合には、単語予備選択処理を、途中で中断することによって、単語予備選択処理の計算量の低減を図るようにしたが、単語予備選択処理の計算量の低減は、その他、例えば、音素ノードを途中で打ち切った単語ネットワークを用いることによっても実現することができる。
【0216】
即ち、図15(A)は、図7(A)と同様の単語辞書を示しており、図15(B)は、図15(A)の単語辞書に登録された単語について、音素ノードを途中で打ち切って構成した単語ネットワークを示している。
【0217】
図15(B)の単語ネットワークは、図7(B)の単語ネットワークにおいて、そのルートノードN0の階層を第1階層とすると、第6階層以降を省略した形で構成されている。
【0218】
即ち、図15(B)の単語ネットワークは、図7(B)の単語ネットワークの、第6階層の音素ノードN5,N6,N9,N10、および第7階層の音素ノードN11が省略されたものとなっている。
【0219】
さらに、図15(B)の単語ネットワークにおいては、単語の終端の音素に対応する音素ノード(以下、適宜、終端音素ノードという)が省略される場合には、すべての音素ノードが存在すると仮定したときに、省略される終端音素ノードについてのノードパス上の、省略されない音素ノードのうちの最も下位の階層の音素ノードに、省略される終端音素ノードに登録されていた単語IDが登録されている。
【0220】
即ち、図15(B)の単語ネットワークにおいては、単語IDが2の単語「秋田」の終端音素ノードN5が省略されているため、その終端音素ノードN5に登録されていた単語ID#2が、終端音素ノードN5についてのノードパス上の、省略されない音素ノードのうちの最も下位の階層の音素ノードN4に登録されている。
【0221】
また、図15(B)の単語ネットワークにおいては、単語IDが3の単語「空き地」の終端音素ノードN6が省略されているため、その終端音素ノードN6に登録されていた単語ID#3が、終端音素ノードN6についてのノードパス上の、省略されない音素ノードのうちの最も下位の階層の音素ノードN4に登録されている。
【0222】
さらに、図15(B)の単語ネットワークにおいては、単語IDが4の単語「明かり」の終端音素ノードN9が省略されているため、その終端音素ノードN9に登録されていた単語ID#4が、終端音素ノードN9についてのノードパス上の、省略されない音素ノードのうちの最も下位の階層の音素ノードN8に登録されている。
【0223】
また、図15(B)の単語ネットワークにおいては、単語IDが5の単語「明るい」の終端音素ノードN11が省略されているため、その終端音素ノードN11に登録されていた単語ID#5が、終端音素ノードN11についてのノードパス上の、省略されない音素ノードのうちの最も下位の階層の音素ノードN8に登録されている。
【0224】
従って、図15(B)の単語ネットワークでは、単語「秋田」と「空き地」の音韻情報が、"akit"という1つの音韻情報にまとめられ、また、単語「明かり」と「明るい」の音韻情報も、"akar"という1つの音韻情報にまとめられているということができる。
【0225】
このように、音韻情報を、幾つかの単語で1つにまとめた単語ネットワークを構成することにより、単語ネットワークを記憶するのに必要な記憶容量が低減され、さらに、予備選択部13における計算量も低減されることになる。
【0226】
なお、この場合、単語予備選択部13において予備選択される単語の数は、上述のような音素ノードの打ち切りを行っていない単語ネットワークを用いる場合に比較して増加することがあるが、その場合でも、認識部14において、その予備選択された単語について、計算量の少ない言語スコアに基づいて枝刈りを行うことで、音声認識装置全体としての計算コストは低減することができる。
【0227】
また、図15(B)の実施の形態では、第6階層以降の音素ノードを打ち切るようにしたが、即ち、各単語の先頭から5番目以降の音素に対応する音素ノードを打ち切るようにしたが、その他、例えば、最も長いノードパスを検出し、そのノードパスの後半(下位階層)の半分等の音素ノードを打ち切るようにすることが可能である。あるいは、また、各音素について、その継続時間長の平均値を求めておき、単語の発話時間が、その全体を発話したときの半分になるように、音素ノードを打ち切ること等も可能である。
【0228】
さらに、単語予備選択部13では、図15(B)の単語ネットワークを用いて、従来と同様の単語予備選択を行うことも可能であるし、図8で説明したような、単語の探索を途中で中断する単語予備選択を行うことも可能である。
【0229】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0230】
そこで、図16は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【0231】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
【0232】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体111に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウエアとして提供することができる。
【0233】
なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部108で受信し、内蔵するハードディスク105にインストールすることができる。
【0234】
コンピュータは、CPU(Central Processing Unit)102を内蔵している。CPU102には、バス101を介して、入出力インタフェース110が接続されており、CPU102は、入出力インタフェース110を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部107が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、また、CPU102は、ハードディスク105に格納されているプログラム、衛星若しくはネットワークから転送され、通信部108で受信されてハードディスク105にインストールされたプログラム、またはドライブ109に装着されたリムーバブル記録媒体111から読み出されてハードディスク105にインストールされたプログラムを、RAM(Random Access Memory)104にロードして実行する。これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、LCD(Liquid CryStal Display)やスピーカ等で構成される出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
【0235】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
【0236】
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0237】
なお、図4に示した音声認識装置は、例えば、音声によってデータベースの検索を行う場合や、各種の機器の操作を行う場合、各機器へのデータ入力を行う場合、音声対話システム等に適用可能である。より具体的には、例えば、音声による地名の問合せに対して、対応する地図情報を表示するデータベース検索装置や、音声による命令に対して、荷物の仕分けを行う産業用ロボット、キーボードの代わりに音声入力によりテキスト作成を行うディクテーションシステム、ユーザとの会話を行うロボットにおける対話システム等に適用可能である。
【0238】
【発明の効果】
本発明の第1及び第2の側面によれば、処理の高速化を図ることが可能となる。
【図面の簡単な説明】
【図1】従来の音声認識装置の一例の構成を示すブロック図である。
【図2】単語どうしの境界の候補を保持する必要性を説明する図である。
【図3】従来の音声認識装置の他の一例の構成を示すブロック図である。
【図4】本発明を適用した音声認識装置の一実施の形態の構成例を示すブロック図である。
【図5】単語接続情報を説明するための図である。
【図6】音声認識装置の処理を説明するためのフローチャートである。
【図7】単語辞書と、その単語辞書の単語について構成されたツリー構造の単語ネットワークを示す図である。
【図8】ステップS4の単語予備選択処理の詳細を説明するフローチャートである。
【図9】ステップS13のマッチング処理の詳細を説明するフローチャートである。
【図10】単語予備選択部13による単語予備選択処理を説明するための図である。
【図11】単語予備選択部13による単語予備選択処理を説明するための図である。
【図12】単語予備選択部13による単語予備選択処理を説明するための図である。
【図13】単語予備選択部13による単語予備選択処理を説明するための図である。
【図14】ステップS14における調査処理の詳細を説明するフローチャートである。
【図15】単語辞書と、その単語辞書の単語について構成されたツリー構造の単語ネットワークを示す図である。
【図16】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
1 マイク, 2 AD変換部, 3 特徴抽出部, 11 制御部, 12特徴量記憶部, 13 単語予備選択部, 14 認識部, 15 再評価部, 16 単語接続情報記憶部, 17A,17B 音響モデルデータベース,18A,18B 辞書データベース, 19A,19B 文法データベース,101 バス, 102 CPU, 103 ROM, 104 RAM, 105 ハードディスク, 106 出力部, 107 入力部, 108 通信部, 109 ドライブ, 110 入出力インタフェース, 111 リムーバブル記録媒体

Claims (11)

  1. 入力された音声に対して、その音声認識結果の尤度を表すスコアを計算し、そのスコアに基づいて、前記音声を連続音声認識する音声認識装置であって、
    音声認識の対象とする単語群を探索し、前記音声認識結果の候補となる単語を選択する単語選択手段と、
    前記単語選択手段において選択された単語を対象に、前記スコアを計算するスコア計算手段と、
    前記単語のスコアに基づいて、前記音声の音声認識結果を確定する確定手段と
    を備え、
    前記単語選択手段は、
    単語群の単語の構成要素をノードとして構成されたツリー構造であって、各ノードに、そのノード以下のノードを終端とする単語の数が登録されたものにしたがって、前記ツリー構造のうちのアクティブなノードについて前記スコアを計算しながら、単語を探索し、
    前記ノードのスコアに基づいて、そのノードを非アクティブにし、
    アクティブなノードとして残ったノードの子ノードをアクティブし、
    アクティブなノードとして残ったノードが、単語の最後のノードである場合に、その単語を、前記音声認識結果の候補となる単語として選択し、
    ルートノードまでの経路に、アクティブなノードが存在しないアクティブなノードに登録されている単語の数から、探索途中の単語の数を求め、
    前記音声認識結果の候補となる単語として選択済みの単語の数と、探索途中の単語の数とに基づいて、前記単語の探索の中断が可能かどうかを判定し、
    前記音声認識結果の候補となる単語として選択済みの単語の数と、前記探索途中の単語の数との総数が所定の閾値以下である場合に、前記単語の探索の中断が可能であると判定して、前記単語の探索を中断し、
    それまでに選択した単語と、前記探索途中の単語とを、前記音声認識結果の候補となる単語として出力する
    声認識装置。
  2. 前記単語選択手段は、前記単語群の単語の構成要素をノードとして構成されたツリー構造であって、ノードが単語の途中で打ち切られたものにしたがって、前記ツリー構造のノードについて前記スコアを計算しながら、単語を探索し、そのスコアに基づいて、前記音声認識結果の候補となる単語を選択する
    求項1に記載の音声認識装置。
  3. 入力された音声に対して、その音声認識結果の尤度を表すスコアを計算し、そのスコアに基づいて、前記音声を連続音声認識する音声認識方法であって、
    音声認識の対象とする単語群を探索し、前記音声認識結果の候補となる単語を選択する単語選択ステップと、
    前記単語選択ステップにおいて選択された単語を対象に、前記スコアを計算するスコア計算ステップと、
    前記単語のスコアに基づいて、前記音声の音声認識結果を確定する確定ステップと
    を備え、
    前記単語選択ステップにおいて、
    単語群の単語の構成要素をノードとして構成されたツリー構造であって、各ノードに、そのノード以下のノードを終端とする単語の数が登録されたものにしたがって、前記ツリー構造のうちのアクティブなノードについて前記スコアを計算しながら、単語を探索し、
    前記ノードのスコアに基づいて、そのノードを非アクティブにし、
    アクティブなノードとして残ったノードの子ノードをアクティブし、
    アクティブなノードとして残ったノードが、単語の最後のノードである場合に、その単語を、前記音声認識結果の候補となる単語として選択し、
    ルートノードまでの経路に、アクティブなノードが存在しないアクティブなノードに登録されている単語の数から、探索途中の単語の数を求め、
    前記音声認識結果の候補となる単語として選択済みの単語の数と、探索途中の単語の数とに基づいて、前記単語の探索の中断が可能かどうかを判定し、
    前記音声認識結果の候補となる単語として選択済みの単語の数と、前記探索途中の単語の数との総数が所定の閾値以下である場合に、前記単語の探索の中断が可能であると判定して、前記単語の探索を中断し、
    それまでに選択した単語と、前記探索途中の単語とを、前記音声認識結果の候補となる単語として出力する
    声認識方法。
  4. 入力された音声に対して、その音声認識結果の尤度を表すスコアを計算し、そのスコアに基づいて、前記音声を連続音声認識する音声認識処理を、コンピュータに行わせるプログラムであって、
    音声認識の対象とする単語群を探索し、前記音声認識結果の候補となる単語を選択する単語選択手段と、
    前記単語選択手段において選択された単語を対象に、前記スコアを計算するスコア計算手段と、
    前記単語のスコアに基づいて、前記音声の音声認識結果を確定する確定手段
    して、コンピュータを機能させるためのプログラムであり、
    前記単語選択手段は、
    単語群の単語の構成要素をノードとして構成されたツリー構造であって、各ノードに、そのノード以下のノードを終端とする単語の数が登録されたものにしたがって、前記ツリー構造のうちのアクティブなノードについて前記スコアを計算しながら、単語を探索し、
    前記ノードのスコアに基づいて、そのノードを非アクティブにし、
    アクティブなノードとして残ったノードの子ノードをアクティブし、
    アクティブなノードとして残ったノードが、単語の最後のノードである場合に、その単語を、前記音声認識結果の候補となる単語として選択し、
    ルートノードまでの経路に、アクティブなノードが存在しないアクティブなノードに登録されている単語の数から、探索途中の単語の数を求め、
    前記音声認識結果の候補となる単語として選択済みの単語の数と、探索途中の単語の数とに基づいて、前記単語の探索の中断が可能かどうかを判定し、
    前記音声認識結果の候補となる単語として選択済みの単語の数と、前記探索途中の単語の数との総数が所定の閾値以下である場合に、前記単語の探索の中断が可能であると判定して、前記単語の探索を中断し、
    それまでに選択した単語と、前記探索途中の単語とを、前記音声認識結果の候補となる単語として出力する
    ログラム。
  5. 入力された音声に対して、その音声認識結果の尤度を表すスコアを計算し、そのスコアに基づいて、前記音声を連続音声認識する音声認識処理を、コンピュータに行わせるプログラムが記録されている記録媒体であって、
    音声認識の対象とする単語群を探索し、前記音声認識結果の候補となる単語を選択する単語選択手段と、
    前記単語選択手段において選択された単語を対象に、前記スコアを計算するスコア計算手段と、
    前記単語のスコアに基づいて、前記音声の音声認識結果を確定する確定手段
    して、コンピュータを機能させるためのプログラムであり、
    前記単語選択手段は、
    単語群の単語の構成要素をノードとして構成されたツリー構造であって、各ノードに、そのノード以下のノードを終端とする単語の数が登録されたものにしたがって、前記ツリー構造のうちのアクティブなノードについて前記スコアを計算しながら、単語を探索し、
    前記ノードのスコアに基づいて、そのノードを非アクティブにし、
    アクティブなノードとして残ったノードの子ノードをアクティブし、
    アクティブなノードとして残ったノードが、単語の最後のノードである場合に、その単語を、前記音声認識結果の候補となる単語として選択し、
    ルートノードまでの経路に、アクティブなノードが存在しないアクティブなノードに登録されている単語の数から、探索途中の単語の数を求め、
    前記音声認識結果の候補となる単語として選択済みの単語の数と、探索途中の単語の数とに基づいて、前記単語の探索の中断が可能かどうかを判定し、
    前記音声認識結果の候補となる単語として選択済みの単語の数と、前記探索途中の単語の数との総数が所定の閾値以下である場合に、前記単語の探索の中断が可能であると判定して、前記単語の探索を中断し、
    それまでに選択した単語と、前記探索途中の単語とを、前記音声認識結果の候補となる単語として出力する
    プログラムが記録されている録媒体。
  6. 入力された音声に対して、その音声認識結果の尤度を表すスコアを計算し、そのスコアに基づいて、前記音声を連続音声認識する音声認識装置であって、
    音声認識の対象とする単語群の単語の構成要素をノードとして構成されたツリー構造であって、前記ノードが単語の途中で打ち切られたものにしたがって、前記ツリー構造のノードについて前記スコアを計算しながら、単語を探索し、探索された単語のスコアに基づいて、前記音声認識結果の候補となる単語を選択する単語選択手段と、
    前記単語選択手段において選択された単語を対象に、前記スコアを計算するスコア計算手段と、
    前記単語のスコアに基づいて、前記音声の音声認識結果を確定する確定手段と
    を備える声認識装置。
  7. 前記単語選択手段は、前記ルートノードからの音素数に基づいてノードが打ち切られた前記ツリー構造にしたがって、単語を探索する
    請求項6に記載の音声認識装置。
  8. 前記単語選択手段は、前記ルートノードからの音素の継続時間長に基づいてノードが打ち切られた前記ツリー構造にしたがって、単語を探索する
    請求項6に記載の音声認識装置。
  9. 入力された音声に対して、その音声認識結果の尤度を表すスコアを計算し、そのスコアに基づいて、前記音声を連続音声認識する音声認識方法であって、
    音声認識の対象とする単語群の単語の構成要素をノードとして構成されたツリー構造であって、前記ノードが単語の途中で打ち切られたものにしたがって、前記ツリー構造のノードについて前記スコアを計算しながら、単語を探索し、探索された単語のスコアに基づいて、前記音声認識結果の候補となる単語を選択する単語選択ステップと、
    前記単語選択ステップにおいて選択された単語を対象に、前記スコアを計算するスコア計算ステップと、
    前記単語のスコアに基づいて、前記音声の音声認識結果を確定する確定ステップと
    を備える声認識方法。
  10. 入力された音声に対して、その音声認識結果の尤度を表すスコアを計算し、そのスコアに基づいて、前記音声を連続音声認識する音声認識処理を、コンピュータに行わせるプログラムであって、
    音声認識の対象とする単語群の単語の構成要素をノードとして構成されたツリー構造であって、前記ノードが単語の途中で打ち切られたものにしたがって、前記ツリー構造のノードについて前記スコアを計算しながら、単語を探索し、探索された単語のスコアに基づいて、前記音声認識結果の候補となる単語を選択する単語選択手段と、
    前記単語選択手段において選択された単語を対象に、前記スコアを計算するスコア計算手段と、
    前記単語のスコアに基づいて、前記音声の音声認識結果を確定する確定手段
    して、コンピュータを機能させるためのプログラム。
  11. 入力された音声に対して、その音声認識結果の尤度を表すスコアを計算し、そのスコアに基づいて、前記音声を連続音声認識する音声認識処理を、コンピュータに行わせるプログラムが記録されている記録媒体であって、
    音声認識の対象とする単語群の単語の構成要素をノードとして構成されたツリー構造であって、前記ノードが単語の途中で打ち切られたものにしたがって、前記ツリー構造のノードについて前記スコアを計算しながら、単語を探索し、探索された単語のスコアに基づいて、前記音声認識結果の候補となる単語を選択する単語選択手段と、
    前記単語選択手段において選択された単語を対象に、前記スコアを計算するスコア計算手段と、
    前記単語のスコアに基づいて、前記音声の音声認識結果を確定する確定手段
    して、コンピュータを機能させるためのプログラムが記録されている録媒体。
JP2001161698A 2001-05-30 2001-05-30 音声認識装置および音声認識方法、並びにプログラムおよび記録媒体 Expired - Fee Related JP4696400B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001161698A JP4696400B2 (ja) 2001-05-30 2001-05-30 音声認識装置および音声認識方法、並びにプログラムおよび記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001161698A JP4696400B2 (ja) 2001-05-30 2001-05-30 音声認識装置および音声認識方法、並びにプログラムおよび記録媒体

Publications (2)

Publication Number Publication Date
JP2002351491A JP2002351491A (ja) 2002-12-06
JP4696400B2 true JP4696400B2 (ja) 2011-06-08

Family

ID=19004935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001161698A Expired - Fee Related JP4696400B2 (ja) 2001-05-30 2001-05-30 音声認識装置および音声認識方法、並びにプログラムおよび記録媒体

Country Status (1)

Country Link
JP (1) JP4696400B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6347797A (ja) * 1986-08-15 1988-02-29 株式会社リコー 単語音声予備選択方式
JPH08241096A (ja) * 1995-03-01 1996-09-17 Nippon Telegr & Teleph Corp <Ntt> 音声認識方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6347797A (ja) * 1986-08-15 1988-02-29 株式会社リコー 単語音声予備選択方式
JPH08241096A (ja) * 1995-03-01 1996-09-17 Nippon Telegr & Teleph Corp <Ntt> 音声認識方法

Also Published As

Publication number Publication date
JP2002351491A (ja) 2002-12-06

Similar Documents

Publication Publication Date Title
JP4465564B2 (ja) 音声認識装置および音声認識方法、並びに記録媒体
JP4802434B2 (ja) 音声認識装置及び音声認識方法、並びにプログラムを記録した記録媒体
JP4543294B2 (ja) 音声認識装置および音声認識方法、並びに記録媒体
US7240002B2 (en) Speech recognition apparatus
JP6188831B2 (ja) 音声検索装置および音声検索方法
US6961701B2 (en) Voice recognition apparatus and method, and recording medium
US9093061B1 (en) Speech recognition with hierarchical networks
KR100748720B1 (ko) 다중 계층 중심 어휘 목록에 기초하여 대규모 단어 음성인식 방법 및 그 장치
Alleva et al. An improved search algorithm using incremental knowledge for continuous speech recognition
JP4757936B2 (ja) パターン認識方法および装置ならびにパターン認識プログラムおよびその記録媒体
JP2002366187A (ja) 音声認識装置および音声認識方法、並びにプログラムおよび記録媒体
Karanasou et al. Discriminatively trained phoneme confusion model for keyword spotting.
JP4600706B2 (ja) 音声認識装置および音声認識方法、並びに記録媒体
JP3914709B2 (ja) 音声認識方法およびシステム
JP4696400B2 (ja) 音声認識装置および音声認識方法、並びにプログラムおよび記録媒体
JP4600705B2 (ja) 音声認識装置および音声認識方法、並びに記録媒体
JP5201973B2 (ja) 音声検索装置
JP3494338B2 (ja) 音声認識方法
JP2002149188A (ja) 自然言語処理装置および自然言語処理方法、並びに記録媒体
JP3369121B2 (ja) 音声認識方法および音声認識装置
JP2005134442A (ja) 音声認識装置および方法、記録媒体、並びにプログラム
JP2001092495A (ja) 連続音声認識方法
Cai et al. Development of a Chinese song name recognition system
JP2004325560A (ja) 音声認識装置および方法、プログラム、並びに記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101005

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110214

LAPS Cancellation because of no payment of annual fees