JPH11282488A - マッチング方法及び装置及び記憶媒体 - Google Patents

マッチング方法及び装置及び記憶媒体

Info

Publication number
JPH11282488A
JPH11282488A JP11033280A JP3328099A JPH11282488A JP H11282488 A JPH11282488 A JP H11282488A JP 11033280 A JP11033280 A JP 11033280A JP 3328099 A JP3328099 A JP 3328099A JP H11282488 A JPH11282488 A JP H11282488A
Authority
JP
Japan
Prior art keywords
signal
pruning
value
path
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
Application number
JP11033280A
Other languages
English (en)
Inventor
Robert A Keiller
アレキサンダー キーラー ロバート
Eli Tzirkel-Hancock
ツィケル−ハンコック エリ
Julian Richard Seward
リチャード シーワッド ジュリアン
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Publication of JPH11282488A publication Critical patent/JPH11282488A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G10—MUSICAL INSTRUMENTS; ACOUSTICS
    • G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00—Speech recognition
    • G10L15/08—Speech classification or search
    • G10L15/12—Speech classification or search using dynamic programming techniques, e.g. dynamic time warping [DTW]
    • G—PHYSICS
    • G10—MUSICAL INSTRUMENTS; ACOUSTICS
    • G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00—Speech recognition
    • G10L15/08—Speech classification or search
    • G10L2015/085—Methods for reducing search complexity, pruning

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)
  • Image Analysis (AREA)

Abstract

(57)【要約】 【課題】 マッチング処理の精度を維持しながら、成長
する可能なマッチングの数を効果的に減少させるため
の、より効果的な刈り込み技術を提供する。 【解決手段】第1の信号を表わす第1信号パターン列と
第2の信号を表わす第2信号パターン列とをマッチング
させる方法及び装置が提供される。システムは複数の異
なる刈り込み閾値(th)を用いて、第2信号パターン
の列と処理中の現第1信号パターンまでの第1信号パタ
ーンの列との間の可能なマッチングを表わすパスの成長
を制御する。特に、与えられたパスに対して該現第1信
号パターンの処理の間に用いられる刈り込み閾値は、第
2の信号を表わすパターン列内における、処理中の現第
1信号パターンに対して得られたパスが終端とする第2
信号パターンの位置に依存する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パターンマッチン
グ方法および装置に関する。本発明は特に、これに限ら
れるものではないが、動的計画法によるマッチング技術
において用いられる刈り込み閾値の調整に関するもので
ある。典型的な実施形態においては、動的計画法による
パターンマッチング技術が音声認識システムに用いられ
る。
【0002】
【従来の技術】音声認識は、未知の発声を特定する処理
である。現在、いくつかの異なるタイプの有用な音声認
識システムがあり、いくつかの方法でカテゴリに分類さ
れている。たとえば、いくつかのシステムは話者依存型
であり、他は話者非依存である。いくつかのシステム
は、大量の語彙(>10000語)を用いて稼動し、他
のものは限定された語彙量(<1000語)で稼動す
る。いくつかのシステムは独立した語を認識することの
みが可能であり、他のシステムは接続された一連の語を
含むフレーズを認識できる。
【0003】語彙の限定されたシステムでは、音声認識
は未知の発声の特徴と、データベースに格納された既知
の語の特徴を比較することにより実行される。既知の語
の特徴は学習(トレーニング)セッションの間に決定さ
れる。この学習セッションでは、1つあるいは複数の既
知の語が、それらに対する基準パターンを生成するのに
用いられる。
【0004】未知の発声を認識するために、音声認識装
置はその発声からパターン(あるいは特徴)を抽出し、
データベースに格納された各基準パターンと比較する。
入力発声を表わすパターンを基準パターンと比較する一
つの方法は、動的計画法を用いることであり、これは基
準パターンの各々と未知の発声から抽出されたパターン
との間の最適な時間的配列を提供する。これは、パター
ンのペア間における最適なマッチングが得られるまで、
一方のパターンの時間軸を局所的に縮めたり伸ばしたり
することで達成される。最良のマッチングを提供する基
準パターンもしくは基準パターン列が、入力発声に最も
よく対応しそうな単語或いは単語列を特定する。
【0005】動的計画法によるマッチング技術における
一つの問題は、入ってくる発声と各基準モデルとの間の
多くの可能なマッチングに関して判定することを含むた
め、計算的に高価となる(多くの計算時間を費やす)こ
とである。
【0006】マッチング処理の間、各可能なマッチング
には、そのマッチングの近さに依存するスコアが与えら
れる。動的計画法によるマッチング技術において必要と
なる計算量を制限するための一つの方法は、悪いスコア
を有するマッチングに関する処理を止めることである。
音声認識の技術分野において、この技術は刈り込み(pr
uning)として知られている。しかしながら、刈り込み
技術を用いることの問題は、いくつかの可能なマッチン
グは無視し得ないほどに変化し、利用可能な固定された
メモリ量に対して、メモリのオーバーフローが生じる可
能性があることである。
【0007】EP−A−0525640(富士通
(株))は、各時点において処理される可能なマッチン
グの数が所定の最小値及び最大値の間にあるように閾値
を変化させることにより、この問題を解決する。特に、
次の時点において処理されなければならないであろう可
能なマッチングの数を予想し、その予想された数に依存
して刈り込み閾値が変化される。ここで、予想数は、現
時点で処理されていた可能なマッチングの数と、先行す
る時点で処理された可能なマッチングの数の線形外挿法
により得られる。EP−A−0525640において用
いられている処理は、与えられた閾値に対する可能なマ
ッチングの数をカウントし、満足な状態となるまでその
閾値を調整することにより、各時点の実際の可能なマッ
チングの数が与えられた最少及び最大数の範囲に入るこ
とを確実にする。
【0008】また、EP−A−0789348は、刈り
込み閾値を調整するための類似のシステムを開示する。
ただし、このシステムでは、次の時点で処理されること
になるであろう可能なマッチングの数を見積もるのでは
なく、現時点まで延びているパスを次の時点へ成長させ
るための動的計画法の制約を用い、次の時点へ成長し、
破棄されなかった動的計画法パスの数をカウントする。
【0009】
【発明が解決しようとする課題】本発明は、マッチング
処理の精度を維持しながら、成長する可能なマッチング
の数を効果的に減少させるための、より効果的な刈り込
み技術を提供することを目的とする。
【0010】
【課題を解決するための手段】本発明の一態様によれ
ば、以下のパターンマッチング方法が提供される。すな
わち、第1の信号を表わす第1信号パターン列と第2の
信号を表わす第2信号パターン列とをマッチングさせる
方法であって、前記第1の信号と前記第2の信号をマッ
チング処理を用いてマッチングし、該マッチング処理は
各第1信号パターンを順次に処理して複数のパスを成長
させ、各パスは第2信号パターンの列と第1信号パター
ンの列との間の可能なマッチングを表わし、各パスは夫
々にそのマッチングの近さを表わす累積値を有し、第1
信号パターンの各々の処理の間に前記累積値を刈り込み
値と比較し、該比較ステップの結果に基づいてパスを破
棄することにより、前記マッチングを制御し、現第1信
号パターンの処理の間の前記制御ステップにおいて複数
の異なる刈り込み値が用いられ、与えられたパスに対し
て該現第1信号パターンの処理の間に用いられるその刈
り込み値は、前記第2の信号を表わすパターン列内にお
ける、処理中の現第1信号パターンに対して与えられた
パスが終端とする第2信号パターンの位置に依存する。
【0011】このように、異なる刈り込み閾値を用いる
ことにより、システムの精度を保ちながら、各時点で成
長するパスの数を減少することができる。特に、これ
は、最良のパスと局所的な最小値の間の差が、最良のパ
スが第2信号の最初のいくつかのパターンを横切るとき
に最大となる傾向にあることが観察されるからである。
【0012】好ましくは、柔軟な刈り込み技術が実行さ
れ、それにより対応する刈り込み値よりも悪い累積値を
有するいくつかのパスが破棄されずに残る。このこと
は、最良のパスが刈り出された場合に、その最良のパス
に近いスコアを有するであろう隣接するパスが刈り込ま
れずに維持されるという利益をもたらす。従って、たと
え最良のパスが刈り出されても、その最良のパスに十分
に近いパスは保持され、刈り込みの処理が認識エラーの
原因となることを防止する。
【0013】
【発明の実施の形態】以下、添付の図面を参照して本発
明の好適な実施形態を説明する。
【0014】本発明の実施形態は、コンピュータハード
ウエアにおいて実現され得るが、以下に記載される実施
形態では、パーソナルコンピュータ、ワークステーショ
ン、複写機、ファクシミリ装置等のような処理ハードウ
エアに関連して稼動されるソフトウエアにおいて実現さ
れる場合を説明する。
【0015】図1は、本発明の実施形態を実現させるべ
くプログラムされたパーソナルコンピュータ(PC)1
を示す。キーボード3、ポインティングデバイス5、マ
イク7及び電話回線9がインターフェース11を介して
接続されている。キーボード3とポインティングデバイ
ス5はユーザによるシステムのコントロールを可能とす
るものである。マイク7はユーザの音響的な音声信号を
装置上の電気信号に変換し、これを処理のためにPC1
に提供する。この実施形態において、処理すべき入力音
声の始点と終点は入力発声の間キーボード3のスペース
キーを押下しておくことにより、ユーザによって特定さ
れる。このような方法を用いた場合、システムは処理す
べく特定された入力発声を処理するだけである。なお、
内蔵モデムと音声受信回路(不図示)が、遠隔のコンピ
ュータもしくは遠隔のユーザと通信できるように電話回
線9に接続されてもよい。
【0016】なお、本発明に従ってPC1を稼動させる
ためのプログラムの命令(プログラムコード)は、磁気
ディスク13のような格納デバイスからPC1による実
行のためにPC1に供給されてもよいし、電話回線19
を介して遠隔コンピュータと通信する内部モデムを介し
て供給されてもよい。
【0017】以下、図2を参照して、本実施形態による
限定語彙連続音声認識システムの動作を説明する。例え
ば、マイク7から入力された音声を表す電気信号は、プ
リプロセッサ15に入力される。プリプロセッサ15は
入力音声信号をパラメータフレームのシーケンスに変換
する。ここで、各パラメータフレームは、入力音声信号
に対応する時間フレームを表す。各パラメータフレーム
におけるパラメータは典型的には、ケプストラル(ceps
tral)係数と、パワー/エネルギー係数とを含み、これ
らは入力音声信号の特徴を表す重要な情報を提供する。
パラメータフレームのシーケンスは認識ブロック17に
供給される。認識ブロック17は、パラメータフレーム
の入力シーケンスを基準モデル、すなわち単語モデル1
9と比較することにより音声を認識する。ここで、各モ
デルは、認識されるべき入力音声のパラメータと同じ種
類のパラメータによって表されたパラメータフレームシ
ーケンスを備える。
【0018】また、言語モデル21とノイズモデル23
も、認識処理の補助のために認識ブロック17へ供給さ
れる。ノイズモデル23は無音声ノイズもしくはバック
グランドノイズを表わし、本実施形態においては、それ
らは認識されるべき入力音声信号と同じタイプの単一の
パラメータフレームを備える。また、言語モデル21
は、認識ブロック17から出力された、認識結果として
許可される単語シーケンスを、そのシステムにとって既
知の単語シーケンスに適合するように制限するのに用い
られる。認識ブロック17から出力される単語シーケン
スは、例えば文書処理アプリケーションにおける使用の
ために提供されてもよいし、あるいは、PC1の動作を
開始したり、止めたり変更したりするためのオペレータ
コマンドとしても用いられ得るものである。
【0019】プリプロセッサ15、バッファ16、単語
モデル19や言語モデル21やノイズモデル23を生成
するための当該システムの学習、新しいフレーズが加え
られた際の言語モデルの更新、そして単語モデルの適用
に関するより詳細な説明は、EP−A−0789349
に示されており、その内容は本願の参照として組み込ま
れる。以下、基準モデルと認識ブロック17についてよ
り詳細に説明する。
【0020】[基準モデル]上述したように、プリプロ
セッサ15からの出力信号によって表される単語が何で
あるかを決定するために、これらの出力信号は基準モデ
ルと比較される。この基準モデルは、当該システムにと
って既知の単語及び当該システムをとりまく音響環境を
モデル化して格納したものである。なお、特定の単語に
関連する各モデルは、上述したプリプロセッサ15から
出力されるパラメータフレームと同じタイプのパラメー
タフレームシーケンスを備える。
【0021】本実施形態において、言語モデル21はバ
イグラムモデル(Bigram model)に類似するものであ
り、メッシュ状にノードを相互接続するものである。こ
こで、それら相互接続は、当該システムに既知の単語を
表わす。しかしながら、それら相互接続は、例えば、正
しい英語の使用に関するようないかなる文法規則をも含
むものではなく、そのシステムにとって既知のフレーズ
に基づいてどの単語が他のどの単語に続くことができる
かを規制するのみである。図3は、当該システムによっ
て以下のフレーズが学習されたときに派生する言語モデ
ル21を表わす図である。
【0022】 get an image −フレーズ1 get the erth −フレーズ2 get the fjord −フレーズ3 get the map −フレーズ4 get the coin −フレーズ5 save an image −フレーズ6 load an image −フレーズ7 make it smaller −フレーズ8 make it larger −フレーズ9 make it brighter −フレーズ10 make it more red −フレーズ11 make it more yellow −フレーズ12 make it more green −フレーズ13 make it more cyan −フレーズ14 make it more blue −フレーズ15 make it more magenta −フレーズ16 quit −フレーズ17。
【0023】この場合、図3に示されるように、スター
トノードN0、エンドノードNn、及び8個の中間ノード
N1〜N8がある。認識されるべき入力フレーズのため
に、システムはスタートノードN0からエンドノードNn
までのパスを見出さねばならない。しかしながら、シス
テムは学習した中において、合理的な範囲でフレキシブ
ルである。例えば、ユーザが"make it smaller"のかわ
りに"make smaller"というフレーズを入力すると、シス
テムはこの入力フレーズを"make it smaller"と解釈す
る。しかし、システムはたとえフレーズ内の個々の単語
が既知であっても、そのフレーズが当該システムに未知
のフレーズであった場合には、システムはそのフレーズ
を認識しない。例えば、上述の言語モデルにおいて、ユ
ーザが"save the image"と言った場合、システムにとっ
て"save"、"the"、"image"の各々は既知であるが、シス
テムはこのフレーズを認識しない。
【0024】[動的計画法(DP)]効果的な手法で2
つのパラメータフレーム列を整合させるために、この種
の整合処理は、例えば単語が孤立して話された場合と、
連続的に話されたフレーズ内に単語が埋め込まれている
場合とのように、単語が話された際の異なる速さを補間
できなければならない。動的計画法(DP)による整合
処理は、全てのポイントで最良のマッチングを達成する
ために、最適で非線型のタイム−スケール歪を適用し
て、一つの単語を他の単語上にマッチングさせることの
できる方法の一つである。
【0025】DPマッチング処理の概要について、図4
〜図6を参照して以下に説明する。図4は、横座標軸に
入力された単語を表わすパラメータフレーム列を取り、
縦座標軸に単語モデルを表わすパラメータフレーム列を
とった様子を表わす。単語モデルと入力単語との間の差
の合計を見出すために、最小の累積距離を与える、図4
における左下と右上の間のあらゆるパスに沿ったフレー
ムの各ペア間の全距離の合計を計算する必要がある。こ
のような決定方法によれば、確実に、類似する単語の対
応フレームを正しく整合させることができるであろう。
このような全距離計算方法の一つは、全ての可能なパス
を考慮し、各パスに沿った各ポイントに対してd(k,
j)(フレームkとフレームjの間の距離)を加算する
ものである。そして、それら2つの単語の間で測定され
た距離として、獲得された累積距離の中から最小の値が
採用される。この方法は正しい答えを与えるが,有効な
パスの数が非常に多くなり、実用的な音声認識システム
にとっては実現不可能な計算量となってしまう。
【0026】動的計画法は,全ての可能なパスに沿った
累積距離を計算することなく最適なパスに沿った累積距
離を見つけるための数学的なテクニックである。累積距
離が決定されるパスの数は、DP処理にある制約を設け
ることによって著しく減少させることができる。このよ
うな制約の一つとして、最適なパスは常に非負の傾斜を
有して前進するというものが挙げられる。この制約がな
いと、ある単語において、他のものと時間的に逆転した
ものとなってしまうからである。また、DP処理に設け
られ得る他の制約としては,入力された単語の基準単語
に対応する時間的伸縮の最大量を制限することである。
この制約は,マッチング処理においてスキップもしくは
繰り返すことのできるフレームの数を制限することによ
って実現され得る。例えば、図5において、フレームf
kがフレームfj mとマッチングする場合、フレームfk+1
はフレームfj m、fj+1 m、fj+2 mあるいはfj+3 mとマッ
チングし得るようにフレームシーケンスが制約される。
従って,入力単語のパラメータフレームfkと単語モデ
ルのパラメータフレームfj mが最適なパス上にある場
合、上述の制約によれば、この最適なパス上のこのポイ
ント(k,j)に続くポイントは図6に示すように(k-1,
j)、(k-1,j-1)、(k-1,j-2)あるいは(k-1,j-3)の
どれかでなければならない。
【0027】また、図4では、入力された単語と単語モ
デルの間の可能なマッチングが表わされており、フレー
ムfk-1まで成長した“有効パス”が表わされている。
フレームfkが認識ユニット17に供給されたとき、現
フレームfkと各有効パスの終端に位置する単語モデル
のフレームとの間にはローカル距離が存在し、そのロー
カル距離は対応する有効パスの累積距離に加えられる。
複数のパスが同一のポイントで出会った場合は、最小の
累積距離を有する有効パスが継続され、他のものは破棄
される。例えば、図4において、パスA、B、Cがポイ
ント(k,j)で出会った場合、最も小さい累積距離を有
するパス(A、B或いはC)が継続され、他の2つは破
棄されることになる。
【0028】従って、D(k,j)を、その単語の最初か
らポイント(k,j)までの有効パスに沿った累積距離を
表わすとすると、D(k,j)は、
【0029】
【数1】 と表わされる。
【0030】そして、上述の制約を加味することによ
り、D(k,j)は、
【0031】
【数2】 と表わされる。
【0032】上述の制約で、全ての可能なパスはd(0,
0)、d(1,0)、d(2,0)もしくはd(3,0)から始ま
らなければならないので、D(0,0)はこれらのポイン
トのいずれかに等しくなければならない。従って、これ
らの開始点の一つから開始し、D(k,j)の値は再帰的
な処理ルーチンを経て決定され得る。処理がマッチング
されるべき単語の終わりに到達したとき、DP処理によ
って計算された最小の累積距離が当該2つの単語を最良
の形態でマッチングした場合に対応するスコアを表わし
ている。認識されるべき入力発声が単語のシーケンスを
有している場合、採用された方向を表わすのにバックポ
インタが用いられなければならない。DP処理が最適な
パスの終了を特定した後に、そのバックポインタを通し
て逆追跡することにより、入力発声を認識することを可
能とするためである。
【0033】上述したDP処理は、全ての可能なパスを
余すところなくサーチする場合に比べて著しく計算量を
低減するものであるが、依然としてその計算量はかなり
多いものとなり得る。特に、入ってくる単語の各々は、
マッチングのために多くの単語モデルと比較されなけれ
ばならない。それゆえ、認識結果の精度に重要な影響を
及ぼさないような計算についてその計算量を削ることは
望ましいことである。成長するパスは木の枝に似ている
ので、これは、しばしば刈り込み(pruning)と称され
る。この方法でパスを刈り込むことにより、最良なパス
の両側を含む狭いバンド内において、可能なパスが考慮
されることになる。そのような刈り込みが用いられる場
合には、動的計画法の処理が必ず最適なパスを見つける
ということをもはや保証することはできないが、しかし
ながら、例えば、5〜10のファクターによって計算の
平均量を減少させる閾値では、単語が非常によく似てい
る正しいパスはほとんど常に得られることは、当業者に
は十分に理解できることであろう。
【0034】この実施形態においては、認識されるべき
発声に対するパラメータフレーム列を単語モデル19及
びノイズモデル23とマッチングするために、図2に示
される認識ブロック17は上述したものに類似の動的計
画法処理を用いる。
【0035】[認識サーチ]本実施形態による音声認識
システムの特徴の一つは、動的計画法処理が実現される
方法にある。特に、本実施形態は、上述の式(2)にお
いて実行される最小値の計算、すなわち、
【0036】
【数3】 が処理中の現在フレームfkに依存しないということを
利用する。従って、式(2)のこの部分は前フレームf
k-1が処理されているときに計算しておくことができ
る。
【0037】次に、動的計画法処理が利用される方法に
ついて図7〜17を参照して以下に説明する。なお、単
語モデルのフレームと入力された認識すべき発声のフレ
ームとの混同を避けるために、単語モデルのフレームを
以降ではステートと称することにする。
【0038】図7は、入力された発声を認識するときの
認識ブロック17において実行される処理を示すフロー
チャートである。システムは、プリプロセッサ15によ
って生成される順番で入力発声のパラメータフレームを
順次に処理する。この目的のために、フレームカウンタ
変数kが用いられる。変数kは、ステップS41におい
てゼロに初期化され、各フレームが処理された後にステ
ップS61において順次インクリメントされる。処理中
の各フレームは、ステップS47において、各単語モデ
ル内の残存する有効パスの累積距離を更新するために用
いられる。ここで、各単語モデルを処理する目的のため
に、単語カウンタwが用いられる。この単語カウンタw
は、ステップS43においてゼロに初期化され、ステッ
プS47の処理の後にステップS49においてインクリ
メントされる。ステップS45において、システムは、
現フレームに関して全ての単語モデルが処理されたかど
うかをチェック、すなわち、単語カウンタwがシステム
に既知の単語の数nwより小さいかどうかをチェックす
る。
【0039】現フレームfkに関して各単語モデルに対
する処理が終わると、処理はステップS51へ進む。ス
テップS51においては、図3に示される言語モデル2
1のノードが現フレームを用いて処理される。ステップ
S51で実行される処理は、現在のパラメータフレーム
が入力音声の開始もしくは終端の無音声部分、もしくは
入力音声における単語の許容されたシーケンス間に存在
する無音声部分に対応する状況を考慮する。この処理に
おいても、有効パスのみが単語の許容されたシーケンス
を通して成長することを確実にする。
【0040】ステップS51においてノードが処理され
た後、各単語モデルの開始、すなわち、“入り口ステー
ト(エントリステート)”の一つで終わる有効パスのた
めの累積距離がステップS57において更新される。こ
の処理は、現在のパラメータfkが別の単語モデルの終
端にマッチする場合に、次のパラメータフレームfk+1
が別の単語モデルの開始とマッチするという状況に対処
するものである。これを達成するために、単語カウンタ
wはステップS53において再度ゼロに初期化され、ス
テップS55においてシステムは全ての単語モデルが処
理されたかどうかをチェックする。そして、システム
は、ステップS57において、現在の単語モデルの入り
口ステートに対する累積距離を更新する。そして、単語
カウンタwがステップS59においてインクリメントさ
れる。その後、処理はステップS55へ戻る。
【0041】現在のパラメータフレームfkに対して全
ての単語モデルがステップS57で処理された後、パラ
メータフレームカウンタ変数kがステップS61にてイ
ンクリメントされる。次に、ステップS63において、
システムは処理されるべき入力発声のパラメータフレー
ムがあるかどうかを判断する。これは、ステップS63
においてkをシステムリミット(LIMIT)及び発声終端
識別子(EOS)と比較することによりなされる。システ
ムリミットは、プリプロセッサ15によって行われる処
理に先立ってスピーチサンプルを格納するのに用いられ
るバッファ(不図示)のサイズによって定義される。
【0042】入力発声の全てのパラメータフレームが処
理された後、DP処理は完了し、バックトラックアルゴ
リズムが最適のパスを決定し、認識結果を決定するため
に用いられる。一方、ステップS63において処理され
るべきパラメータフレームがまだ存在するとシステムが
判断した場合、システムはステップS65において刈り
込みの閾値を調整する。すなわち、次の入力フレームが
処理される間のステップS47、S51及びS57にお
いて処理される有効パスの数を制限するための刈り込み
閾値ThがステップS65で調節される。そして、処理
はステップS43に戻る。
【0043】以下、図7のステップS47において実行
される処理について、単語モデルの特定の例を挙げなが
ら、図8〜図13を参照してより詳細に説明する。図8
は、トレーニング中に派生したステートS0からS8のシ
ーケンス、出口ステートSD、そして単語モデル201
の終端にある番人(sentinel)ステートSSENを備える
単語モデル201の例を示す。なお、出口ステートと番
人ステートの目的は後述する。
【0044】単語モデル201の各ステートSは、その
ステートまで成長した有効パスの累積距離を格納する累
積距離格納部D[S]を有する。この実施形態において、
単語モデル201は、これに関連する、現在フレームf
kのための現アクティブリスト203も有する。このリ
ストには、現フレームfkにおいて有効パスの終端とな
っている単語モデル201内のステートが、降順で登録
されている。従って、現アクティブリスト203に登録
されている各ステートはそのステートまで延びている有
効パスの累積距離を格納することになる。ここで説明す
る特定の例においては、現フレームfkのための現アク
ティブリスト203には、S7、S5、S4、S3、S2、
S1そしてSSENが登録されている。現アクティブリスト
203に登録されている各ステートはアクティブステー
トと称される。また、本実施形態において、単語モデル
201はこれに関連する新アクティブリスト205を有
する。この新アクティブリストは、ステップS47にお
いて実行される処理の間に完成され、次のフレームf
k+1において有効パスの終端が存在することになるであ
ろう単語モデル201内のステートを登録する。
【0045】次に、上述の現アクティブリスト203と
新アクティブリスト205の意味について、図9を参照
して説明する。ここで、図9は現フレームfkまでの入
力単語と単語モデル201との間の6種類の可能なマッ
チングを表すものであり、特に6つの有効パスP1〜P
6を示している。図示のように6つの有効パスP1〜P
6の各々は単語モデル201のステートS7、S5、
S4、S3、S2及びS1を終端としており、これら有効パ
スの各終端ステートが現アクティブリスト203におい
て(番人ステートとともに)降順に登録されることにな
る。一方、新アクティブリスト205に入るべきステー
トを決定するために、すなわち次の入力フレームfk+1
のために残されるべきパスを決定するために、一つの入
力パラメータフレームから次の入力パラメータフレーム
への許容されたステートの遷移、すなわち動的計画法に
よるマッチング処理に設けられた制約が考慮される。
【0046】まず、入ってくる発声に対する基準モデル
の時間的圧縮の最大量は、入ってくる発声の隣接するフ
レーム間でスキップし得るステートの最大数によって決
定される。本実施形態においてこの最大数は“2”にセ
ットされる。すなわち、DP処理は図5で示した状態遷
移に従う。また、入ってくる発声に対する基準モデルの
時間的伸長の最大量は、連続して入ってくるフレームを
いくつまで同一ステートにマッチングさせ得るかによっ
て定義される。しかしながら、これは、繰り返しの数を
カウントする手段と繰り返し数が許容された最大数と等
しいかどうかをチェックするための判断を要求する。発
明者らは、各繰り返しのたびに単にペナルティを課する
ことが効果的で、処理時間の短縮化を実現することを見
出した。以上のような制約により、例えば、パスP5は
図9に破線で示されるパス207の1つ或いは全てに沿
って成長し得る。図9に示されている他のパスP1〜P
4及びP6も同様の方法で成長し、パスの成長先となり
得るステートが新しいアクティブリスト205へ降順で
加えられる。同じポイントにて2つ以上のパスが出会っ
た場合は、最小の累積距離を有するパスが維持され他の
ものは破棄される。さらに、パスの累積距離が刈り込み
閾値より大きくなった場合、そのパスも破棄される。こ
のようにして、新しいパスが連続的に生成され、その一
方で他のパスが破棄されていく。なお、刈り込み閾値の
目的は、各入力パラメータフレームに関して処理される
有効パスの数を制限し、これによってアルゴリズムに必
要となる時間及びメモリの量を制限することにある。
【0047】図10は、図7のステップS47において
実行される処理のより詳細を示すフローチャートであ
る。まず、ステップS71において、ポインタNAが初
期化され、単語モデルの出口ステートにおいて格納され
た累積距離、すなわちD[SD]が特大値、HUGEにセッ
トされる。ポインタNAは、新アクティブリスト205
に登録されている最後のアクティブステートに続く次の
ステートを指すのに用いられる。当業者は、それゆえ、
ポインタNAが新アクティブリストに加えられるべき次
のステートとなる可能性があるステートを指すことにな
ることを理解するであろう。処理の最初において、新ア
クティブリスト205にはアクティブステートがなく、
そのためポインタNAは出口ステートSDを指すように
セットされるのである。ステップS73において、シス
テムは、現アクティブリスト203にアクティブステー
トがあるかどうかを見るべくチェックする。換言すれ
ば、現フレームfkに対して、現在の単語内のステート
を終端とする有効パスがあるかどうかを見るためのチェ
ックを行う。本例においては、現アクティブリスト20
3において7つのアクティブステート(番人ステートS
SENを含む)があり、システムはこれらステートの各々
を順次処理する。ここで、カウント変数iが提供され
る。カウント変数iは、現アクティブリスト203上の
アクティブステートを通してカウントするのに用いられ
るもので、ステップS75においてゼロにセットされ、
ステップS77において、現アクティブリスト203内
の全てのアクティブステートが処理されるまでステップ
S79においてインクリメントされる。
【0048】現アクティブリスト203上の全てのアク
ティブステートが処理されると、ステップS83へ進
む。ステップS83では、ステップS77の処理の間に
生成された新アクティブリスト205が処理されるべき
入力発声の次のフレームfk+1のための現アクティブリ
スト203に変更される。この変更は、実際には、2つ
のアクティブリストを指すために用いられる2つのポイ
ンタを入れ替えることによって達成される。従って、古
くなった現アクティブリストは、次の入力フレームf
k+1の処理の間に新アクティブリストとして上書きされ
る。そして、ステップS85において、最後にアクティ
ベートされ、最後に新アクティブリスト205(番人ス
テートSSENを含まない)に登録された、ポインタLA
によって指定される最終ステートが、図7に示されるス
テップS57における使用のために格納される。なお、
ステップS57については、以下に更に詳細に説明す
る。
【0049】ステップS77において実行される処理の
概要を、アクティブステートS7とS5を例として用いて
説明する。これらS7とS5は、図9に示したように、そ
れぞれパスP1とP2の終わりにある。図11は2つの
有効パスP1とP2の一部を示すもので、これらはそれ
ぞれ現フレームfkにて、ステートS7とS5を終端とし
ている。図11に示される破線は、2つのパスP1とP
2の各々が次のフレームfk+1において成長し得る道を
表わしている。破線213と215によって示されるよ
うに、フレームfk+1においてパスP1が別の単語の中
へ伸びていくことも可能である。従って、パスP1の累
積距離(それはアクティブステートS 7に格納される)
は、出口ステートSDの中にコピーされる。また、破線
217と219によって示されるように、パスP1はス
テートS8およびステートS7のそれぞれにも成長でき
る。従って、パスP1の累積距離はこれらのステートに
もコピーされる。こうして、図12aに示されるよう
に、ステートS8とS7が新しいアクティブリスト205
に降順で加えられる(しかしながら、入ってくるフレー
ムと実際に比較されることがなく、その単語を出て行く
全てのパスの累積距離のうちの最小のものを格納するた
めだけに用いられる出口ステートは新アクティブリスト
205には加えられない)。そして、更に、最終アクテ
ィブポインタLAが最後に加えられたステート、すなわ
ちステートS7を指すべくセットされ、次アクティブポ
インタNAがステートS6を指すようにセットされる。
【0050】パスP1が処理されると、次に、システム
はパスP2を処理する。破線221,223,225及
び227によって示されているように、パスP2はステ
ートS8、ステートS7、ステートS6及びステートS5の
それぞれに成長し得る。しかしながら、パスP2の累積
距離(それはアクティブステートS5に格納されてい
る)は、これらステートの全てに単純にコピーされるも
のではない。なぜなら、ステートS8とステートS7の2
つのステートは、このときすでに次のフレームf k+1に
対する累積距離を有しているからである。従って、これ
ら2つのステートのために、すでにその中に格納されて
いる累積距離とパスP2による累積距離との比較がなさ
れ、最小のものがそれら2つのステートにコピーされ
る。換言すれば、アクティブリストS5の処理後の、図
11に示されるパスに対してS8とS7に格納される累積
距離は、min(D[S7],D[S5])によって与え
られる。一方、次のフレームfk+1のための累積距離は
ステートS6内にはまだ格納されていないので、アクテ
ィブステートS5に格納された累積距離は、ステートS6
に直接的にコピーされ得る。この結果、図12bに示さ
れるように、2つのステートS6とS5が新アクティブリ
スト205に加えられ、最終アクティブポインタLAが
ステートS5を指すようにセットされ、次アクティブポ
インタNAがステートS4を指すようにセットされる。
現アクティブリスト203における、番人ステートS
SENを除く全ての残りのアクティブステートも同じ方法
で処理される。そして、システムが、処理されるべき次
のステートが番人ステートであると判定した場合に、新
アクティブリスト205に番人ステートSSENを加え、
処理は図10に示されるステップS83に進む。このよ
うに、現アクティブリストの終端を特定するために番人
ステートSSENを用いることの利点については後述す
る。以下に述べるステップS77のより詳細な説明から
明らかであるように、最終アクティブポインタLAと次
アクティブポインタNAは、システムが比較を必要とす
るステートとそうでないステートとを特定するために新
アクティブリスト205をチェックする必要をなくすた
めに提供されている。特に、処理対象のステートが次ア
クティブポインタNAによって示されるステートを超え
ている場合は比較が必要であり、そうでなければ累積距
離は単純にそのステートにコピーされ得る。
【0051】ここで、Sを次に処理されるべきアクティ
ブステートであるとすると、本実施形態において適用さ
れた動的計画法の制約によって4つの異なる状況が存在
する。それらの異なる状況とは、次アクティブポインタ
NAに関連づけて考慮されるものである。すなわち、 i)次アクティブポインタNAがステートSを指す状
態、 ii)次アクティブポインタNAがステートS+2を超え
るステートを指す状態 iii)次アクティブポインタNAがステートS+1を指
す状態 iv)次アクティブポインタNAがステートS+2を指す
状態である。
【0052】発明者らは、上記の第1番目の状態が最も
起こりやすいこと、上記の第2番目の状態が2番目に起
こりやすいこと、そして他の2つの状態はめったに起こ
らないことを確認している。探索アルゴリズムは、それ
ゆえ、これらの状況をこの順番で考慮する。このように
して、発生しそうもない状態が、発生しそうな状態が失
敗(false)に終わった場合にのみ考慮されるように
し、探索アルゴリズムの高速化を図る。
【0053】また、発明者らは、本実施形態の動的計画
の制約のために、Sが処理中の現在のアクティブステー
トである場合には、以下のことが保証されることを確認
している。
【0054】
【数4】
【0055】このことから、現アクティブステートに格
納された累積距離、すなわちD[S]がD[S+1]よ
りも大きい場合には、D[S]をD[S+2]及びD
[S+3]と比較する必要はないことがわかる。同様
に、D[S]がD[S+1]よりも小さく、D[S+
2]よりも大きい場合は、D[S]とD[S+3]を比
較する必要がない。しかしながら、現アクティブステー
トSがその単語の終わりから3つのステート以内のもの
である場合には、注意が必要である。このような場合
は、ステートS+3が存在しないからである。この場合
の明確なテストは、単語の終りに番人ステートSSENを
用いることにより回避され得る。より具体的には、番人
ステートSSENに格納される累積距離をゼロにセットす
ることにより、D[S]がD[SSEN]よりも小さくな
り得ないことを保証することができる。
【0056】次に、図10に示されるステップS77に
おいて、各ステートに対して実行される処理について、
図13aから図13eのフローチャートを参照して詳細
に説明する。図13aのステップS91において、シス
テムは、現アクティブステートSを終端としている有効
パスの累積距離と刈り込み閾値Thとを比較する。すな
わち、D[S]とThを比較する。D[S]が刈り込み
閾値Thよりも大きい場合、現アクティブステートで終
わるパスは破棄され、処理は図10のステップS79に
戻る。一方、D[S]が刈り込み閾値Thよりも小さい
場合は、処理はステップS92へ進む。ステップS92
で、システムは、D[S]がゼロであるかどうかをチェ
ックする。すなわち、処理中である現アクティブステー
トSが番人ステートSSENであるか否かをチェックす
る。
【0057】本実施形態においては、上述したように、
処理されるべき現アクティブリスト上に別のアクティブ
ステートが存在しないことをステップS92において特
定できるように、番人ステートがアクティブリストの終
わりに加えられている。なお、そのステートが現アクテ
ィブリスト上の最後であるかどうかを調べるために、あ
る特定のテストが各アクティブステートを処理した後に
実行されてもよい。しかしながら、この方法において番
人ステートを用いることの利点は、ステップS91にお
いて刈り出されたステートに対してテストを実行しない
ことであり、それにより要求される処理量を節約できる
ことである。
【0058】さて、現ステートが番人ステートでない場
合(D[S]≠0の場合)、処理はステップS93へ進
む。ステップS93において、変数ACOUNTがインクリメ
ントされる。このACOUNTは、現フレームfkに対して処
理されるアクティブステートの総数のカウント値を保持
するのに用いられる。次に、システムは、ステップS9
4において、処理中の現アクティブステートSと処理中
の現フレームfkとの間のローカル距離を計算し、それ
を現アクティブステートに格納された累積距離D[S]
に加える。
【0059】本実施形態において、現フレームfkと現
アクティブステートSとの間のローカル距離を算出する
ために、以下のような大きさの総計(マグニチュードの
サム)が用いられる。
【0060】
【数5】
【0061】ここで、mは、プリプロセッサ15によっ
て入力音声から抽出された各フレーム/ステートにおけ
るパラメータの数である。例えば、ユークリッド距離計
測のような、他の距離計測も使用可能である。しかしな
がら、上記のような大きさの総計によれば、積算を必要
とせず、加算と減算のみで距離計算を行い得る。そのた
め、本実施形態ではこの手法を用いている。
【0062】この距離計算がCPUの占有とうい観点か
らみて、認識サーチの主要な構成要素の一つであるとい
う点を当業者は理解するであろう。
【0063】個人用オルガナイザのような、メモリ容量
及び処理能力が制限され、ステート及び入力されるフレ
ームの各パラメータが単一のバイトで格納される低価格
アプリケーションにおいて、上記の距離計算はルックア
ップテーブルを用いて実現することができる。差分Sp
−fk pが511個の異なる値のうちのひとつをとるから
である。この方法でルックアップテーブルを用いること
は、差分Sp−fpk pが正であるか負であるかの判断を
不要とする。それゆえ、距離計算は、
【0064】
【数6】 のようになる。
【0065】テーブルエントリは−255から+255
の間ではなく、1から511の間となるように、256
がルックアップテーブル(LUT)のアドレッシングに
おいて含まれていることを当業者等は理解できるであろ
う。
【0066】距離計算にルックアップテーブルが用いら
れる場合、同じ入力フレームfkが多数の単語ステート
Sに対して比較されるということに着目することによ
り、高速化が達成される。それゆえ、各フレームfkに
対して、TPpがテーブルエレメント[256−fk p]
をアドレスするようにテーブルポインタTPが計算され
得る。それゆえ、距離計算は以下のようになる。
【0067】
【数7】
【0068】ステップS94において累積距離が更新さ
れた後、システムは、ステップS95からS97におい
て上述した4つの状況についてチェックする。すなわ
ち、まず、ステップS95において、現アクティブステ
ートSにて終わる有効パスが次アクティブポインタNA
によって指定されているステートであるかどうかをチェ
ックする。もしそうならば、処理は、図13bに示され
るステップS98へ進む。また、次のアクティブポイン
タNAが現アクティブステートSを指定していない場
合、処理はステップS96へ進む。ステップS96にお
いて、システムは、次アクティブポインタNAが、処理
中の現アクティブステートを3つ以上超えるステートを
指定しているかどうかチェックする。もしそうであるな
らば、処理は図13cのステップS109に進む。ステ
ップS109以降の処理については、図13cにおいて
より詳細に説明される。一方、ステップS96で否と判
定されたならば、処理はステップS97へ進む。ステッ
プS97では、次アクティブポインタNAが現アクティ
ブステートに続くステートを指定しているかどうかチェ
ックする。もしそうであれば、処理は図13dにおいて
示されるステップS115に進む。一方、ステップS9
7において否と判断された場合は、次のアクティブポイ
ンタNAがステートS+2を指していることを意味して
いるので、処理は図13eに示されるステップS125
へ進む。
【0069】次に図13bから13eにおける各ステッ
プで実行される処理について説明する。図13bは、次
アクティブポインタNAが、処理されている現アクティ
ブステートSを指定する状況において実行される処理ス
テップを示す。上述してきた説明から当業者には明らか
であるように、上述の動的計画の制約で、この状況にお
いては、現アクティブステートSで終わる有効パスの累
積距離は、現アクティブステートSに続く3つのステー
ト、S+1、S+2、S+3に格納された累積距離と比
較されなければならない。これらのステートはすでに新
しいアクティブリストにすでに存在するからである。
【0070】しかしながら、この比較に先立って、シス
テムは、ステップS98において、現在のアクティブス
テートSを新アクティブリスト205の次の位置に加え
る。そして、システムは、ステップS99において、次
アクティブポインタNAがステートS−1を指すように
セットする。
【0071】その後、処理は、ステップS100へ進
む。ステップS100において、システムは、現アクテ
ィブステートSに格納された累積距離がステートS+1
に格納された累積距離よりも小さいかどうかをチェック
する。このチェック結果が否であった場合は、式(4)
により、現アクティブステートSに格納された累積距離
をステートS+2或いはS+3に格納された累積距離と
比較する必要はなく、処理をステップS108へ進める
ことができる。一方、現アクティブステートSに格納さ
れた累積距離がステートS+1に格納された累積距離よ
りも小さい場合は、処理はステップS101へ進む。ス
テップS101においては、ステートS+1に格納され
た累積距離を現アクティブステートSに格納された累積
距離と等しくする。換言すれば、現アクティブステート
を終端としているパスをステートS+1へ成長させる。
システムは、ステップS102において現アクティブス
テートSに格納された累積距離がステートS+2に格納
された累積距離よりも小さいかどうかをチェックする。
このチェックの結果が否であれば、処理はそのままステ
ップS108へ進む。一方、現アクティブステートSに
格納された累積距離がステートS+2に格納された累積
距離よりも小さい場合、処理はステップS103へ進
む。ステップS103では、ステートS+2に格納され
た累積距離を現アクティブステートSに格納された累積
距離と同じにする。そして、処理はステップS104へ
進む。ステップS104では、システムは、現アクティ
ブステートSに格納された累積距離が、ステートS+3
に格納された累積距離よりも小さいかどうかをチェック
する。このチェックの結果が否であれば、処理はステッ
プS108へ進む。一方、現アクティブステートSに格
納された累積距離が、ステートS+3に格納された累積
距離よりも小さい場合は、処理はステップS105へ進
む。ステップS105では、ステートS+3に格納され
た累積距離を現アクティブステートSに格納された累積
距離と同じにする。
【0072】以上のようにして、現アクティブステート
に格納された累積距離がこれに続く3つのすべてのステ
ートにコピーされた場合、システムは、ステップS10
6において、現アクティブステートSに格納された累積
距離が、全単語中の現フレームfkまで成長した全有効
パスに関する最小累積距離(MINSCORE)よりも小さいか
どうかをチェックする。チェックの結果が否であれば、
処理はステップS108へ進む。一方、現アクティブス
テートSに格納された累積距離が、MINSCOREよりも小さ
いのであれば、ステップS107において、MINSCORE
を、現アクティブステートSに格納されている累積距離
でもって置き換える。そして、処理はステップS108
へ進み、ペナルティ(PEN)が現アクティブステートに
格納された累積距離に加えられる。上述のように、ペナ
ルティは、基準モデルの過度の時間的伸張を防止するた
めに加えられる。こうして処理は終了し、図10に示さ
れるステップS79へ戻る。ステップS79では、ステ
ップS77において現アクティブリストの次のステート
が処理されるように、ステートカウンタiがインクリメ
ントされる。
【0073】一方、図13aに示されるステップS96
において、次アクティブポインタNAが現アクティブス
テートSより2ステートを超えたステートを指定する場
合、処理は図13cに示されるステップS109へ進
む。ステップS109においては、ステートS+3、S
+2、S+1、Sが新アクティブリストにその順番で加
えられる。そして、処理はステップS110へ進み、次
のアクティブポインタNAがS−1を指すようにセット
する。次に処理は、ステップS111へ進み、現アクテ
ィブステートSに格納された累積距離が、現フレームf
kまで成長している全単語中の全有効パスに関する最小
累積距離MINSCOREよりも小さいかどうかをチェックす
る。このチェックの結果が否の場合は、処理はステップ
S113へ進む。一方、現アクティブステートSに格納
された累積距離がMINSCOREよりも小さい場合は、ステッ
プS112において、MINSCOREが現アクティブステート
Sに格納された累積距離によって置き換えられる。
【0074】上述のように、図13aに示されるステッ
プS96からステップS109へ進む状況では、次アク
ティブポインタNAは、現アクティブステートを2つよ
り多く超えるステートを指定していたはずである。この
状況において、本実施形態で用いられる動的計画の制約
で、どのような累積距離とも比較する必要がないこと
は、上記の説明から当業者には理解され得ることであろ
う。現アクティブステートが成長する先となるステート
のいずれもが新アクティブリスト上にはまだ存在しない
からである。従って、ステップS113において、シス
テムは、ステートS+1、S+2、S+3に格納された
累積距離を現アクティブステートSに格納されている累
積距離とする。そして、処理は、ステップS114に進
む。ステップS114では、上述したペナルティが現ア
クティブステートSに格納された累積距離に加えられ
る。次に、処理は終了し、図10に示されるステップS
79に戻る。
【0075】次に、図13aに示されるステップS97
において、システムが、次アクティブポインタNAがス
テートS+1を指定していると判断した場合、処理は図
13dに示されるステップS115へ進む。ステップS
115では、ステートS+1とSを、その順番で新アク
ティブリストに追加する。次に、ステップS116にお
いて、次のアクティブポインタNAがステートS−1を
指すようにセットされる。次に、システムは、ステップ
S117において、ステートS+1に格納されている累
積距離を現アクティブステートSに格納されている累積
距離にする。ステートS+1はステップS115よりも
前では新アクティブリスト上に存在していないので、シ
ステムは、ステートS+1に格納された累積距離を現ア
クティブステートSに格納された累積距離と比較する必
要が無い。この点は、上記の説明から当業者には理解さ
れうるであろう。そして処理はステップS118〜ステ
ップS124へ進む。これらのステップは、図13bに
示されるステップS102〜S108と同じであるの
で、ここではその説明を省略する。
【0076】更に、図13aに示される、ステップS9
7において、次アクティブポインタNAがステートS+
1を指定していないと判断された場合、本実施形態にお
いて用いられている動的計画法による処理の制約のた
め、次アクティブポインタはステートS+2を指定して
いなければならない。従って、処理は、図13eに示さ
れるステップS125へ進む。ステップS125におい
て、ステートS+2、S+1及びSは、その順序で新ア
クティブリストに加えられる。次に、処理はステップS
126へ進み、次アクティブポインタNAがステートS
−1を指すようにセットされる。次に、ステップS12
7において、システムは、ステートS+1とS+2に格
納されている累積距離を現アクティブステートSに格納
されている累積距離と同じにする。ここで現アクティブ
ステートSに格納された累積距離とステートS+1及び
S+2に格納された累積距離との比較を行う必要が無い
ことは、当業者には明らかであろう。ステップS125
よりも前の時点で、新アクティブリスト上にこれらのス
テートは存在しないからである。ステップS128にお
いて、システムは現アクティブステートに格納された累
積距離がステートS+3に格納された累積距離よりも小
さいかどうかを判断する。現アクティブステートSに格
納された累積距離がステートS+3に格納されている累
積距離よりも小さくない場合、処理はステップS132
へ進む。一方、現アクティブステートSに格納された累
積距離がステートS+3に格納されている累積距離より
も小さい場合は、処理はステップS129へ進み、ステ
ートS+3に格納されている累積距離を現アクティブス
テートSに格納されている値とする。そして、システム
は、ステップS130にて、現アクティブステートSに
格納されている累積距離がMINSCOREよりも小さいかどう
かを判断する。ステップS130のチェック結果が否の
場合、処理はステップS132へ進む。一方、ステップ
S130のチェック結果が肯定の場合には、ステップS
131において、システムは、MINSCOREを現アクティブ
ステートSに格納されている累積距離とする。そして、
処理はステップS132へ進み、上述のペナルティPE
Nが現アクティブステートSに格納されている累積距離
に加えられる。そして、本処理を終了し、図10に示さ
れるステップS79へ戻る。
【0077】上述した処理はアクティブリスト中の全て
のステートに対して実行される。しかし、現アクティブ
リスト上の最後のアクティブステートが処理される場
合、それは番人ステートSSENであるので、図13aに
示されるステップS92からステップS133へ処理が
進む。ステップS133では、番人ステートSSENが新
アクティブリストに加えられる。ステートS+3、S+
2、S+1に格納されている累積距離を現アクティブス
テートSに格納された累積距離とした場合にのみ、MINS
CORE(処理中の現フレームfkまでに全単語中の全有効
パスにおける最小の累積距離を表わす)が、図13b、
図13c及び図13dに示される処理ステップにおいて
更新されることが、当業者には理解されよう。しかしな
がら、本実施形態において、現アクティブステートSが
その単語の終端から3ステート以内にある場合にはこれ
は起こり得ないので、出口ステートSDに格納された累
積距離がMINSCOREより小さいかどうかを判断するため
に、ステップS134においてエクストラなテストが実
行されるのである。このテストの判断結果が否の場合
は、処理はそのまま図10に示されるステップS83へ
戻る。一方、肯定の場合は、図10に示されるステップ
S83に戻る前に、ステップS135においてMINSCORE
が終端ステートSDに格納された累積距離に設定され
る。
【0078】以上説明した図13の処理について、図8
に示されるアクティブリスト203における最初の2つ
のアクティブステートを処理する場合を例に挙げて更に
説明する。処理されるべき最初のアクティブステートは
ステートS7である。ステップS91において、システ
ムはステートS7に格納されている累積距離が刈り込み
閾値Thよりも小さいかどうかを判断する。否の場合、
このアクティブステートの処理は終了し、次のアクティ
ブステートの処理が開始される。一方、肯定であれば、
処理はステップS92へ進む。ステートS7は番人ステ
ートSSENではないので、このステートに格納される累
積距離はゼロではない(ゼロ値は、番人ステートSSEN
のためにリザーブされるものである)。従って、処理は
ステップS93へ進み、変数ACOUNTがインクリメントさ
れる。ステップS94において、現アクティブステート
S7と現フレームfkとのローカル距離が計算され、ステ
ートS7に格納されている累積距離に加算される。
【0079】ステートS7は、処理すべき最初のアクテ
ィブステートであるので、次アクティブポインタNAは
出口ステートSDを指すことになる。この出口ステート
SDは、図8に示される単語モデル201からわかるよ
うに、ステートS7よりも2ステート離れている。従っ
て、処理はステップS95、S96、S97を通って、
図13eに示されるステップS125に進む。ステップ
S125では、ステートS8とS7が、その順序で新アク
ティブリスト205に加えられる。しかしながら、なお
も出口ステートSDはその新アクティブリストに加えら
れない。出口ステートSDは、その単語を出て行く全て
のパスのうちの最小の累積距離を格納するのに使われる
だけだからである。次に、ステップS126において、
ステートS 6を指すように次のアクティブポインタNA
がセットされ、ステップS127においてステートS8
とSDに格納されている累積距離を現アクティブステー
トS7に格納されている累積距離と同じにする。次に、
処理は、ステップS128に進み、システムは、ステー
トS7に格納されている累積距離が番人ステートSSENに
格納されている累積距離より小さいかチェックする。番
人ステートSSENに格納されている累積距離はゼロであ
るので、処理はステップS132に進むことになる。ス
テップS132では、システムは、ステートS7に格納
されている累積距離にペナルティを加える。こうして図
13eに示される処理は終了し、図10に示されるステ
ップS79へ進む。ステップS79において、カウント
変数iが、次のアクティブステートS5が処理されるよ
うに、インクリメントされる。
【0080】ステートS5の処理は、以下を除いて、ス
テートS7に対する処理と同じである。すなわち、ステ
ップS97において、図13eに示されるステップS1
25へ進む代わりに、処理は、図13dに示されるステ
ップS115へ進む。これは、次のアクティブポインタ
NAがアクティブステートS7の処理の間にステップS
126においてステートS6を指すようにセットされる
からである。従って、ステップS115において、シス
テムはステートS6とS5を新アクティブリスト205へ
この順序で追加する。そして、処理は、ステップS11
6へ進み、次のアクティブポインタNAがステートS4
を指すようにセットされる。次に、ステップS117に
おいて、ステートS6に格納された累積距離を現アクテ
ィブステートS5に格納された累積距離と同じにする。
次に、ステップS118において、システムは現アクテ
ィブステートS5に格納されている累積距離を、ステー
トS7に格納されている累積距離と比較する。現アクテ
ィブステートS5に格納されている累積距離がステート
S7に格納されている累積距離よりも大きい場合は、処
理はそのままステップS124へ進む。一方、ステート
S7に格納されている累積距離よりもステートS5に格納
されている累積距離のほうが小さい場合は、処理はステ
ップS119へ進む。ステップS119において、ステ
ートS7に格納されている累積距離を現アクティブステ
ートS5に格納されている累積距離で更新する。同様の
比較と更新が、ステップS120とステップS121に
おいて、ステートS8に格納されている累積距離につい
て行われる。そして、ステートS8に格納されている累
積距離がステップS121で更新された場合、システム
はステップS122において、現アクティブステートS
5に格納されている累積距離がMINSCOREよりも小さいか
どうかを判断する。否であれば、処理はステップS12
4へ進み、一方、肯定であれば、ステップS124へ進
む前の現アクティブステートS5に格納されている累積
距離でもってMINSCOREに格納されている累積距離を置き
かえる。ステップS124では、現アクティブステート
S5に格納されている累積距離にペナルティPENが加えら
れる。そして、処理は、図10のステップS79へ戻
り、次のアクティブステートS4が処理されるように、
カウント変数iをインクリメントする。
【0081】この再帰的な処理ルーチンは、システムに
既知の全基準単語において、全ての現アクティブステー
トに対して実行される。
【0082】現フレームfkについて上記方法で各単語
を処理した後、言語モデル21の各ノードが順次に処理
される。上述のように、言語モデル21は、許容できる
単語のシーケンスを決定する。この情報は、ノードによ
って定義され、詳細には、特にその入力と出力に接続さ
れる単語によって定義される。図7におけるステップS
51でのノードの処理は、許容された単語列の範囲のみ
で有効パスが成長することを確実にするものである。次
に、図14を参照して、ステップS51で実行される処
理についてより詳細に説明する。
【0083】最初に、ノードのどれかを処理するに先立
って、バックグランドノイズを表わすフレームと現フレ
ームfkとのローカル距離(即ち、d(noise,fk))が
ステップS151で計算される。次に、ステップS15
3において、ノードポインタvがスタートノードN0を
指すように初期化される。次に、ステップS155にお
いて、ノードポインタvによって指定されるノードに格
納されている累積距離、即ちD[v]を、刈り込み閾値
Thと比較する。D[v]が刈り込み閾値Thよりも小
さい場合、処理はステップS157へ進み、d(noise,
fk)が処理中である現ノードvに格納されている累積
距離に加えられる。次に、ステップS159において、
システムは、D[v]を最小値格納部MINSCOREに格納さ
れている値と比較する。そして、D[v]のほうが小さ
ければ、ステップS161においてD[v]の値をMINS
COREにコピーする。そして、ステップS163におい
て、カウンタACOUNT(それは現フレームについて処理さ
れているアクティブステートとノードの数を表わす)が
インクリメントされ、処理は、ステップS165へ進
む。一方、ステップS155において、D[v]が刈り
込み閾値Thよりも大きい場合は、ステップS167に
進み、特大値HUGEがD[v]にセットされ、処理はステ
ップS165へ進む。
【0084】ステップS165とS168において実行
される処理について、図15に例示されるノードNを用
いて説明する。このノードNは、3つの単語、“ge
t“、“save”及び“load”をその入力側に接続し、“a
n”と“the”をその出力側に接続している。図3におい
てそのようなノードは示されていないが、本実施形態の
動的計画法による処理が、より複雑な言語モデルに関し
て稼動することを示すために選択された例である。特
に、ノードが図15に示されるものに似ている、有限の
ステート文法はありふれたものである。
【0085】ステップS165において、システムは、
ノードNの入力に接続されている単語の出口ステート
(SD)、即ち、“get”、“save”、“load”という単
語の出口ステートに格納された全累積距離のうちの最小
のものを判断する。一般にこの計算は以下のように表わ
される。
【0086】
【数8】
【0087】ここで、Iw[v]はノードvの入力に接
続される全ての単語を表わす。システムが、ノードNに
対するこの最小の累積距離を決定した後、その値が既に
そこ(ノードN)に格納されている累積距離(D
[N])よりも小さい場合、その値はノードNに格納さ
れた累積距離D[N]にコピーされる。実際のところ、
これは、そのノードの入力に接続された単語の一つから
来る有効パスにおいて、当該ノードにおいて成長中であ
るパスの累積距離よりも小さい累積距離を有するものが
あるかどうかの判断である。
【0088】フレーズ中の単語の前、中間、終端にバッ
クグランドノイズフレームとマッチするギャップが含ま
れている可能性があるので、有効パスがノード内を成長
することもありうる。この一つの入力フレームから次の
フレームへの有効パスがノード内に残ることの可能性
は、図15においてノードNより出てノードNに戻る矢
印231によって表わされている。パスは連続して入力
されるいかなる数のフレームに対しても、ノード内に残
ってよい。システムがステップS165の処理を実行し
た後、ステップS168において、ノードNに格納され
ている累積距離が、一時的な格納場所INSCOREに既に格
納されている値よりも小さい場合、その累積距離がINSC
OREにコピーされる。単語“an”と“the”のそれぞれに
ついて、INSCOREがボックス233と235によって表
わされる。単語が2つ以上のノードの出力に接続され得
るので、比較は必須である。そして、最少の累積距離を
有するパスのみが接続単語へ成長される。単語の一時的
格納場所INSCOREに格納された累積距離は、図7に示さ
れるステップS57における処理の間に、その単語のエ
ントリステートを更新するのに用いられる。
【0089】次に、システムは、ステップS169にお
いて、D[v]が特大値HUGEに等しいかどうかをチェッ
クする。等しい場合、これは、そこで終了する有効パス
が無く、また、次のフレームfk+1にて現ノードvを通
ってこれに接続される単語へ通じる有効パスも無いこと
を表わしている。一方、D[v]が特大値HUGEよりも小
さい場合、有効パスがそのノードvで終るか、有効パス
がそれを通り抜けてそれに接続されている単語へ通じる
かのいずれかである。従って、次の入力フレームfk+1
にて潜在的なアクティブステート(およびノード)の数
を表わすカウンタPACOUNTが、ステップS171でイン
クリメントされる。ノードに関連する無音ステートが次
の入力フレームfk+1でアクティブとなることがあるか
らである。ノードポインタvは、その後、ステップS1
73でインクリメントされ、ノードポインタvは言語モ
デル21における次のノードを指すこととなる。次にシ
ステムは、ステップS175において、言語モデル21
における全てのノードが処理されたかどうかをチェック
する。これは、ノードポインタvが言語モデル21のノ
ードNnを超えたノードを指しているかどうかをチェッ
クすることでなされる。システムが全てのノードの処理
を終えていない場合、処理はステップS155へ戻る。
一方、全てのノードの処理が終っていれば、処理は図7
に示されるステップS53へ戻る。
【0090】次に、図7に示されるステップS57にお
いて実行される処理について、図16及び図17を参照
しながら、図8に示される単語モデル201と図9に示
される動的計画法によるパスに関して、より詳細に説明
する。図16において、ステップS181で、システム
は、INSCOREに格納されている累積距離が特大値HUGEと
等しいかどうかをチェックする。等しい場合、それは、
次回のポイントにおいてこの単語に入る有効パスが存在
しないことを意味する。従って、この単語は再び処理さ
れる必要は無く、よって、処理はそのままステップS2
07へ進む。ステップS207においては、次に入力さ
れるフレームfk+1に関して処理される単語のためのア
クティブステートの数(それは、図10に示されるステ
ップS83によって現アクティブリスト203となった
りスト中に登録されているステートの数から決定され
る)が、カウンタPACOUNTに加えられる。次に処理は、
図7に示されるステップS59へ戻り、単語カウンタを
インクリメントし、次の単語モデルが処理されるように
する。
【0091】一方、ステップS181にて、INSCOREが
特大値HUGEと等しくない場合、これは、有効パスがすぐ
前の単語を出て、処理中の現単語へ入る可能性があるこ
とを意味する。よって、他の単語モデルから伸びるパス
によって到達され得る現単語モデルのステート(これ
は、以下ではエントリステート称される)が、INSCORE
に格納されている累積距離を用いて更新されなければな
らない。本実施形態に於いては、上述の動的計画法の制
約で、エントリステートはS0、S1およびS2のいずれ
かである。この更新は、図13を参照して説明したのと
類似の処理テクニックを用いても達成され得るが、本実
施形態においては以下の方法が用いられる。
【0092】まず、ステップS183において、システ
ムは、処理中の現単語を表す単語モデルが3つ以上のス
テート(出口ステートSDや番人ステートSSENは含まな
い)を含むかどうかチェックする。3つ以上のステート
があった場合は、ステップS185において、ステート
ポインタjがステートS2を指すようにセットされる。
一方、現単語中に3つ未満のステートしか存在しない場
合は、ステップS187においてステートポインタjが
出口ステートSDを指すようにセットされる。次に処理
は、ステップS189へ進み、ポインタjによって指定
されるステートが最終アクティブポインタLAによって
示されるステートと比較される。ポインタjによって指
定されるステートが最終アクティブポインタLAによっ
て指定されるステートを超えている場合、当該ステート
に既に格納されている累積距離とINSCOREに格納されて
いる累積距離との間で比較がなされなければならない。
図9に示されるパス、例えばパスP6は、次のフレーム
fk+1で、ステートS1、S 2、S3及びS4に成長し得
る。従って、この例において、図10に示されるフロー
チャートに従って現アクティブリスト203上の全ての
アクティブステートを処理した後、最終アクティブポイ
ンタLAはステートS1を指すようになる。
【0093】図17は、図8に示されている単語モデル
201のエントリステート(即ち、最初の3つのステー
ト)を示す。図17に示されているように、最終アクテ
ィブポインタLAはステートS1を指す。単語モデル2
01には、3つより多いステートがあるので、ステート
ポインタjはステートS2を指す。従って、システムは
ステップS189において、ポインタjによって指定さ
れているステートが最終アクティブポインタLAによっ
て指定されているステート、即ちステートS1を超えて
いると判断する。それゆえ、処理はステップS191へ
進む。ステップS191において、システムは、ステー
トS2に格納されている累積距離と単語モデル201に
関連する一時的な格納部INSCOREに格納されている累積
距離とを比較する。なお、INSCOREは、図17において
矩形ボックス241によって表されている。INSCOREに
格納されている累積距離がステートS2に格納されてい
る累積距離よりも小さい場合、ステップS193におい
てINSCOREの値がステートS2にコピーされる。そして、
処理は、ステップS193へ進む。INSCOREに格納され
ている累積距離がステートS2に格納されている累積距
離よりも大きい場合は、ステートS2に格納されている
累積距離は変更されず、処理はステップS197へ進
む。ステップS197において、ポインタjは、デクリ
メントされ、ステートS1を指定する。その後、処理は
ステップS189へ戻り、ステートS1に対して同じ処
理が実行される。
【0094】ステートS1を処理した後、ステップS1
97において、ポインタjがステートS0を指定するよ
うに再度決定される。ステップS189の後、処理はス
テップS198に進む。ステップS198において、シ
ステムは処理すべき更なるステートがあるかどうかをチ
ェックする。本例の場合、ステートS0がなお処理され
るべきであるので、システムはステップS199へ進
み、INSCOREに格納された累積距離がステートS0にコピ
ーされる。ここで、ステートS0は最終のアクティブポ
インタによって指定されている最後のアクティブステー
トの前のステートなので、ステートS0に関して累積距
離の比較を実行する必要はない。そして、システムは、
ステップS201において、図13aに示されるステッ
プS133において現アクティブリストへ加えられるべ
き最終ステートであった番人ステートSSENに上書きし
て、ステートS0を、現アクティブリスト(図10のス
テップS83より前では新アクティブリスト205であ
ったもの)に加える。次にシステムは、ステップS20
3において、ポインタjをデクリメントし、ステートS
-1を指定するようにする。処理はステップS198に戻
り、システムは現単語にはこれ以上の処理すべきエント
リステートが存在しないと判断する。そして、処理は、
ステップS204へ進み、番人ステートSSENが現アク
ティブリストの終わりに再び加えられる。これは、番人
ステートSSENがステップS201で上書きされてしま
っているからである。そして、ステップS204の後、
処理はステップS205へ進み、対応する一時的格納場
所INSCOREに格納されている累積距離を特大値HUGEにリ
セットする。現アクティブリスト上のステートの数は、
ステップS207においてカウンタPACOUNTに加えら
れ、処理は図7に示されるステップS59へ戻る。
【0095】[刈り込み]再び図7を参照すると、ステ
ップS63においてシステムがさらに処理すべき入力フ
レームがあると判断した場合、処理はステップS65へ
進み、刈り込み閾値Thが調整される。刈り込みを用い
ることの目的は、同時に一つのポイントから次のポイン
トへ成長する動的計画法のパスの数を制限することであ
る。特に、本実施形態は、実際に処理されるアクティブ
ステートの数が実質的に前もって決められた制限内に収
まるように、刈り込み閾値を調整することを目的とす
る。この制限は、作業メモリ容量と許容される処理時間
とにより定められる。さらに、本実施形態は、高価な計
算的なオーバーヘッド無しにこれを達成することも目的
としている。
【0096】設定された数のアクティブステートだけが
各入力フレームのために処理されることを確実にするた
めの一つの方法は、まさに処理される入力フレームに関
する全てのアクティブリスト上にあるアクティブステー
トを、それらに格納された累積距離の増大する順番にソ
ートし、最小の累積距離を持つものから所望の数のステ
ートを処理することである。しかしながら、このテクニ
ックでは、アクティブステートをソートするのに多大な
計算時間が必要となる。本実施形態において用いられる
テクニックでは、この計算的に高価な並べ替えを実行す
るのではなく、最終の入力フレームを処理した後に有効
な情報を用いる。特に本実施形態において、差分値(PR
UNING)は、次の処理されるべき入力フレームに対して
潜在的にアクティブなステートの数(PACOUNTに格納さ
れる)に依存して、実際に処理されるステートの数を2
つの閾値の間に存在するべく維持するために変化する。
以下、差分値PRUNINGを変化させる方法について図18
を参照して詳細に説明する。
【0097】ステップS211において、システムは処
理されるべき次のフレームに関して潜在的にアクティブ
なステートの数(PACOUNTに格納されている)と、ステ
−ト閾値(STATETH)とを比較する。ここで、ステート
閾値STATETHは、有用なワークメモリの量によって決定
される絶対的に最大のステート閾値よりも小さいがそれ
に近い値にセットされる。PACOUNTに格納される値がSTA
TETHよりも小さい場合は、これは、全ての潜在的にアク
ティブなステートが処理され得ることを意味し、それゆ
え、前回のポイントで使用された差分値PRUNINGを増加
させることができる。従って、ステップS213におい
て、調整定数dp1が現在の差分値PRUNINGに加えられ
る。dp1の値は、あらゆるリーズナブルなローカル距
離よりも大きく設定される。よって、全てではないにし
ろ、潜在的なアクティブステートの大部分が処理され
る。
【0098】次に、PRUNINGに格納されている値は、ス
テップS215において高い刈り込み閾値HIGHPRTHと比
較される。それより上に到達する必要のありえない最大
の差分値が存在すると仮定されるので、その上限が差分
値PRUNINGに設けられる。PRUNINGに格納されている値
が、HIGHPRTHよりも小さい場合は、処理はステップS2
19へ進む。PRUNINGに格納されている値がHIGHPRTHよ
りも大きい場合は、ステップS217においてPRUNING
がHIGHPRTHと同じ値にセットされる。ステップS215
或いはS217の後、システムは刈り込み閾値Thをセ
ットする。そして、処理は図7に示されるステップS4
3へ戻る。
【0099】一方、ステップS211にて、システムが
次のフレームに対する潜在的にアクティブなステートの
数、PACOUNTが、STATETHよりも大きいと判断した場合、
システムはステップS221において、前回の入力フレ
ームの処理の間アクティブで処理されたステートの数
(ACOUNTに格納されている)と、低ステート閾値LOWSTT
Hとを比較する。LOWSTTHの値は、ACOUNTがLOWSTTHより
小さい場合に多くの時間やメモリを使うことなく次の入
力フレームに対する全ての潜在的なアクティブステート
を処理可能であるようにし、それを確実に保証するべく
セットされる。従って、ACOUNTがLOWSTTHより小さい場
合、処理はステップS221からステップS213へ進
む。ステップS213では、差分値PRUNINGが調整さ
れ、処理は上述のように進む。一方、ACOUNTがLOWSTTH
より大きい場合は、全ての潜在的なアクティブステート
が処理される場合に多くの時間やメモリを処理に費やさ
ないという保証がない。したがって、差分値PRUNINGを
減らす必要がある。
【0100】差分値PRUNINGが減少される必要があるか
どうかを判断するために、システムはステップS223
においてACOUNTをSTATETHと比べる。ACOUNTがSTATETHよ
りも小さい場合、システムはステップS224におい
て、差分値PRUNINGがHIGHPRTHと等しいかどうかをチェ
ックする。もしも、HIGHPRTHと等しければ、このことは
システムが全てのアクティブステートを処理しようとし
ていることを表し、従って、次の入力フレームに関して
処理されるであろうアクティブステートの数が処理にお
いて極めて長い時間もしくは極めて大きいメモリ量を要
することになる可能性は低い。従って、差分値PRUNING
は変更せず、処理はステップS219へ進み、刈り込み
閾値がセットされる。一方、差分値PRUNINGがHIGHPRTH
と等しくない場合(その場合、PRUNINGはHIGHPRTHより
小さくなければならない)、次の入力フレームに関して
処理されることになるアクティブステートの数が非常に
長い時間と非常に大量のメモリを費やすであろうことが
予測される。従って、処理されるべきアクティブステー
トの実際の数を計算し、見積もらなければならない。こ
れは、変更されていない差分値PRUNINGを用いてステッ
プS231においてセットされた刈り込み閾値を用い
て、ステップS233にて実行される。
【0101】ステップS223に戻り、ACOUNTがSTATET
Hよりも大きいとシステムが判断した場合、差分値PRUNI
NGがステップS225において調整定数dp1だけ減じ
られる。差分値PRUNINGがステップS225において減
少させられた後、システムは、ステップS227におい
て、その差分値PRUNINGが低刈り込み閾値LOWPRTHより小
さいか否かを判断する。低刈り込み閾値は、次の入力フ
レームに関して処理されるであろうアクティブステート
の数が設定された緊急ステート閾値EMGSTTHより大きく
なることを確実にするために用いられる。この理由は、
刈り込みがきついと動的計画処理が失敗に終わるという
ことが見出されていることによる。差分値PRUNINGが低
刈り込み閾値LOWPRTHよりも小さい場合、ステップS2
29において、差分値PRUNINGはLOWPRTHと同じ値にセッ
トされる。そして、ステップS231において、刈り込
み閾値Thが調整された差分値PRUNINGを用いて設定さ
れる。続いて、ステップS233において、システムは
次の入力フレームに関して処理されるであろうアクティ
ブステート(及びノード)の数をみつもる。この見積も
りは、まず、直前の入力フレームの処理の間に処理され
たアクティブステートの数、即ち、ACOUNTを、直前の入
力フレームの処理の間に用いられたPRUNINGの値で割る
ことによりステート密度を見積もり、次に、見積もられ
たステート密度にPRUNINGの新たな値を乗ずることによ
って、次の入力フレームに関して処理されるであろうア
クティブステートの数を見積もることでなされる。
【0102】見積もられた数Ensaが、緊急ステート閾
値EMGSTTHよりも小さい場合、セットされている刈り込
み閾値は小さすぎであり、処理はステップS213に戻
り、差分値PRUNINGが増加され、刈り込み閾値が再設定
される。EnsaがEMGSTTHよりも小さくない場合、En
saはステップS237においてlowstthと比較される。
EnsaがLOWSTTHよりも大きい場合は、これは、ステッ
プS231でセットされた刈り込み閾値Thが受け入れ
うるものであることを意味する。そして、処理は終了
し、図7に示されるステップS43に戻る。一方、En
saがLOWSTTHよりも小さい場合、刈り込み閾値は増加さ
せ得るものであり、よって、ステップS239において
第2の調整定数dp2が差分値PRUNINGに加えられ、刈
り込み閾値がステップS219にて再度設定される。な
お、本実施形態において、第2の調整定数dp2は、調
整定数dp1の1/2に設定されている。
【0103】図18に示されるステップS219とS2
31において、刈り込み閾値Thが設定される。この設
定は、まさに処理された入力フレームに対して決定され
た最終的な(全体の)最小累積距離MINSCOREに、まさに
計算された変数差分値(PRUNING)を加えることにより
なされ得る。しかしながら、発明者等は、全体として最
適なパスが、正しい単語の最初の少数のステートを横切
る場合、全体として最適なパスと局所的な最小値との間
の差が最大になる傾向があることを見いだした。従っ
て、本実施形態においては、刈り込み閾値は単語の始め
に近い部分でより大きく、その単語の終わりに向かって
より小さくなるように調整される。本実施形態におい
て、これは、図19に示されるように、各単語の最初の
5つのステートに対して第1の刈り込み閾値Th1を用
い、各単語の次の5つのステートに対して第2の刈り込
み閾値Th2を用い、各単語の残りのステートに対して
第3の刈り込み閾値Th3を用いることにより実現され
る。本実施形態において、3つの刈り込み閾値Th1、
Th2、Th3は以下のようにして決定される。即ち、 Th1=MINSCORE+PRUNING Th2=MINSCORE+0.75・PRUNING Th1=MINSCORE+0.5・PRUNING。
【0104】当業者は理解するであろうが、実行されて
いる刈り込みは各パスについてさらに成長すべきか否か
に関して厳密な決定を行う。特に、刈り込み閾値よりも
低い全てのものが処理され、高いものは刈り込まれる。
そのような厳密な刈り込みテクニックを実行するに際し
ての問題は、認識結果のエラーにつながる刈り込み誤差
の可能性の増加にある。これは、全体として最適化され
たパスに関する累積距離が刈り込み閾値よりも大きい場
合、全体として最適なパスが刈り込まれてしまったその
時点で、全体として最適なパスの現ステートの近隣にあ
るステートはこれに類似の累積距離を有し、それらもま
たこのハードな刈り込みテクニックによって刈り込まれ
てしまうことになるということによる。従って、より柔
軟な刈り込みテクニックを適用することにより改良され
た刈り込みが達成され得る。この柔軟な刈り込みでは、
閾値を囲む領域を設け、その領域に入る全てではないい
くつかのパスが刈り込まれることになる。従って、たと
え最適なパスが刈り込まれてしまっても、最適パスに十
分に近いパスが残ることになり、刈り込みが認識エラー
に帰結することをなくす。
【0105】そのような柔軟な刈り込みテクニックは、
いくつかの異なる方法で達成され得る。例えば、所定の
範囲内の累積距離を有するパスの中からランダムに刈り
込まれるべきパスを選ぶのに、乱数発生器が用いられ得
る。しかしながら、そのような刈り込みの決定は全ての
アクティブステートに対して毎ステップ行われる必要が
あるので、できる限り単純にすべきである。さもない
と、刈り込みテクニックが過大な処理時間を必要として
しまう。本実施形態では、刈り込み閾値のベクトルT
[s]が各入力フレームfkに関して計算される。ベク
トルにおける刈り込み閾値の値は、まず、上述の3つの
刈り込み閾値Th1、Th2、Th3を計算し、図20に
示されるように、ステート2、5、8等に対する適切な
刈り込み閾値から定数δを減算し、ステート0、3、6
等に対する適切な刈り込み閾値から2δを減算すること
で計算される。発明者等は、この3レベルの柔軟な刈り
込みが、1レベルの厳密な刈り込みテクニックと同じ刈
り込みエラー率で、処理されるべきアクティブステート
の数を30%減少させることを確認している。
【0106】当業者は理解するであろうが、使用される
刈り込みレベルの数と各レベルの変更は、たとえ最適パ
スが刈り込まれても最適パスに十分に近いパスが残るよ
うに、使用されている動的計画法の制約に関連して選択
されるべきものである。
【0107】また、当業者は気づくことであろうが、刈
り込み閾値を変化させる上述の方法は、計算的に高価で
はなく、割り当てられた処理時間とメモリが超過される
ことのないように、各ポイントの時点で処理されるアク
ティブステートの数を限定するというように、刈り込み
閾値を調整可能とするものである。
【0108】図7に示される処理ステップのシーケンス
を用いて入力シーケンスにおける全てのフレームが処理
された後、動的計画処理によって決定された最適化パス
によって取られる正しいパスを決定するために、バック
トラッキングルーチンが要求される。本実施形態におい
て、バックトラッキングルーチンは、各パスがそれを通
って成長する、単語シーケンスを表すバックポインタを
追跡する。バックトラッキングルーチンが実行される方
法の詳細と、ポインタが発生される方法は音声認識の当
業者には周知であり、更なる説明は行わない。
【0109】[初期化]システムが入力発声の認識を試
みる前に、認識処理の間に用いられるシステムの閾値と
変数が初期化されなければならない。これは以下の方法
で達成される。まず、スタートノードN0に格納された
累積距離がnominal値にセットされ、他の全ノードに格
納される累積距離が同一の大きい値HUGEにセットされ
る。次に、各単語モデルに関連して潜在的なアクティブ
ステートの数をカウントするカウンタPACOUNTをゼロに
セットし、各単語モデルに関連する一時的格納INSCORE
を大きな値HUGEにセットする。次に、全てのノードが処
理され、単語の入力に接続されるすべてのノードの累積
距離の最小値が、その単語に関連する一時的格納INSCOR
Eにコピーされる。これは、スタートノードN0に接続さ
れる各単語の一時的格納INSCOREがnominal値にセットさ
れることを確実にする。最後に、各単語のINSCOREに格
納された値は、各単語モデルのエントリステートをアク
ティベートし初期化するために用いられる。処理ステッ
プは、各単語のモデルのエントリステートを初期化する
ために、図16を参照して上述したエントリステートを
更新するために用いられる処理ステップに対して同一で
ある。刈り込み閾値と差分値PRUNINGも、最初の入力フ
レームの処理に先立って初期化される。特に、刈り込み
閾値Th1、Th2、Th3は大きな値HUGEにセットさ
れ、差分値PRUNINGは、高い刈り込み閾値HIGHPRTHにセ
ットされる。
【0110】[他の実施形態]いくつかの変形が、本発
明のコンセプトから外れることなく、上述の音声認識に
対してなし得る。これら変形のいくつかについて、以下
に説明する。
【0111】上述の実施形態においては、全発声が、処
理される前に受信される。しかしながら、システムは、
処理される発声を受信しながら漸進的に稼動するように
してもよい。そのような実施形態においては、入力バッ
ファは必要とされるが、1フレームに対応する入力音声
を格納することができるものであればよい。当業者は気
づくであろうが、このシステムを稼動させるために、入
力スピーチのフレームの全処理(プロセッサと認識ブロ
ックにより)が、入力音声の次のフレームを処理する準
備ができる前に完了しなければならない。
【0112】第1の実施形態においては、動的計画パス
の終わりにあった単語モデルのステートは、その単語モ
デルに関連するアクティブリストにリストされていた。
変形例においては、全単語モデルの全アクティブステー
トがリストされる単一のグローバルなアクティブリスト
が提供されてもよい。そのような変形例においては、ど
の単語モデルがその特定のアクティブステートに属する
かを示すために、グローバルなアクティブリストに関連
して情報が格納されなければならないであろう。
【0113】第1の実施形態においては、次回のステッ
プに対して各単語内で有効な動的計画法によるパスを成
長するのに含まれる処理を高速化するために、式(4)
が利用される。加えて、最も可能性の高いものが低いも
のよりも先にチェックされるようにサーチが組織され
た。1つの単語から次の単語へ有効な動的計画パスを成
長させるのに、類似の処理テクニックが用いられ得る。
【0114】第1の実施形態において、単語モデルのス
テートは、時間的継続において、認識されるべき入力音
声に対応する。変形例においては、単語モデルの各ステ
ートは、継続時間において、例えば、入力音声の3つの
連続するフレームと等価にしてもよい。そのような変形
例においては、入力フレームは3つのグループにおいて
平均化され、単語モデルのステートとともに並べられ得
る。
【0115】第1の実施形態においては、単語モデルを
通る一つの最良の動的計画パスが決定される。当業者に
よって理解されるように、N個の最良のマッチングを決
定するように容易にアルゴリズムを適用できる。よっ
て、認識結果にエラーがある場合、システムは、2回目
の認識のためにフレーズを再入力する必要なしに、代替
を提示することができる。
【0116】更に他の変形例において、単語モデルは統
計的なモデルであってもよい。統計モデルとしては、例
えば、音声認識の当業者にはよく知られた隠れマルコフ
モデルが挙げられる。そのような実施形態においては、
入力発音と単語モデルのシーケンスとの間の最小の累積
距離を決定するのではなく、隠れマルコフモデルの特定
のシーケンスにより入力シーケンスが生成されることの
最大の確率が決定される。
【0117】第1の実施形態において、使用される基準
モデルは全単語に対応する。当業者には明らかであろう
が、このことは本質的なことではない。基準モデルは、
例えば音節(syllable)のような単語の部分に対応して
もよいし、複数の単語に対応してもよいし、個々の音素
(phoneme)に対応してもよい。しかしながら、音素に
対応する基準モデルを使用することの欠点は、システム
が言語依存になることである。更に、全単語に等価な基
準モデルは、全フレーズに等価なものに対して好まし
い。時間に関するポテンシャルと計算量の節約があるた
めである。特に、フレーズ内の単語をモデル化すること
により、そして言語モデルを用いることにより、システ
ムに、適度な量の(handful)単語のみを用いて多くの
異なるフレーズを教えることが可能である。一方、全フ
レーズに対応された基準モデルの場合、基準モデルは、
システムによって学習されるべき種々のフレーズの各々
に要求されるであろう。この利点に加えて、単語に対応
する基準モデルの使用はフレーズ内の単語間のギャップ
によるシステムの柔軟性を増加させる。これは、フレー
ズの開始と終了及びフレーズ内の単語間にも現れ得る環
境モデルのおかげで可能である。
【0118】更にもう一つの変形例において、モデルの
連続するフレームが類似している場合、基準モデルは圧
縮されてもよい。このような状況が発生する場合、連続
する類似フレームは単一のフレームによって置き換えら
れる。
【0119】図17に示される言語モデルにおいて、2
つの異なる単語が続き得る単語の場合、その単語に続く
2つの単語上には優先度(preference)は与えられな
い。しかしながら、他の実施形態において、いくつかの
単語シーケンスに他のものよりも好適に重み付けするこ
とが可能である。例えば、図17aにおいて示されるフ
レーズに関してフレーズ“make it more”(coulourが
後続する)が、フレーズ“make it smaller”、或いは
“make it larger”或いは“make it brighter”よりも
一般的である。従って、ノードN7からノードN8への遷
移は、ノードN7から終端ノードNnへの遷移に比べて強
い。これはノードN7から単語“more”、“smaller”、
“larger”及び“brighter”の入力へ成長する累積距離
に重みをつける重み係数を用いることで達成される。
【0120】また、当業者には明らかであるように、許
容される単語のシーケンスを定義するのに用いられる言
語モデルは、ビグラム(Bigram)モデルである必要はな
く、例えば限定的なステートの文法モデルのような、周
知のいかなるタイプの言語モデルであってもよい。使用
される言語モデルのタイプが変更された場合、上述した
動的計画法マッチング処理にいくらかの変形が必要とな
るであろうが、そのような変形は音声認識の分野におけ
る当業者には明らかであろう。しかしながら、あらゆる
パターンマッチング処理に適するように設計されている
ので、マッチング処理の本質的な特徴は変化しない。
【0121】加えて、動的計画法によるマッチング処理
を実現する方法は、他のタイプのパターンマッチングに
も利用可能である事は、パターンマッチングの分野にお
ける当業者には明らかである。例えば、上述したパター
ンマッチング処理を、手書き文字認識や他のパターンマ
ッチングアプリケーションに利用することが考えられ
る。
【0122】連続的な単語音声認識システムが、上述の
第1の実施形態で説明されているが、上述のシステム型
の種類の音声認識システムに等価的に適用し得ることは
当業者には明らかであろう。
【0123】第1の実施形態において説明された音声認
識システムは、例えば、表計算パッケージ、グラフィッ
クパッケージ、文書処理パッケージ等の、多くの異なる
ソフトウエアアプリケーションに関連して用いることが
できる。音声認識システムがそのような複数のソフトウ
エアアプリケーションと共に用いられる場合、各アプリ
ケーションに関して別々の単語及び言語モデルを有する
ことが望ましい。特に、各アプリケーションで用いられ
るフレーズが異なる場合にはなおさらである。その理由
は、単語モデルの数が増加するにつれて、そして言語モ
デルのサイズが増加するにつれて、システムが入力音声
を認識するのに必要な時間が増えてしまうからである。
従って、各アプリケーションについて、個別の単語及び
言語モデルを持つことにより、音声認識システムの処理
スピードは維持され得る。加えて、いくつかの単語及び
言語モデルは各アプリケーションで共通に用いられる。
【0124】更に当業者にとって好ましいことに、上述
の音声認識システムは多くの異なるタイプのハードウエ
アにも適用可能である。例えば、パーソナルコンピュー
タ等における明白な使用とは別に、音声認識処理は、フ
ァクシミリ装置、電話、プリンタ、複写機、或いはマン
マシンインターフェースを有する他のあらゆる装置のユ
ーザインターフェースとして利用できる。
【0125】本発明は、上述の典型的な実施形態によっ
て限定されるものではなく、当業者には明らかであるよ
うに、他の種々の変形及び実施形態が可能である。
【0126】
【発明の効果】以上説明したように、本発明によれば、
マッチング処理の精度を維持しながら、成長する可能な
マッチングの数を効果的に減少させる、より効果的な刈
り込み処理が提供される。
【図面の簡単な説明】
【図1】本発明に係る実施形態が動作するためにプログ
ラムされ得るコンピュータの外観を示す図である。
【図2】音声認識システムの概要を示す図である。
【図3】例示的な複数の入力フレーズに関するトレーニ
ングプロセスの間に生成される言語モデルを表わす図で
ある。
【図4】動的計画法を用いて単語モデルに入力単語が連
携された場合において実行される処理を表わす図であ
る。
【図5】一つの入力フレームから次のフレームへの、許
容された状態遷移シーケンスを表わす図である。
【図6】図5に示される許容されたステート遷移シーケ
ンスを表わす図である。
【図7】第1の実施形態において用いられる、動的計画
法による整合技術を実現する処理手順を示すフローチャ
ートである。
【図8】単語モデル及び現アクティブリストと、それに
関連する新アクティブリストを示す図である。
【図9】基準モデル内で成長する動的計画法によるパス
のいくつかの例を示す図である。
【図10】図7に示されるステップS47において実行
される処理を示すフローチャートである。
【図11】図9に示される2つの動的計画法によるパス
が現入力フレームから次の入力フレームへ成長する様子
を示す図である。
【図12a】図8に示される単語モデルに関する現アク
ティブリスト中の最初のステートが処理された後の、図
8に示される新アクティブリストの内容を示す図であ
る。
【図12b】図8に示される単語モデルに関する現アク
ティブリスト中の2番目のステートが処理された後の、
図8に示される新アクティブリストの内容を示す図であ
る。
【図13a】図10に示されるステップS77において
実行される処理を示すフローチャートである。
【図13b】図10に示されるステップS77において
実行される処理を示すフローチャートである。
【図13c】 図10に示されるステップS77におい
て実行される処理を示すフローチャートである。
【図13d】 図10に示されるステップS77におい
て実行される処理を示すフローチャートである。
【図13e】 図10に示されるステップS77におい
て実行される処理を示すフローチャートである。
【図14】図7に示されるステップS51において実行
される処理を示すフローチャートである。
【図15】図14において示される処理の間に、ノード
Nに対して実行される処理を示す図である。
【図16】図7に示されるステップS57において実行
される処理を示すフローチャートである。
【図17】図8において示される単語モデルのエントリ
ステートを説明する図である。
【図18】図7のステップS65において実行される処
理を示すフローチャートである。
【図19】各単語のステートに対して用いられる異なる
刈り込み閾値をプロットした図である。
【図20】各単語のステートに対して用いられる刈り込
み閾値の好ましいバリエーションをプロットした図であ
る。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 エリ ツィケル−ハンコック イギリス国 ジーユー2 5ワイジェイ サリー, ギルドフォード, サリー リ サーチ パーク, オッカム ロード, オッカム コート 1 キヤノン リサー チ センター ヨーロッパ リミテッド内 (72)発明者 ジュリアン リチャード シーワッド イギリス国 ジーユー2 5ワイジェイ サリー, ギルドフォード, サリー リ サーチ パーク, オッカム ロード, オッカム コート 1 キヤノン リサー チ センター ヨーロッパ リミテッド内

Claims (53)

    【特許請求の範囲】
  1. 【請求項1】 第1の信号を表わす第1信号パターン列
    と第2の信号を表わす第2信号パターン列とをマッチン
    グさせる方法であって、 前記第1の信号と前記第2の信号をマッチング処理を用
    いてマッチングし、該マッチング処理は各第1信号パタ
    ーンを順次に処理して所定のパス成長に関する制約を用
    いて複数のパスを成長させ、各パスは第2信号パターン
    の列と処理中の現第1信号パターンまでの第1信号パタ
    ーンの列との間の可能なマッチングを表わし、各パスは
    夫々にそのマッチングの近さを表わす累積値を有し、 第1信号パターンの各々の処理の間に前記累積値を刈り
    込み値と比較し、該比較ステップの結果に基づいてパス
    を破棄することにより、前記マッチングを制御し、 現第1信号パターンの処理の間の前記制御ステップにお
    いて複数の異なる刈り込み値が用いられ、与えられたパ
    スに対して該現第1信号パターンの処理の間に用いられ
    る刈り込み値は、前記第2の信号を表わすパターン列内
    における、処理中の現第1信号パターンに対して与えら
    れたパスが終端とする第2信号パターンの位置に依存す
    ることを特徴とするマッチング方法。
  2. 【請求項2】 後続する第1信号パターンについての前
    記比較ステップにおいて用いられる刈り込み値が、現第
    1信号パターンを処理した後に残る全てのパスの最少累
    積値に、前記位置に基づいて変化する変数を加えること
    により決定されることを特徴とする請求項1に記載のマ
    ッチング方法。
  3. 【請求項3】 前記第2信号パターン列は複数のサブシ
    ーケンスグループにに分割され、現第1信号パターンの
    処理の間に前記比較ステップが各グループに対して異な
    る刈り込み値を用いることを特徴とする請求項1または
    2に記載のマッチング方法。
  4. 【請求項4】 現第1信号パターンの処理の間に、前記
    比較ステップは、最初のn個の第2信号パターンの一つ
    で終わるパスに対して第1の刈り込み値を用い、次のm
    個の第2信号パターンの一つで終わるパスに対して第2
    の刈り込み値を用い、残りの第2信号パターンの一つで
    終わるパスに対して第3の刈り込み値を用いることを特
    徴とする請求項1乃至3のいずれかに記載のマッチング
    方法。
  5. 【請求項5】 現第1信号パターンの処理の間に、前記
    比較ステップは、前記第2の信号の終わりの方で終わる
    パスよりも、該第2の信号の始まりの方で終わるパスに
    対してより大きな刈り込み値を用いることを特徴とする
    請求項1乃至4のいずれかに記載のマッチング方法。
  6. 【請求項6】 前記制御ステップは、厳密な刈り込み処
    理を実行し、それにより、対応する刈り込み値よりも悪
    い累積値を有するパスが破棄されることを特徴とする請
    求項1乃至5のいずれかに記載のマッチング方法。
  7. 【請求項7】 前記制御ステップは、柔軟な刈り込み処
    理を実行し、それにより対応する刈り込み値よりも悪い
    累積値を有するいくつかのパスが破棄されずに残ること
    を特徴とする請求項1乃至5のいずれかに記載のマッチ
    ング方法。
  8. 【請求項8】 前記制御ステップは、対応する刈り込み
    値を含む所定範囲内にある累積値を有するパスに対して
    前記柔軟な刈り込みを実行することを特徴とする請求項
    7に記載のマッチング方法。
  9. 【請求項9】 前記制御ステップは、対応する刈り込み
    値を含む所定範囲内にある累積値を有するパスをランダ
    ムに破棄することを特徴とする請求項8に記載のマッチ
    ング方法。
  10. 【請求項10】 前記制御ステップは、前記対応する刈
    り込み値に関連する前記累積値の値に基づいて、対応す
    る刈り込み値の所定範囲内にある累積値を有するパスを
    破棄することを特徴とする請求項8に記載のマッチング
    方法。
  11. 【請求項11】 前記第2信号パターンの列は複数のサ
    ブシーケンスに分割され、現在の第1信号パターンの処
    理の間に、前記比較ステップは前記グループの各々に対
    して異なる複数の刈り込み値を用いることを特徴とする
    請求項8に記載のマッチング方法。
  12. 【請求項12】 第2信号パターンの第1グループに関
    連する複数の刈り込み値は該第2信号パターンの後続の
    グループに対して用いられる複数の刈り込み値よりも大
    きいことを特徴とする請求項11に記載のマッチング方
    法。
  13. 【請求項13】 グループの数、各グループに関連する
    異なる刈り込み値の数、そしてグループに関連する刈り
    込み値の間の差が、前記パスの成長に関する制約に基づ
    いて決定されることを特徴とする請求項11または12
    に記載のマッチング方法。
  14. 【請求項14】 与えられたパスに対して用いられる刈
    り込み値は、該与えられたパスの終端にある第2信号パ
    ターンに隣接する第2信号パターンで終わるパスに対し
    て用いられた刈り込み値に基づいて設定されることを特
    徴とする請求項1乃至13のいずれかに記載のマッチン
    グ方法。
  15. 【請求項15】 前記変数は、直前の第1信号パターン
    の処理の間に成長したパスの数によっても変化すること
    を特徴とする請求項2に従属する記載のマッチング方
    法。
  16. 【請求項16】 前記マッチングステップは動的計画法
    によるマッチング処理を実行することを特徴とする請求
    項1乃至15のいずれかに記載のマッチング方法。
  17. 【請求項17】 前記第1の信号は音声信号を表わし、
    前記第2の信号は基準音声信号を表わし、前記パターン
    の各々は、対応する時間フレームの間の音声信号に対応
    する音響的特徴を表わす複数のパラメータを備えること
    を特徴とする請求項1乃至16のいずれかに記載のマッ
    チング方法。
  18. 【請求項18】 第1の信号を第2の信号にマッチング
    する、動的計画法によるパターンマッチングシステムで
    あって、可能なマッチングのために用いられる刈り込み
    閾値が該可能なマッチングの前記第2の信号における位
    置に基づいて設定されることを特徴とするパターンマッ
    チングシステム。
  19. 【請求項19】 第1の信号を表わす第1信号パターン
    列と第2の信号を表わす第2信号パターン列とをマッチ
    ングさせるマッチング装置であって、 前記第1の信号と前記第2の信号をマッチング処理を用
    いてマッチングし、該マッチング処理は各第1信号パタ
    ーンを順次に処理して所定のパス成長に関する制約を用
    いて複数のパスを成長させるマッチング手段と、各パス
    は第2信号パターンの列と処理中の現第1信号パターン
    までの第1信号パターンの列との間の可能なマッチング
    を表わし、各パスは夫々にそのマッチングの近さを表わ
    す累積値を有し、 第1信号パターンの各々の処理の間に前記累積値を刈り
    込み値と比較する比較手段と、 前記比較手段による比較の結果に基づいてパスを破棄す
    ることにより、前記マッチングを制御する制御手段とを
    備え、 前記制御手段が現第1信号パターンを処理する間におい
    て複数の異なる刈り込み値が用いられ、与えられたパス
    に対して該現第1信号パターンの処理の間に用いられる
    刈り込み値は、前記第2の信号を表わすパターン列内に
    おける、処理中の現第1信号パターンに対して与えられ
    たパスが終端とする第2信号パターンの位置に依存する
    ことを特徴とするマッチング装置。
  20. 【請求項20】 後続する第1信号パターンについての
    前記比較手段に用いられる刈り込み値が、現第1信号パ
    ターンを処理した後に残る全てのパスの最少累積値に、
    前記位置に基づいて変化する変数を加えることにより決
    定されることを特徴とする請求項19に記載のマッチン
    グ装置。
  21. 【請求項21】 前記第2信号パターン列は複数のサブ
    シーケンスグループにに分割され、前記比較手段は、現
    第1信号パターンの処理の間に各グループに対して異な
    る刈り込み値を用いることを特徴とする請求項19また
    は20に記載のマッチング装置。
  22. 【請求項22】 現第1信号パターンの処理の間に、前
    記比較手段は、最初のn個の第2信号パターンの一つで
    終わるパスに対して第1の刈り込み値を用い、次のm個
    の第2信号パターンの一つで終わるパスに対して第2の
    刈り込み値を用い、残りの第2信号パターンの一つで終
    わるパスに対して第3の刈り込み値を用いることを特徴
    とする請求項19乃至21のいずれかに記載のマッチン
    グ装置。
  23. 【請求項23】 現第1信号パターンの処理の間に、前
    記比較手段は、前記第2の信号の終わりの方で終わるパ
    スよりも、該第2の信号の始まりの方で終わるパスに対
    してより大きな刈り込み値を用いることを特徴とする請
    求項19乃至22のいずれかに記載のマッチング装置。
  24. 【請求項24】 前記制御手段は、厳密な刈り込み処理
    を実行し、それにより、対応する刈り込み値よりも悪い
    累積値を有するパスが破棄されることを特徴とする請求
    項19乃至23のいずれかに記載のマッチング装置。
  25. 【請求項25】 前記制御手段は、柔軟な刈り込み処理
    を実行し、それにより対応する刈り込み値よりも悪い累
    積値を有するいくつかのパスが破棄されずに残ることを
    特徴とする請求項19乃至23のいずれかに記載のマッ
    チング装置。
  26. 【請求項26】 前記制御手段は、対応する刈り込み値
    を含む所定範囲内にある累積値を有するパスに対して前
    記柔軟な刈り込みを実行することを特徴とする請求項2
    5に記載のマッチング装置。
  27. 【請求項27】 前記制御手段は、対応する刈り込み値
    を含む所定範囲内にある累積値を有するパスをランダム
    に破棄することを特徴とする請求項26に記載のマッチ
    ング装置。
  28. 【請求項28】 前記制御手段は、前記対応する刈り込
    み値に関連する前記累積値の値に基づいて、対応する刈
    り込み値の所定範囲内にある累積値を有するパスを破棄
    することを特徴とする請求項26に記載のマッチング装
    置。
  29. 【請求項29】 前記第2信号パターンの列は複数のサ
    ブシーケンスに分割され、現在の第1信号パターンの処
    理の間に、前記比較手段は前記グループの各々に対して
    異なる複数の刈り込み値を用いることを特徴とする請求
    項26に記載のマッチング装置。
  30. 【請求項30】 第2信号パターンの第1グループに関
    連する複数の刈り込み値は該第2信号パターンの後続の
    グループに対して用いられる複数の刈り込み値よりも大
    きいことを特徴とする請求項29に記載のマッチング装
    置。
  31. 【請求項31】 グループの数、各グループに関連する
    異なる刈り込み値の数、そしてグループに関連する刈り
    込み値の間の差が、前記パスの成長に関する制約に基づ
    いて決定されることを特徴とする請求項29または30
    に記載のマッチング装置。
  32. 【請求項32】 与えられたパスに対して用いられる刈
    り込み値は、該与えられたパスの終端にある第2信号パ
    ターンに隣接する第2信号パターンで終わるパスに対し
    て用いられた刈り込み値に基づいて設定されることを特
    徴とする請求項19乃至31のいずれかに記載のマッチ
    ング装置。
  33. 【請求項33】 前記変数は、直前の第1信号パターン
    の処理の間に成長したパスの数によっても変化すること
    を特徴とする請求項30に記載のマッチング装置。
  34. 【請求項34】 前記マッチング手段は動的計画法によ
    るマッチング処理を実行することを特徴とする請求項1
    9乃至33のいずれかに記載のマッチング装置。
  35. 【請求項35】 前記第1の信号は音声信号を表わし、
    前記第2の信号は基準音声信号を表わし、前記パターン
    の各々は、対応する時間フレームの間の音声信号に対応
    する音響的特徴を表わす複数のパラメータを備えること
    を特徴とする請求項19乃至34のいずれかに記載のマ
    ッチング装置。
  36. 【請求項36】 コンピュータによって、第1の信号を
    表わす第1信号パターン列と第2の信号を表わす第2信
    号パターン列とをマッチングさせるマッチング処理を実
    行させるための処理プログラムを格納する記憶媒体であ
    って、該処理プログラムの備える処理ステップが、 前記第1の信号と前記第2の信号をマッチング処理を用
    いてマッチングし、該マッチング処理は各第1信号パタ
    ーンを順次に処理して所定のパス成長に関する制約を用
    いて複数のパスを成長させ、各パスは第2信号パターン
    の列と処理中の現第1信号パターンまでの第1信号パタ
    ーンの列との間の可能なマッチングを表わし、各パスは
    夫々にそのマッチングの近さを表わす累積値を有し、 第1信号パターンの各々の処理の間に前記累積値を刈り
    込み値と比較し、該比較ステップの結果に基づいてパス
    を破棄することにより、前記マッチングを制御し、 現第1信号パターンの処理の間の前記制御ステップにお
    いて複数の異なる刈り込み値が用いられ、与えられたパ
    スに対して該現第1信号パターンの処理の間に用いられ
    る刈り込み値は、前記第2の信号を表わすパターン列内
    における、処理中の現第1信号パターンに対して与えら
    れたパスが終端とする第2信号パターンの位置に依存す
    ることを特徴とする記憶媒体。
  37. 【請求項37】 後続する第1信号パターンについての
    前記比較ステップにおいて用いられる刈り込み値が、現
    第1信号パターンを処理した後に残る全てのパスの最少
    累積値に、前記位置に基づいて変化する変数を加えるこ
    とにより決定されることを特徴とする請求項36に記載
    の記憶媒体。
  38. 【請求項38】 前記第2信号パターン列は複数のサブ
    シーケンスグループにに分割され、現第1信号パターン
    の処理の間に前記比較ステップが各グループに対して異
    なる刈り込み値を用いることを特徴とする請求項36ま
    たは37に記載の記憶媒体。
  39. 【請求項39】 現第1信号パターンの処理の間に、前
    記比較ステップは、最初のn個の第2信号パターンの一
    つで終わるパスに対して第1の刈り込み値を用い、次の
    m個の第2信号パターンの一つで終わるパスに対して第
    2の刈り込み値を用い、残りの第2信号パターンの一つ
    で終わるパスに対して第3の刈り込み値を用いることを
    特徴とする請求項36乃至38のいずれかに記載の記憶
    媒体。
  40. 【請求項40】 現第1信号パターンの処理の間に、前
    記比較ステップは、前記第2の信号の終わりの方で終わ
    るパスよりも、該第2の信号の始まりの方で終わるパス
    に対してより大きな刈り込み値を用いることを特徴とす
    る請求項36乃至39のいずれかに記載の記憶媒体。
  41. 【請求項41】 前記制御ステップは、厳密な刈り込み
    処理を実行し、それにより、対応する刈り込み値よりも
    悪い累積値を有するパスが破棄されることを特徴とする
    請求項36乃至40のいずれかに記載の記憶媒体。
  42. 【請求項42】 前記制御ステップは、柔軟な刈り込み
    処理を実行し、それにより対応する刈り込み値よりも悪
    い累積値を有するいくつかのパスが破棄されずに残るこ
    とを特徴とする請求項36乃至40のいずれかに記載の
    記憶媒体。
  43. 【請求項43】 前記制御ステップは、対応する刈り込
    み値を含む所定範囲内にある累積値を有するパスに対し
    て前記柔軟な刈り込みを実行することを特徴とする請求
    項42に記載の記憶媒体。
  44. 【請求項44】 前記制御ステップは、対応する刈り込
    み値を含む所定範囲内にある累積値を有するパスをラン
    ダムに破棄することを特徴とする請求項43に記載の記
    憶媒体。
  45. 【請求項45】 前記制御ステップは、前記対応する刈
    り込み値に関連する前記累積値の値に基づいて、対応す
    る刈り込み値の所定範囲内にある累積値を有するパスを
    破棄することを特徴とする請求項43に記載の記憶媒
    体。
  46. 【請求項46】 前記第2信号パターンの列は複数のサ
    ブシーケンスに分割され、現在の第1信号パターンの処
    理の間に、前記比較ステップは前記グループの各々に対
    して異なる複数の刈り込み値を用いることを特徴とする
    請求項43に記載の記憶媒体。
  47. 【請求項47】 第2信号パターンの第1グループに関
    連する複数の刈り込み値は該第2信号パターンの後続の
    グループに対して用いられる複数の刈り込み値よりも大
    きいことを特徴とする請求項46に記載の記憶媒体。
  48. 【請求項48】 グループの数、各グループに関連する
    異なる刈り込み値の数、そしてグループに関連する刈り
    込み値の間の差が、前記パスの成長に関する制約に基づ
    いて決定されることを特徴とする請求項46または47
    に記載の記憶媒体。
  49. 【請求項49】 与えられたパスに対して用いられる刈
    り込み値は、該与えられたパスの終端にある第2信号パ
    ターンに隣接する第2信号パターンで終わるパスに対し
    て用いられた刈り込み値に基づいて設定されることを特
    徴とする請求項36乃至48のいずれかに記載の記憶媒
    体。
  50. 【請求項50】 前記変数は、直前の第1信号パターン
    の処理の間に成長したパスの数によっても変化すること
    を特徴とする請求項37に従属する請求項のいずれかに
    記載の記憶媒体。
  51. 【請求項51】 前記マッチングステップは動的計画法
    によるマッチング処理を実行することを特徴とする請求
    項36乃至50のいずれかに記載の記憶媒体。
  52. 【請求項52】 前記第1の信号は音声信号を表わし、
    前記第2の信号は基準音声信号を表わし、前記パターン
    の各々は、対応する時間フレームの間の音声信号に対応
    する音響的特徴を表わす複数のパラメータを備えること
    を特徴とする請求項36乃至51のいずれかに記載の記
    憶媒体。
  53. 【請求項53】 第1の信号を表わす第1信号パターン
    列と第2の信号を表わす第2信号パターン列とをマッチ
    ングさせるパターンマッチング処理を遂行するための、
    コンピュータによって実行可能な処理ステップを搬送す
    る信号であって、該処理ステップが、 前記第1の信号と前記第2の信号をマッチング処理を用
    いてマッチングし、該マッチング処理は各第1信号パタ
    ーンを順次に処理して所定のパス成長に関する制約を用
    いて複数のパスを成長させ、各パスは第2信号パターン
    の列と処理中の現第1信号パターンまでの第1信号パタ
    ーンの列との間の可能なマッチングを表わし、各パスは
    夫々にそのマッチングの近さを表わす累積値を有し、 第1信号パターンの各々の処理の間に前記累積値を刈り
    込み値と比較し、該比較ステップの結果に基づいてパス
    を破棄することにより、前記マッチングを制御し、 現第1信号パターンの処理の間の前記制御ステップにお
    いて複数の異なる刈り込み値が用いられ、与えられたパ
    スに対して該現第1信号パターンの処理の間に用いられ
    る刈り込み値は、前記第2の信号を表わすパターン列内
    における、処理中の現第1信号パターンに対して与えら
    れたパスが終端とする第2信号パターンの位置に依存す
    ることを特徴とするコンピュータのための処理ステップ
    搬送信号。
JP11033280A 1998-02-10 1999-02-10 マッチング方法及び装置及び記憶媒体 Withdrawn JPH11282488A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9802836.8 1998-02-10
GBGB9802836.8A GB9802836D0 (en) 1998-02-10 1998-02-10 Pattern matching method and apparatus

Publications (1)

Publication Number Publication Date
JPH11282488A true JPH11282488A (ja) 1999-10-15

Family

ID=10826771

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11033280A Withdrawn JPH11282488A (ja) 1998-02-10 1999-02-10 マッチング方法及び装置及び記憶媒体

Country Status (5)

Country Link
US (2) US6240389B1 (ja)
EP (2) EP1324315A1 (ja)
JP (1) JPH11282488A (ja)
DE (1) DE69904764T2 (ja)
GB (1) GB9802836D0 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7739111B2 (en) 2005-08-11 2010-06-15 Canon Kabushiki Kaisha Pattern matching method and apparatus and speech information retrieval system

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9822931D0 (en) * 1998-10-20 1998-12-16 Canon Kk Speech processing apparatus and method
JP4067716B2 (ja) * 1999-09-13 2008-03-26 三菱電機株式会社 標準パターン作成装置と方法および記録媒体
MXPA02005387A (es) * 1999-12-02 2004-04-21 Thomson Licensing Sa Proceso y dispositivo para reconocimiento de voz que utiliza modelos de lenguaje desarticulados.
US7035802B1 (en) * 2000-07-31 2006-04-25 Matsushita Electric Industrial Co., Ltd. Recognition system using lexical trees
AU2000276396A1 (en) * 2000-09-30 2002-04-15 Intel Corporation (A Corporation Of Delaware) Method and system for building a domain specific statistical language model fromrule-based grammar specifications
EP1199704A3 (de) * 2000-10-17 2003-10-15 Philips Intellectual Property & Standards GmbH Auswahl der alternativen Wortfolgen für diskriminative Anpassung
JP2004516516A (ja) * 2000-12-18 2004-06-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 単語を認識するために発言を保存しボキャブラリーを選択する方法
JP2002215187A (ja) * 2001-01-23 2002-07-31 Matsushita Electric Ind Co Ltd 音声認識方法及びその装置
GB0204474D0 (en) * 2002-02-26 2002-04-10 Canon Kk Speech recognition system
ITTO20020170A1 (it) * 2002-02-28 2003-08-28 Loquendo Spa Metodo per velocizzare l'esecuzione di reti neurali per il riconoscimento della voce e relativo dispositivo di riconoscimento vocale.
US6823493B2 (en) * 2003-01-23 2004-11-23 Aurilab, Llc Word recognition consistency check and error correction system and method
US20060241937A1 (en) * 2005-04-21 2006-10-26 Ma Changxue C Method and apparatus for automatically discriminating information bearing audio segments and background noise audio segments
JP4241771B2 (ja) * 2006-07-04 2009-03-18 株式会社東芝 音声認識装置及びその方法
US20080147579A1 (en) * 2006-12-14 2008-06-19 Microsoft Corporation Discriminative training using boosted lasso
US20080154600A1 (en) * 2006-12-21 2008-06-26 Nokia Corporation System, Method, Apparatus and Computer Program Product for Providing Dynamic Vocabulary Prediction for Speech Recognition
US20080162129A1 (en) * 2006-12-29 2008-07-03 Motorola, Inc. Method and apparatus pertaining to the processing of sampled audio content using a multi-resolution speech recognition search process
US8560318B2 (en) * 2010-05-14 2013-10-15 Sony Computer Entertainment Inc. Methods and system for evaluating potential confusion within grammar structure for set of statements to be used in speech recognition during computing event
US9224384B2 (en) * 2012-06-06 2015-12-29 Cypress Semiconductor Corporation Histogram based pre-pruning scheme for active HMMS
US20170294187A1 (en) * 2016-04-06 2017-10-12 Honeywell International Inc. Systems and method for performing speech recognition
US10579751B2 (en) * 2016-10-14 2020-03-03 International Business Machines Corporation System and method for conducting computing experiments
KR102381330B1 (ko) * 2019-12-11 2022-04-01 구글 엘엘씨 타겟팅 및 기타 설정을 개선하기 위한 콘텐츠 제공자 추천

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4783803A (en) * 1985-11-12 1988-11-08 Dragon Systems, Inc. Speech recognition apparatus and method
US4977598A (en) * 1989-04-13 1990-12-11 Texas Instruments Incorporated Efficient pruning algorithm for hidden markov model speech recognition
JP2980420B2 (ja) * 1991-07-26 1999-11-22 富士通株式会社 動的計画法照合装置
AU672895B2 (en) * 1993-03-31 1996-10-17 British Telecommunications Public Limited Company Connected speech recognition
US6230128B1 (en) * 1993-03-31 2001-05-08 British Telecommunications Public Limited Company Path link passing speech recognition with vocabulary node being capable of simultaneously processing plural path links
US5677990A (en) 1995-05-05 1997-10-14 Panasonic Technologies, Inc. System and method using N-best strategy for real time recognition of continuously spelled names
GB9602700D0 (en) 1996-02-09 1996-04-10 Canon Kk Pattern matching method and apparatus
US5960395A (en) * 1996-02-09 1999-09-28 Canon Kabushiki Kaisha Pattern matching method, apparatus and computer readable memory medium for speech recognition using dynamic programming
JP3061114B2 (ja) * 1996-11-25 2000-07-10 日本電気株式会社 音声認識装置
US5950158A (en) * 1997-07-30 1999-09-07 Nynex Science And Technology, Inc. Methods and apparatus for decreasing the size of pattern recognition models by pruning low-scoring models from generated sets of models

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7739111B2 (en) 2005-08-11 2010-06-15 Canon Kabushiki Kaisha Pattern matching method and apparatus and speech information retrieval system

Also Published As

Publication number Publication date
US6725196B2 (en) 2004-04-20
GB9802836D0 (en) 1998-04-08
US20010023398A1 (en) 2001-09-20
DE69904764D1 (de) 2003-02-13
EP0936598B1 (en) 2003-01-08
US6240389B1 (en) 2001-05-29
DE69904764T2 (de) 2003-10-02
EP1324315A1 (en) 2003-07-02
EP0936598A1 (en) 1999-08-18

Similar Documents

Publication Publication Date Title
EP0936598B1 (en) Pattern matching method and apparatus
EP0813735B1 (en) Speech recognition
US5895448A (en) Methods and apparatus for generating and using speaker independent garbage models for speaker dependent speech recognition purpose
US5842165A (en) Methods and apparatus for generating and using garbage models for speaker dependent speech recognition purposes
US6076054A (en) Methods and apparatus for generating and using out of vocabulary word models for speaker dependent speech recognition
US7228275B1 (en) Speech recognition system having multiple speech recognizers
EP0706171B1 (en) Speech recognition method and apparatus
EP0789348B1 (en) Pattern matching method and apparatus
JPH096386A (ja) 状態遷移モデルの設計方法及び該状態遷移モデルを用いた音声認識装置
JPH0372998B2 (ja)
JPH11282487A (ja) マッチング方法及び装置及び記憶媒体
JPH09230885A (ja) パターン位置決定方法及び装置
JP3061114B2 (ja) 音声認識装置
Sankar Experiments with a Gaussian merging-splitting algorithm for HMM training for speech recognition
EP0525640B1 (en) Dynamic programming matching system for speech recognition
JPWO2010128560A1 (ja) 音声認識装置、音声認識方法、及び音声認識プログラム
JP3176210B2 (ja) 音声認識方法及び音声認識装置
US6411929B1 (en) Speech recognition method and system
JP2570448B2 (ja) 標準パターン学習方法
US6631349B1 (en) Speech recognition method and system
JP3216565B2 (ja) 音声モデルの話者適応化方法及びその方法を用いた音声認識方法及びその方法を記録した記録媒体
JPH06259089A (ja) 音声認識方法
JPH0962290A (ja) 音声認識装置
JPH06175678A (ja) 音声認識装置
CN120089141A (zh) 语音识别方法、语音识别装置和语音识别系统

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: 20060509