(57)【特許請求の範囲】
【請求項１】
各時刻に新しい仮説を生成し、その仮説の単語内における入力音声の、仮説と対応する音響モデルとの近さを示す音響スコアを計算すると共に、仮説の単語終端において、単語間の接続関係を規定する言語モデルを用いてその仮説の存在する確率と対応した言語スコアを求め、これら音響スコアと言語スコアとから文法の許容する入力音声内容に関するその仮説の尤もらしさを示す仮説のスコアを求め、その仮説のスコアの低い仮説を棄却し、この棄却した仮説をバッファメモリに記録し、仮説の入力音声の開始時刻から現在の時刻までの単語系列を表す単語履歴を、上記バッファメモリに記録された過去の時刻に棄却された仮説に基づいて修正することで仮説を再評価し、全ての音声が入力された時点で最もスコアの高い仮説を認識結果として出力する音声認識方法において、
上記棄却された仮説を、仮説が棄却された時刻を表す仮説棄却時刻と、単語履歴の最後の単語を表す最終単語、もしくは最終単語の終端までの所定個数の音素列を表す音素履歴ごとに分類して上記バッファメモリに記録し、
前記再評価する仮説の最終単語の開始時刻と同一の仮説棄却時刻、ならびに、再評価する仮説の最終単語の一つ前の単語を表す先行単語もしくは最終単語までの音素履歴と同一の、最終単語もしくは音素履歴に分類されている上記バッファメモリ内の仮説のみを読み出して、再評価する仮説の履歴の修正に利用することを特徴とする音声認識方法。
【請求項２】
請求項１記載の方法をコンピュータにより実行させるプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、与えられた文法によって生成可能な数多くの仮説から、入力された音声に最も近い仮説を効率的に見つける仮説の探索を可能とする音声認識方法及びそのプログラム記録媒体。
【０００２】
【従来の技術】
図４に示す音声認識処理において、入力音声１１は、分析処理部１２により、特徴パラメータのベクトルデータ時系列に変換され、探索処理部１３により文法／言語モデル（文法モデル及び言語モデル）１６の許容する仮説と照合される。この仮説との照合結果の評価値であるスコアは、仮説に対応する音響モデル１５と入力音声１１の尤もらしさ（類似性）を示す音響スコアと、仮説の存在する確率に対応した言語スコアとからなり、最も高いスコアを持つ仮説が認識結果１４として出力される。
【０００３】
分析処理部１２における信号処理として、よく用いられるのは、フィルタバンク分析、線形予測分析（Ｌｉｎｅａｒ  Ｐｒｅｄｉｃｔｉｖｅ  Ｃｏｄｉｎｇ、ＬＰＣと呼ばれる）、特徴パラメータとしては、ＬＰＣケプストラム、ＬＰＣデルタケプストラム、メルケプストラム（ｍｅｌ−ｆｒｅｑｕｅｎｃｙ  ｃｅｐｓｔｒａｌ  ｃｏｅｆｆｉｃｉｅｎｔｓ、ＭＦＣＣと呼ばれる）、デルタＭＦＣＣ、対数パワーなどがある。
音響モデル１５としては確率・統計理論に基づいてモデル化された隠れマルコフモデル法（Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌ、以後ＨＭＭ法と呼ぶ）が主流である。このＨＭＭ法の詳細は、例えば、社団法人電子情報通信学会編、中川聖一著「確率モデルによる音声認識」に開示されている。
【０００４】
文法／言語モデル１６は、認識対象とする文を定義するための単語の連結関係を規定したものであり、単語を枝とした単語ネットワークや言語の確率モデル等が用いられる。言語の確率モデルは、単語単体の存在確率、２つ以上の単語の連結する確率が用いられる。この言語の確率モデルの詳細は、例えば、社団法人電子情報通信学会編、中川聖一著「確率モデルによる音声認識」に開示されている。
【０００５】
探索処理部１３は、文法で規定された単語の接続関係を示す単語ネットワーク上の単語系列に対応した音響モデル１５と特徴パラメータのベクトルデータ時系列とを照合し、音響的な尤もらしさ（類似性）を示す音響スコアを求める一方、その単語系列に対応した言語モデル１６から言語スコアを求め、音響スコアと言語スコアからなる仮説のスコアを時刻（認識処理の単位時間を単位とする時刻、以後この明細書中の時刻はこのことを意味する）毎に求め、仮説のスコアの低い仮説を捨て、仮説のスコアの高い仮説を残し、次の時刻では前の時刻で残された仮説に対し、必要であれば単語の拡張を行い、再び音響モデル１５、言語モデル１６に基づいて評価を行う。
【０００６】
次に、この照合計算における時刻毎の最も一般的な処理の流れについて、図４を用いて説明する。探索処理部１３では、その時刻に計算すべき仮説のリストを持っており、そのリスト内の個々の仮説は、現時刻までのその仮説のスコアとその仮説の履歴を表す単語系列の情報とを保持しているものとする。始めに、仮説生成部２１において、一つ前の時刻に計算された仮説のリストの中で、仮説の履歴の最終単語の終端まで計算が終わっている仮説があれば、その仮説の最終単語の次に接続可能な単語を文法で規定された単語のネットワークから求めて、その仮説の終端に付加することにより新しい仮説を生成し、その生成した仮説を前記仮説のリストに加え、現時刻の仮説のリストを作る。
【０００７】
単語内スコア計算部２２では、現時刻の仮説のリスト内の各仮説について、対応する音響モデル１５と入力音声との照合を行い、その仮説のスコアに音響スコアを加算する。そして、単語終端スコア計算部２３では、現時刻の仮説のリスト内で、仮説の最終単語の終端まで音響スコアが加算されている仮説に対して、文法／言語モデル１６を用いてその最終単語の存在確率と対応した言語スコアを加算する。
【０００８】
次に、仮説絞込み部２４において、現時刻の仮説のリスト内で、同じ最終単語を持ち、音響スコアの加算がその最終単語の同じ部分まで終わっている仮説の中で、その最終単語の直前の単語が同一、または、直前の単語の後部の一定個数の音素が同一である仮説は、最も高いスコアを持つ仮説のみ現時刻の仮説のリストに残し、他の仮説は棄却する。そして、時刻を１増やし、再び仮説生成部２１に戻る。
【０００９】
この時刻毎の計算は、入力音声の全ての時刻において行われ、入力音声の終了時刻での仮説のリストにおいて、最終単語の終端まで計算が終わっている仮説の中から最もスコアの高い仮説を選び、認識結果とする。なお、時刻毎の計算を始める前は、履歴なし、スコア０の１つの仮説を、仮説のリストに入れておく。
この探索手法では、仮説の絞込み部２４において、計算する仮説の数の増加を抑えている。仮説の絞込みを行う方法として、仮説の最終単語とその直前の単語が同一である仮説を絞り込む単語対近似（Ｗｏｒｄ  Ｐａｉｒ  Ａｐｐｒｏｘｉｍａｔｉｏｎ）と呼ばれる方法、仮説の最終単語とその直前の単語の後部から一定個数の音素が同一である仮説を絞り込む音素履歴近似と呼ばれる方法があり、単語対近似は、ＩＥＥＥの国際会議ＩＣＡＳＳＰ’９１のＲ．Ｓｃｈｗａｒｔｚ、Ｓ．Ａｕｓｔｉｎ著、“Ａ  Ｃｏｍｐａｒｉｓｏｎ  ｏｆ  Ｓｅｖｅｒａｌ  Ａｐｐｒｏｘｉｍａｔｅ  Ａｌｇｏｒｉｔｈｍ  ｆｏｒ  Ｆｉｎｄｉｎｇ  Ｍｕｌｔｉｐｌｅ（Ｎ−ｂｅｓｔ）Ｓｅｎｔｅｎｃｅ  Ｈｙｐｏｔｈｅｓｅｓ”、音素履歴近似は、社団法人電子情報通信学会の技術研究報告ＳＰ９６−１０２の野田喜昭、松永昭一、嵯峨山茂樹著、“単語グラフを用いた大語彙連続音声認識における近似演算手法の検討”に開示されている。以後、仮説の最終単語の直前の単語を先行単語、仮説の最終単語の直前の単語の後部の任意個数の音素履歴を、先行音素履歴と呼ぶことにする。
【００１０】
続いて、探索処理部１３に履歴修正部と棄却した仮説を蓄積するバッファメモリを有する場合の処理の流れを図５を用いて説明する。尚、図中、図４で示したものと同一の部分は同一の記号を付して重複説明を省略した。仮説生成部２１、単語内スコア計算部２２、単語終端スコア計算部２３までの処理は図４と同じである。仮説絞込み部２４の処理は、仮説の絞込みの方法は図４と同じであるが、絞込みを行った際に棄却した仮説をバッファメモリ２６に記録する。単語終端スコア計算部２３の次の処理である履歴修正部２５では、仮説絞込み部２４において棄却された仮説をバッファメモリ２６から読み出し、単語終端スコア計算部２３において評価した仮説の先行単語までの履歴と、評価中の時刻以前に前記バッファメモリ２６に保持された仮説の履歴とを入れ替えてスコアを計算し、最も高いスコアを与える仮説の履歴と入れ替えたときのスコアが、入れ替えない場合のスコアよりも高くなれば、前記最も高いスコアを与える仮説の履歴を現在の仮説の先行単語までの履歴とし、その仮説のスコアを前記最も高いスコアとする。
【００１１】
このような履歴の修正が必要となる理由を次に述べる。単語対近似を用いる場合は、最終単語と先行単語が同一の仮説の中でスコア最大の仮説をただ一つ残すので、始端から先行単語より前までの単語系列が、このスコア最大の仮説と異なる仮説は失われ、仮説のリストには始端から先行単語の前までの単語系列が同一の仮説しか残らない。しかしながら、３つ以上の単語系列に対して言語スコアを与える言語モデル（例えば単語トライグラム）を用いる場合は、仮説の最終単語と先行単語と先行単語の前までの１つ以上の単語系列に基づいて言語スコアを計算するが、その仮説と最終単語、先行単語が同一で、先行単語より前までの単語系列が異なるすでに失われた仮説に対して言語スコアを計算して加算した方が、仮説のスコアが高くなる場合がある。これは、３つ以上の単語系列に対する言語スコアが先行単語より前までの単語系列に依存して異なる値をとるためである。従って、現時刻よりも後の時刻において、仮説のスコアが他の仮説のスコアよりも高くなるような仮説を絞込みによって失うことになる。以後、この現象を絞込みの誤りと呼ぶことにする。
【００１２】
同様に、音素履歴近似を用いる場合は、最終単語と先行音素履歴が同一の仮説の中でスコア最大の仮説をただ一つ残すので、先行音素履歴が同一の仮説の中で、始端から先行単語までの単語系列がこのスコア最大の仮説と異なる仮説は棄却され、仮説のリストには先行音素履歴ごとに始端から先行単語までの単語系列が同一の仮説しか残らない。しかしながら、２つ以上の単語系列に対して言語スコアを与える言語モデル（例えば単語バイグラム）を用いる場合は、仮説の最終単語と先行単語までの１つ以上の単語系列に基づいて言語スコアを計算するが、その仮説と最終単語ならびに先行音素履歴が同一で、先行単語までの単語系列が異なるすでに棄却された仮説に対して言語スコアを計算して加算した方が、仮説のスコアが高くなる場合がある。これは、言語スコアが先行単語までの単語系列に依存して異なる値をとるためである。
【００１３】
以上に述べたように、単語対近似では３つ以上の単語系列に対して言語スコアを与える言語モデル、音素履歴近似では２つ以上の単語系列に対して言語スコアを与える言語モデルを用いる場合に、絞込みの誤りが起こり得る。
履歴の修正を行う手法としてＤｅｌａｙｅｄ  Ｂｉｇｒａｍ（デイレイドバイグラム）という手法がある。当該仮説の最終単語の開始時刻に終了した、バッファメモリに記録されているすべての仮説と、当該仮説の先行単語までの仮説とを入れ替えて、バイグラム（Ｂｉｇｒａｍ）確率に基づいて評価することにより、最も高いスコアとなる仮説の履歴を当該仮説の先行単語までの履歴とする方法である。Ｄｅｌａｙｅｄ  Ｂｉｇｒａｍは、ＩＥＥＥの国際会議ＩＣＡＳＳＰ’９６のＭ．Ｗｏｓｚｃｚｙｎａ、Ｍ．Ｆｉｎｋｅ、“Ｍｉｎｉｍｉｚｉｎｇ  ｓｅａｒｃｈ  ｅｒｒｏｒｓ  ｄｕｅ  ｔｏ  ｄｅｌａｙｅｄ  ｂｉｇｒａｍｓ  ｉｎ  ｒｅａｌ−ｔｉｍｅ  ｓｐｅｅｃｈ  ｒｅｃｏｇｎｉｔｉｏｎ  ｓｙｓｔｅｍｓ”に開示されている。Ｄｅｌａｙｅｄ  Ｂｉｇｒａｍでは、時刻ごとに棄却された、単語終端までのスコア計算が終わっている仮説をバッファメモリに記録しておく。履歴修正部では再評価する仮説の最終単語の開始時刻に基づいて、その開始時刻において棄却された仮説をバッファメモリから一つずつ読み出して、再評価する仮説の履歴と入れ替えてスコアを計算することを繰り返す。
【００１４】
次に、この時刻ごとに棄却された仮説を記録する方法について図６を用いて説明する。図６は、図５において仮説絞込み部２４から棄却された仮説をバッファメモリ２６に渡す部分を詳細に記したものである。当該時刻をｔとするとき、仮説絞込み部２４で棄却された仮説３１は、仮説の受け渡し処理２７によってバッファメモリ２６中の時刻ｔの仮説を記憶する領域３５に追加される。以後、仮説を記憶する領域を仮説記憶領域と呼ぶ。ここで、仮説３３は時刻ｔにおける仮説絞込み部２４の処理過程で、仮説３１よりも前に時刻ｔの仮説記憶領域３５に記憶された仮説とする。従って、仮説３１も領域３５内に仮説３３として記憶されることになる。また、バッファメモリ２６中の時刻ｔより以前の時刻の仮説記憶領域（例えば時刻ｔ−１の仮説記憶領域３４）には、各時刻で棄却された仮説（例えば仮説３２）が記録されており、時刻ｔ以降の時刻の仮説記憶領域（例えば時刻ｔ＋１の仮説記憶領域３６）には、まだ何も記録されていない。このように記憶しておけば、再評価する仮説の最終単語の開始時刻を用いて、バッファメモリ２６から履歴の修正に利用する複数の仮説を簡単に探し出して読み出すことができる。
【００１５】
しかしながら、このような仮説の記録・読み出し方法を用いると、同じ時刻に記録された仮説の数が多くなった場合に、バッファメモリ２６内の各時刻の仮説記憶領域に記録される仮説の数が多くなり、履歴修正部における仮説の再評価に要する処理量が大きくなる。
【００１６】
【発明が解決しようとする課題】
Ｄｅｌａｙｅｄ  Ｂｉｇｒａｍに基づく履歴の修正方法では、棄却された単語終端までのスコア計算が終わっている仮説を時刻ごとにバッファメモリに記録しておき、履歴を修正する際は、再評価する仮説の最終単語の開始時刻に対応するバッファメモリ内の仮説記憶領域に記録されたすべての仮説を、再評価する仮説の履歴と入れ替えてスコアを計算するため、同じ時刻に記録された仮説の数が多い場合に、履歴の修正にかかる計算量が大きいという問題があった。
【００１７】
【課題を解決するための手段】
この発明によれば仮説絞込みにより棄却された各仮説を、その棄却された時刻を表す仮説棄却時刻と、その単語履歴の最終単語もしくは最終単語の終端までの任意個数の音素列を表す音素履歴、つまり履歴属性ごとに分類してバッファメモリに記録し、履歴修正時に再評価する仮説の最終単語の開始時刻と同一の仮説棄却時刻、ならびに履歴属性が同一、つまり再評価する仮説の最終単語の一つ前の単語を表す先行単語もしくは先行単語の終端までの音素履歴と同一に分類されているバッファメモリ内の仮説のみを読み出して再評価する仮説の履歴の修正に利用する。音素履歴を用いる場合は、その音素の個数は従来の技術の項で述べた音素履歴近似法における先行音素履歴に用いる音素数と同程度であればよい。
【００１８】
【発明の実施の形態】
以下、図面を用いてこの発明の実施の形態について説明する。
図１はこの発明の一実施の形態に係る、棄却した仮説の記録方法を示す図である。尚、図中、図６で示したものと同一の部分は同一の記号を付して重複説明を省略した。
以下、この実施の形態を図１を基に説明する。従来法であるＤｅｌａｙｅｄ  Ｂｉｇｒａｍでは、図６において示したように、棄却した仮説はバッファメモリ２６の時刻ごとに別々の仮説記憶領域に記録するが、これに対し、この実施の形態では、棄却した仮説をバッファメモリ２６の時刻ごとに別々に、さらに、履歴属性、つまり最終単語もしくは音素履歴についても別々に分類して記録する。
【００１９】
当該時刻をｔとするとき、仮説絞込み部２４で棄却された仮説４１は、仮説の受け渡し処理２７によってバッファメモリ２６の時刻ｔの、仮説４１の音素履歴ａｃと同一の音素履歴ａｃに対応する仮説記憶領域４６に追加する。ここで、仮説４３は、時刻ｔにおける仮説絞込み部２４の処理過程で、仮説４１よりも前に時刻ｔの各音素履歴ａｂ又はａｃに対応する仮説記憶領域４５，４６に追加された仮説とする。また、バッファメモリ２６の時刻ｔより以前の時刻の仮説記憶領域（例えば時刻ｔ−１の仮説記憶領域４０，４４）には、各時刻で棄却された仮説（例えば仮説４２）が音素履歴（例えば音素履歴ｂｃ，ｄｅ）毎に記録されており、時刻ｔ以降の時刻の仮説記憶領域（例えば時刻ｔ＋１の仮説記憶領域４７，４８）には、まだ何も記録されていない。
【００２０】
そして、以上のように、棄却された仮説を各時刻の音素履歴ごとにバッファメモリに記録しておき、履歴修正部においては、再評価する仮説の最終単語の開始時刻が仮説棄却時刻と一致し、なおかつ、先行音素履歴が音素履歴と一致するバッファメモリ内の仮説記憶領域、例えば領域４５を探し出して、その仮説記憶領域４５に記録された仮説のみを読み出して履歴の修正に利用する。
棄却された仮説を各時刻ごとに、最終単語ごとに各別の仮説記憶領域に記憶し、履歴修正時には、その再評価する仮説の最終単語の開始時刻と一致した仮説棄却時刻の先行単語が棄却仮説の最終単語と一致する仮説記憶領域内の仮説のみを履歴修正に利用してもよい。
【００２１】
その結果、各時刻の最終単語もしくは音素履歴ごとの仮説記憶領域に記録される仮説の数は、各時刻ごとの仮説記憶領域に記録するＤｅｌａｙｅｄ  Ｂｉｇｒａｍの場合に比べて少ないことから、仮説の履歴を修正する際に、履歴を入れ替えてスコアを計算する回数を抑えることができる。
この発明の方法をコンピュータによりプログラムを実行させて達成させることもできる。その場合の機能構成を図２に示す。各部はバス５９に接続され、分析プログラムがＣＤ−ＲＯＭ、磁気ディスクなど、あるいは通信回線を介してメモリ５４にインストールされてあり、同様に探索処理プログラムがメモリ５７にインストールされてある。入力部５１から音声が入力されると、必要に応じて記憶部５３に格納されながら、メモリ５４の分析プログラムをＣＰＵ５８が実行することにより特徴パラメータのベクトルデータ時系列に変換される。文法／言語モデルデータベース５６として、この例では単語ネットワークメモリ５６ａと言語モデルデータベース５６ｂが設けられた場合である。
【００２２】
メモリ２６の探索処理プログラムをＣＰＵ５８が実行することにより、特徴パラメータのベクトルデータ時系列に対し、前述したように、つまり図３に示すように各時刻ごとに、仮説リストの生成を行い（Ｓ１）、その仮説について音響モデルデータベース５５の音響モデルを用いて音響スコアを計算して加算し（Ｓ２）、最終単語の終端の仮説についてはそれまでの音響スコアの加算値に対し、言語モデルを用いて言語スコアを求めて加算して仮説のスコアを求め（Ｓ３）、次にその仮説スコアを求めた仮説の最大のものについて、その最終単語の開始時刻とその直前の履歴属性とが一致する仮説記憶領域をバッファメモリ２６から探し、その領域内の仮説を読み出して、履歴修正処理を行う（Ｓ４）。この履歴修正処理した後の仮説スコアを用いて仮説絞込みを行い、棄却仮説をその時刻と履歴属性ごとに分類してバッファメモリ２６のその記憶領域に記録する（Ｓ５）。入力音声が終了していなければ（Ｓ６）、ステップＳ１に戻り、終了した場合は、その時の最終単語の終端に達した仮説中のスコアが最大の仮説を認識結果として出力部５２から出力する（Ｓ７）。
【００２３】
なお、この発明は１つの単語から全ての単語への接続を許すような文法モデルを用いてもよい。
【００２４】
【発明の効果】
以上説明したように、この発明は、仮説絞込みの際に棄却された仮説を、各時刻の履歴属性（最終単語もしくは音素履歴）ごとに記録し、履歴修正の際に、再評価する仮説の最終単語の開始時刻が仮説棄却時刻と一致し、なおかつその仮説の先行単語もしくは先行音素履歴が対応する履歴属性、つまり最終単語もしくは音素履歴と一致するバッファメモリ内の仮説記憶領域に記録された仮説のみを読み出して履歴の修正に利用するようにしているため、各時刻の仮説のリストに含まれる各仮説の履歴を修正する際に、履歴を入れ替えてスコアを計算する回数が従来より少なくなり履歴修正の計算量が低減するという効果を奏する。
【図面の簡単な説明】
【図１】この発明方法における棄却された仮説の記録状態の例を示す図。
【図２】この発明の方法をコンピュータにより機能させる場合の機能構成例を示す図。
【図３】この発明の実施例の処理手順を示す流れ図。
【図４】従来の音声認識処理の概要を示す図。
【図５】履歴修正部とバッファメモリを有する音声認識処理の概要を示す図。
【図６】従来の棄却された仮説の記録例を示す図。
【図１】
0003550350.tif 000002
【図２】
0003550350.tif 000003
【図３】
0003550350.tif 000004
【図４】
0003550350.tif 000005
【図５】
0003550350.tif 000006
【図６】
0003550350.tif 000007