JPH09230885A - パターン位置決定方法及び装置 - Google Patents

パターン位置決定方法及び装置

Info

Publication number
JPH09230885A
JPH09230885A JP9026969A JP2696997A JPH09230885A JP H09230885 A JPH09230885 A JP H09230885A JP 9026969 A JP9026969 A JP 9026969A JP 2696997 A JP2696997 A JP 2696997A JP H09230885 A JPH09230885 A JP H09230885A
Authority
JP
Japan
Prior art keywords
word
input
model
frame
state
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.)
Granted
Application number
JP9026969A
Other languages
English (en)
Other versions
JP3847879B2 (ja
Inventor
Tsuirukeruuhankotsuku Eri
ツィルケル−ハンコック エリ
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 JPH09230885A publication Critical patent/JPH09230885A/ja
Application granted granted Critical
Publication of JP3847879B2 publication Critical patent/JP3847879B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training

Abstract

(57)【要約】 【課題】標本的入力信号において、分離的に入力された
パターンの位置を決定する方法を提供する。 【解決手段】入力信号を、該入力信号と実質的に同じパ
ターンを含む複数の接続されたパターンを表す信号に対
応付ける(S21)。次に、上記対応付け(アライメン
ト)の結果から位置を決定する。この装置を用いて決定
されたその位置は、分離標準モデルを決定するのに用い
られる。これは検出された位置から入力信号の特徴を抽
出することによってなされる(S23)。この分離標準
モデルは、パターンの連続標準モデルを生成するのに用
いられ得る(S25、S27)。これは、分離標準モデ
ルを、モデル化すべきパターンを含む複数の接続パター
ンを表す信号に対応付けることで実現される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、標本的な信号内に
おけるパターンの位置を識別するための方法及び装置に
関する。本発明は、連続音声認識システムにおいて使用
するためのワードモデルの決定に関して説明されるが、
これに限定されるものではない。
【0002】
【従来の技術】音声認識は未知の発声音声を認識する処
理である。現在、数種類の異なるタイプの有用な音声認
識システムが存在し、これらは数種類の方法で分類され
る。例えば、あるシステムは話者依存型であり、他のも
のは話者非依存型である。また、あるシステムは大量の
語彙(10000ワード以上)に関して動作し、他のも
のは限られた量の語彙(1000ワード以下)に関して
動作する。幾つかのシステムは分離ワード(単語)のみ
を認識し得るものであり、他のものは一連の連続単語を
含むフレーズを認識しうる。
【0003】入力された発声音声を認識するために、音
声認識システムは入力された発声音を既知の音声の特徴
と比較する。既知の音声の特徴は、標準パターン(特
徴)の生成のために既知の音声サンプルが提供される学
習セッションのおいて決定される。
【0004】連続音声認識(文音声認識)システムにお
いては、一般に、標準パターンは与えられた言語の音素
を表す。IBMはそのような連続音声認識システムを創
るための開発システムを製造した。これはIBM連続音
声シリーズ(IBM continuousspeech series、ICS
S)と呼ばれる。この開発システムは、音声標記によっ
て綴られたワードの巨大な辞書と、北米英語の音素の標
準音響モデルと、音声認識システムで使用するための言
語モデルを生成するためのツールとを備える。IBMシ
ステムによれば、アプリケーション開発者が、例えばP
Cもしくは電話システムといった特定の応用において使
用される音声認識システムを開発することが可能とな
る。開発者は、まず始めに音声認識システムにおいて用
いられることになるであろう文をタイプ入力してファイ
ルにし、IBM辞書に存在しないあらゆるワードについ
て音声標記を提供し、最後に文章ファイルをコンパイル
することにより、適切な言語モデルを構築できる。結果
として得られる音声認識システムは、こうしてエンドユ
ーザに売られ、適応した使用範囲で用いられることにな
る。
【0005】
【発明が解決しようとする課題】上述した種類の連続音
声認識システムの一つの問題は、標準モデルが音素であ
ることである。このため、システムは言語及びアクセン
トに依存したものとなる。加えて、このシステムにおい
ては、エンドユーザに提供される言語モデルは固定的で
あり、新たな文章を含ませるべくこれを更新することは
できないという欠点を有している。
【0006】全ての連続音声認識システムが音素に対応
する標準モデルを使用するわけではない。USP4,783,
808(Texas Instruments Incorporated)は、全ワード
に対応する標準モデルを使用した連続音声認識システム
を提案する。従って、このシステムは、音素ベースのシ
ステムが有していた言語及びアクセント依存性という問
題を有することは無いであろう。しかしながら、このよ
うなワードベースの連続音声認識システムは、連続音声
において発声されたときのワードを識別可能とするため
の良いワードモデルを生成することが困難であるという
問題を有する。分離的に発声されたワードを識別するた
めの良いワードモデルを生成することは、比較的簡単で
ある。しかしながら、接続音声において発声されたワー
ドは、それらが分離的に発声された場合と大きく異な
る。このため、分離ワードモデルは接続音声において発
声された場合の対応ワードを識別するには十分に適した
ものではない。このような相違の理由の一つは、接続音
声において発声されるワードは、一般に、同じワードが
分離的に発声される場合に比べてかなり速いことにあ
る。また、相違に対するもう一つの理由は、接続音声に
おいて発声されるワードには言語音の相互作用(co-art
iculation effect)、すなわち隣接するワードとの結合
が生じてしまうことにある。
【0007】USP4,783,808によれば、接続ワードモ
デルは次の手順で生成される。すなわち、まずはじめに
ワードの分離的な発声音から分離ワードモデルを生成
し、次に、異なる発声速度に対応するよう分離ワードモ
デルを圧縮し、続いて、分離ワードモデルと接続音声と
のマッチングを行い、最後に、マッチングがとれたワー
ドから音声的特徴を抽出することによって接続ワードモ
デルを決定する、という手順となる。
【0008】USP4,783,808において開示されたシス
テムの一つの問題点は、自動的にワードモデルを生成し
ないことである。それは、ワードモデルから生成された
出力音声信号に基づいて、分離ワードモデルそして連続
ワードモデルが十分にあることを示すアクノリッジメン
トという形態のユーザの仲介を必要とする。USP4,78
3,808において開示されたシステムのもう一つの問題点
は、分離ワードモデルに対して一定の圧縮を実行するこ
とである。このような一定の圧縮処理は現実的でない
し、ある場合においては、分離ワードモデルとそのワー
ドを含む連続単語音声とのマッチングを低下させてしま
う。
【0009】本発明は上記の問題に鑑みてなされたもの
であり、接続パターン中に現れる分離パターンに対応し
た部分の信号的特徴を容易に抽出可能とすることを目的
とする。
【0010】また、本発明の目的は、上記のようにして
抽出された信号的特徴を用いて、接続されたパターンの
認識に適応しうる分離標準モデルを容易に構築可能とす
ることにある。特に、連続音声認識のための分離ワード
モデルの生成を容易化するとともに、その更新及び追加
をも極めて容易化することを目的とする。
【0011】
【課題を解決するための手段】本発明の一態様によれ
ば、入力信号と、位置付けるべきパターンを含む複数の
標本的な信号を比較することによって、標本的入力信号
内においてパターンの位置を決定する方法及び装置が提
供される。
【0012】本発明の一実施形態では、分離的に入力さ
れたときのパターンの、標本的入力信号内における位置
を決定する方法が提供される。この方法は、入力信号と
実質的にこの入力信号と同じパターンを含む複数の接続
パターンを表す信号との対応付けを行う工程を備える。
また、好ましくは、そのパターンは音声の部分を表すも
のである。
【0013】この方法を用いて決定された位置は分離標
準モデルを決定するのに用いられる。すなわち、その検
出された位置から入力信号の特徴を抽出することで分離
標準モデルが決定され得る。更に、この分離標準モデル
はパターンの連続標準モデルを生成するのにも用いられ
得る。これは、分離標準モデルを、モデル化されるべき
パターンを含む複数の接続パターンを表す信号に対して
対応付けるアライメント処理を実行することで行なわれ
る。
【0014】他の実施形態によれば、新たな入力フレー
ズに対処するために、音声認識システムにおいて用いる
ための言語モデルを適応させる方法が提供される。ここ
で、言語モデルは少なくともスタートノードとエンドノ
ードとを有し、(a)第1のワードをスタートノードの
出力に接続し、(b)前記フレーズ中の最後のワードを
除く全てに対して、(i)中間ノードを生成してその入
力に前記フレーズ中の現在のワードを接続し、(ii)前
記フレーズ中の次のワードを該中間ノードの出力側に追
加し、そして、(c)最後のワードをエンドノードの入
力側に接続する。
【0015】また、本発明の第2の態様によれば、エン
ドユーザが新しいワードを継続的にワードモデルに追加
できる連続単語音声認識システムが提供される。
【0016】本発明の別の実施形態によれば、連続音声
認識装置が提供される。この装置は、認識されるべき信
号を入力する入力手段と、前記入力信号と複数の標準モ
デルとをマッチングするマッチング手段と、前記マッチ
ング手段に応答して、認識結果を提供する認識手段とを
備え、エンドユーザが継続的に新たな標準モデルを追加
することを可能とする手段を更に備えることを特徴とす
る。好ましい実施形態においては、音声認識システムは
さらに言語モデルを備える。この言語モデルは、出力さ
れるワードの許容シーケンスを限定し、エンドユーザに
よって更新され得る。
【0017】
【発明の実施の形態】以下、添付の図面を参照して本発
明の一実施形態を説明する。
【0018】本発明の実施形態はコンピュータのハード
ウェアで実施され得るが、以下に説明する実施形態は、
例えばパーソナルコンピュータ、ワークステーション、
複写機、ファクシミリ等の装置の処理ハードウェアとと
もに動作するソフトウェアにおいても用いられ得るもの
である。
【0019】図1は、本発明の一実施形態を処理するよ
うに構成されたパーソナルコンピュータ(PC)1を示
す。キーボード3、ポインティングデバイス5、マイク
ロフォン7および電話線9は、インタフェース11を介
して接続される。キーボード3およびポインティングデ
バイス5によって、ユーザはシステムを制御できる。マ
イクロフォン7は、ユーザの音響的音声信号をそれに相
当する電気信号に変換し、この電気信号をPC1に処理
のために供給する。本実施形態において、処理されるべ
き入力音声の始点および終点は、入力発声音が継続され
ている間キーボード3上のスペースバーを押すことによ
って認識される。このような方法で、システムは認識さ
れるべき入力発声音を処理する。内蔵モデムおよび音声
受信回路(図示されていない)は電話線9に接続され、
PC1は、例えば遠隔地のコンピュータまたはユーザと
通信することができる。
【0020】本発明で規定するようにPC1を動作させ
るためのプログラム命令は、既存のPCで用いるために
磁気ディスク13のような記憶装置上に供給されてもよ
いし、または電話線9を介してリモートコンピュータと
通信する内蔵モデムによって供給されてもよい。
【0021】本実施形態の限定された語彙による連続音
声認識システムの処理を、図2を参照して説明する。例
えば、マイクロフォン7からの入力音声を示す電気信号
は、プリプロセッサ(PREPROCESSOR)15に入力され
る。プリプロセッサ15は、入力音声信号をパラメータ
フレームのシーケンスに変換する。ここで、各パラメー
タフレームは、入力音声信号に対応する時間フレームを
示すものである。次に、パラメータフレームのシーケン
スは、認識ブロック(RECOGNITION)17に供給され
る。認識ブロック17において、入力されたパラメータ
フレームのシーケンスを標準モデル即ちワードモデル
(WORD MODELS)19と比較することによって、入力音
声が認識される。標準モデル、即ちワードモデル19の
各モデルは、認識されるべき入力音声と同様の種類のパ
ラメータで表されるパラメータフレームのシーケンスで
構成されている。
【0022】言語モデル(LANGUAGE MODEL)21および
ノイズモデル(NOISE MODEL)23も認識ブロック17
に対する入力として供給され、認識プロセスにおいて用
いられる。本実施形態において、ノイズモデルは沈黙ま
たはバックグラウンドのノイズを示し、認識されるべき
入力音声信号のパラメータフレームと同様のタイプの1
つのパラメータフレームから構成される。言語モデル2
1が用いられ、システムに認知されたワードのシーケン
スに適応させるように、認識ブロック17から出力され
たワードの取り得るシーケンスを制限する。認識ブロッ
ク17から出力されたワードシーケンスはコピーされ、
例えばワードプロセッシングパッケージ等で用いられ
る。または、そのワードシーケンスは、オペレータコマ
ンドとして用いられ、PC1の動作を開始したり、中止
させたりまたは修正したりする。
【0023】以下、上記の装置に関するより詳細な説明
を行う。
【0024】<プリプロセッサ>プリプロセッサ15に
ついて図3〜図10を参照して説明する。
【0025】プリプロセッサ15の機能は、必要な情報
を音声から抽出することにより処理されるべきデータを
削減することである。音声分析の技術分野において、音
声を前処理する方法は多数知られており、以下に説明す
る方法は、一実施形態として示されているものである。
よって、以下に説明するような方法に限定されると解釈
されるべきではない。本実施形態において、プリプロセ
ッサ15は、「フォルマント(formant)」関連情報を
抽出するように設計されている。フォルマントとは、ユ
ーザの声道の共振周波数として定義され、声道の変化に
したがって変化する。
【0026】図3は、入力音声信号に対して行われる前
処理を示すブロック図である。マイクロフォン7または
電話線9からの入力音声S(t)は、フィルタブロック
(FILTER)61に供給され、入力音声信号内のあまり重
要でない情報を含む周波数を除去する。音声信号の中
で、もっとも重要な情報は、4KHz以下の周波数に含
まれる。したがって、フィルタブロック61は、4KH
zを上回るすべての周波数を除去する。その後、濾過音
声信号は、ADコンバータ(ADC)63によって、デ
ィジタルサンプルに変換される。ナイキストサンプリン
グ基準にしたがって、ADC63は、8000回/秒の
レートで濾過信号をサンプリングする。本実施形態にお
いて、全入力発声音声はディジタルサンプルに変換さ
れ、音声信号を処理するための次のステップの前に、バ
ッファ(図示されていない)に記憶される。
【0027】入力音声が抽出された後、入力音声は、分
割ブロック(DIVISION INTO FLAMES)65で互いに一部
が重なり合う等しい長さのフレームに分割される。入力
音声をフレームに分割する理由をより詳細に説明する。
上記のとおり、連続的に音声が発せられる間、フォルマ
ント関連情報は連続的に変化し、その変化の割合は、生
理学的抑制によって制限される音声発声器官の動作の割
合に直接的に関連する。したがって、変化するフォルマ
ント周波数を追跡するためには、音声信号は短時間の周
期または短いフレームで分析されなければならない。こ
の方法は、音声分析の技術分野において、「短時間」音
声分析として知られている。短時間分析を行う際、考慮
しなければならない点が2つある。すなわち、(i)ど
のくらいの速度で、時間フレームが音声信号から抽出さ
れなければならないか、(ii)どのくらいの大きさの
時間フレームが用いられなければならないか、という2
点である。
【0028】第1の考慮に関しては、音声発声器官の動
作速度に依存する。すなわち、重要なイベントを見逃さ
ないことを保証するとともに、適当な連続性を保証する
ようように、フレームは十分に近寄っている必要があ
る。本実施形態において、1つのフレームは10mse
cに1回の割合で抽出される。第2の考慮に関しては、
フレーム間の音声信号の特性が一定になるような十分に
短い時間フレームと、フォルマントを区別するのに十分
な周波数を提供するのに十分に長い時間フレームとの間
の妥協しうる点で決定される。 本実施形態において、
フレームの長さは20msecであり、上記サンプリン
グ速度で、1つのフレームにつき160個のサンプルに
相当する。
【0029】これらのフレームを音声サンプルから直接
抽出することによって発生させる場合、かなりの周波数
のひずみが生じる。したがって、このようなひずみを低
減するため、スムーズウィンドウ機能を用いるべきであ
る。ハミング(Hamming)、ハニング(Hanning)、ブラ
ックマン(Blackman)、バートレット(Bartlett)およ
びカイザー(Kaiser)等のようなウィンドウは多数存在
し、何れも適用可能である。これらすべてのウィンドウ
は、音声分析の当業者に知られている。本実施形態にお
いて、ハミングウィンドウが用いられ、これは以下の等
式によって表される。
【0030】
【数1】
【0031】ここで、Nsはウィンドウ内のサンプルの
数、すなわち、160個のサンプルを示す。
【0032】図4は、本実施形態において行われる短時
間分析処理を詳細に示す図である。フレーム1(Flame
1)、すなわち、時刻aと時刻bとの間の音声信号に、
上記の式(1)で求められるウィンドウ関数が乗算され
る。さらに、選択されたフレームの速度およびフレーム
の長さに従って、次のフレームであるフレーム2は、フ
レーム1の中間、すなわち時刻cから始まる。
【0033】入力音声信号のフレームがいったん抽出さ
れると、ブロック67(DFT67)においてフレーム
の離散フーリエ変換(DFT)の振幅が計算される。す
なわち、|Sk(f)|が計算される。ここで、fは離散周
波数変数を示す。このプリプロセッサの多くの態様は、
人間の聴覚システムの動作をシミュレートするために設
計されているので、振幅情報のみが必要であり、入力音
声信号の位相に対しては比較的敏感でない。図5は、1
60個のサンプル、すなわちr=0,1,...159
から構成される1つのフレームSk(r)の典型的な音声信
号を示す。高速フーリエ変換(FFT)アルゴリズムを
DFTの計算で有効に用いるため、フレームSk(r)内の
サンプルの数を2のべき乗まで増加させる必要がある。
これを達成する方法の1つとして、160個のサンプル
の後に96個の0を追加し、256個のサンプルを得る
ことが挙げられる。この技術は「0の充填」として知ら
れ、音声分析の分野において公知であるので、これ以上
の説明はしない。
【0034】Sk(r)のDFTをコンピュータで演算する
場合、計算処理のために、スペクトルの第1の128個
のサンプルだけが必要である。なぜならば、音声は実際
の信号であり、後半の128個のサンプルは前半の12
8個のサンプルの鏡像だからである。図6は、図5に示
されるフレームSk(r)内の音声信号のDFT| Sk(f)|
の振幅の最初の128個のサンプルを示し、最終のサン
プルはサンプリング周波数の半分の周波数、すなわち、
4KHzの周波数で発生するものとなる。
【0035】上記のとおり、プリプロセッサ15の目的
は、データレートを低減し、入力音声信号の特定成分を
強調することである。1つのフレームにつき128個の
サンプルしか存在しないので、DFTによるデータレー
トの低減はわずかである。さらにデータレートを低減す
る方法の1つとして、スペクトルを等しい周波数帯に分
割し、各周波数帯内のサンプルを平均化することが挙げ
られる。すなわち、図6に示されるサンプルをフィルタ
バンクに通過させることである。
【0036】人間の聴覚システムに関する研究によれ
ば、耳の周波数分解能が周波数が増加するとともに減少
することが示されている。従って、高周波数領域と比較
して低周波数領域の中に多くの周波数帯を有するフィル
タバンク、すなわち対数スペースフィルタバンクは、直
線スペースフィルタバンクよりも好ましい。なぜなら、
対数スペースフィルタバンクの方が知覚的に重要な情報
をより多く保持することができるからである。
【0037】本実施形態において、40個の周波数帯を
有するメルスペースフィルタバンク(MEL FILTER BAN
K)69が用いられる。メルスケールは音声分析の分野
で公知であり、音声の知覚周波数を線形スケール上にマ
ップしようとする対数スケールである。図7は、メルス
ペースフィルタバンク69の出力|S~k(f')|を示し、
図6に示されるサンプルがバンク69を通過したときの
出力を示す。振幅スペクトルの結果エンベロープ100
は、フィルタバンク69の平均化効果のためにかなりな
めらかであるが、フィルタバンクの対数スペースのため
に低周波数帯ではなめらかではない。
【0038】次に、フォルマント関連情報が、図3のブ
ロック71、73および75を用いて、下記のプロセス
によって音声から抽出される。
【0039】励起信号E(t)およびフィルタV(t)の項を用
いて、ユーザの音声信号S(t)をモデルにすることができ
る。ここで、励起信号E(t)は声道に入る空気流を示し、
フィルタV(t)は声道の濾過効果を示す。結果的に、音声
信号の周波数スペクトル|S(f)|の振幅は、励起信号の
周波数スペクトル|E(f)|の振幅と声道フィルタのスペ
クトル|V(f)|の振幅を乗算することによって求められ
る。すなわち、以下の(2)式によって求められる。
【0040】
【数2】
【0041】ケプストラム法(cepstral method)とし
て知られる方法、すなわち、音域情報を入力音声から抽
出する方法の一つを以下に示す。この方法は、音声振幅
応答|S(f)|の対数を取ることによって、音域フィルタ
振幅応答|V(f)|を励起振幅応答|E(f)|から分離する
ことを含む。この結果、励起および声道フィルタの特性
の和で表わされるようになる。すなわち、(3)式によ
って求められる。
【0042】
【数3】
【0043】図8は、メルフィルタバンク69からのロ
グ出力のエンベロープ、すなわち、log|S~k(f')|を示
し、2つの成分101および103の加算性を図示する
ものである。成分101は、声道特性、すなわち、 log
|V(f)|を示す。成分103は、励起特性、すなわち、
log|E(f)|を示す。成分101のピークは、声道のフ
ォルマント周波数で発生する。また、成分103の等間
隔のピークは、話者のピッチのハーモニック周波数で発
生する。
【0044】声道特性101は、ブロック(LOG)7
1から出力されたサンプルに離散コサイン変換(DC
T)を行い、その結果をフィルタリングすることによっ
て、励起特性103から抽出できる。
【0045】図9は、DCTブロック73の出力を示
す。これは、ケプストラム(cepstrum)Ck(m)として知
られている。ケプストラムの独立変数(図9のx軸)は
時間の次元を有し、「クエフレンシ(quefrency)」と
名づけられている。図8に示される強い周期性を有する
成分103は、話者のピッチ周期Tに等しい位置で、ケ
プストラムのピーク105になる。また、図8に示され
るゆっくり変化する成分101は、ケプストラムの原点
付近の多数の小さいピーク10に変換され、その位置お
よび振幅はフォルマントに依存する。
【0046】音声の声道特性および励起特性がクエフレ
ンシスケール上の分離した部分にあらわれるので、これ
らは、濾過プロセスまたはケプストラム用語で言ういわ
ゆる「リフタリング(liftering)」プロセスによっ
て、互いに分離される。図9に示されるケプストラムCk
(m)は、1組の離散ケプストラム係数(discrete cepstr
al coefficient)(C0, C1, ... C39)から構成され
る。したがって、リフタリングは、1つの矩形ウィンド
ウによって達成されうる。しかしながら、信頼性が劣る
と考えられるスペクトルの部分を強調しないようにする
ため、より漸次的なウィンドウ機能が好ましい。本実施
形態において、以下のウィンドウ機能が、リフタリング
ブロック(LIFTERING)75で用いられる。
【0047】
【数4】
【0048】ここで、 Ncは、リフタリングブロック7
5から各フレーム毎に出力されたケプストラム係数の所
望の個数であり、本実施形態では12である。
【0049】また、上記の12個のケプストラム係数に
加えて、各フレーム内の音声信号のパワー、すなわち、
「フレームパワー」もまた計算される。これは、フレー
ム内の入力音声信号が発生音声信号に対応するか否かを
示すのに用いられるので、とりわけ重要な特徴である。
フレームパワーは、音声分析の分野では公知の一般的な
方法を用いて、図3に示されるフレームパワーブロック
(FRAME POWER)81で計算される。変化しうる記録環
境や音の大きさ等に影響されないように、ブロック81
で決定されたパワーは、パワー正規化ブロック(POWER
NORMALIZING)83で正規化され、パワー係数Pkを求め
る。パワー係数Pkは、リフタリングブロック75から出
力されたケプストラム係数に結合される。パワーは、バ
ッファ(図示されていない)に記憶された発声音全域に
わたって最大パワー(dB)を決定し、これを各フレー
ムのパワーから減じ、その結果と正規化定数とを掛ける
ことによって、ブロック83で正規化される。
【0050】本実施形態においては、各フレーム内の入
力音声信号のパワーが決定されるが、各フレーム内の入
力音声信号を示す他の値も用いられる。例えば、フレー
ム内の入力音声信号の平均振幅の尺度が決定され、正規
化され得る。
【0051】以上のように、プリプロセッサ15は、各
時間フレームで、1組の係数、すなわち、12個のケプ
ストラム係数および1つのパワー係数を出力する。便宜
上、フレームkを示す係数は、パラメータフレームfk
として示され、次のフレームを示す係数は、パラメータ
フレームfk+1等として示す。
【0052】<バッファ>プリプロセッサ15から出力
されたパラメータフレームfkは、図2に示されるバッ
ファ(BUFFER)16に供給される。本実施形態におい
て、バッファ16は、ADC63から出力された入力音
声のディジタルサンプルを記憶するバッファ(図示され
ていない)に記憶された音声に関して生成されたすべて
のパラメータフレームを記憶するのに十分な容量を有す
る。全入力発声音がプリプロセッサ15によって処理さ
れた後、バッファ16に記憶されたパラメータフレーム
は、それらが受信された順番で認識ブロック17に供給
され、入力発声音が認識される。
【0053】<標準モデル>上記のとおり、どのワード
がプリプロセッサ15からの出力信号によって表現され
ているかを決定するため、出力信号は記憶されている標
準モデルと比較される。この記憶された標準モデルは、
システムに既に認知されたワードおよびシステム周辺の
音響環境をモデルにしたものである。特定のワードに関
連する各モデルは、上記プリプロセッサ15から出力さ
れたパラメータフレームと同じタイプのパラメータフレ
ームのシーケンスで構成される。しかしながら、ワード
モデルのフレームと認識されるべき入力発声音のフレー
ムとを区別するため、ワードモデルのフレームはステー
ト(state)と表現することにする。
【0054】本実施形態による音声認識システムの1つ
の特徴は、ワードモデル、環境(または、ノイズ)モデ
ルまたは言語モデルがシステムに前もって記憶されてい
ないエンドユーザに供給され得ることである。これによ
って、ユーザは自由にシステムを学習させ、ユーザが必
要とするフレーズを認識させるようにすることができ
る。さらに、ユーザにとって有用でないワードが予め記
憶されていることで、システムが過負荷となることを防
止できる。さらに、以下の記載から明らかなように、記
載された特定の学習方法はこの状況において特に適して
いる。なぜならば、それは、学習のために費やされる時
間を必要とせずに新しいフレーズがシステムによって学
習されることを可能とするからである。さらに、標準モ
デルは、すべてのワードに対応し、音素には対応しない
ので、システムは、いかなる言語または言語の組み合わ
せに対しても動作する。学習プロセスを、図10から図
17を参照してより詳細に説明する。
【0055】<学習>図10は、学習プロセスで用いら
れる構築/更新モジュール(BUILD/UPDATE MODULE)9
1を示す概略図である。特に、構築/更新モジュール9
1は、システムによって学習されるべき1つ以上のワー
ドを示すパラメータフレームfkのシーケンスと、矢印
92で示される1つ以上の入力音声ワードに対応するテ
キストを示すユーザ情報とを受ける。十分な情報が構築
/更新モジュール91に入力されると、入力ワードに対
応するワードモデルを発生し、言語モデル21を更新す
る。本実施形態において、ワードモデルおよび言語モデ
ルの両方は、ハードディスク93のような高容量のデー
タ記憶装置に記憶される。
【0056】ノイズモデル23が本実施形態において決
定される方法を以下に説明する。まず、ユーザは新しい
ノイズモデルを構築したり、または既存のノイズモデル
23を変化させる必要があることを指示する。この指示
に応じて、システムは、ユーザに沈黙を示す音を入力す
るよう促す。この処理は、沈黙状態の間、ユーザがキー
ボード3上のスペースバーを押すことによって行われ
る。沈黙の周期の終わりには、ユーザはワードを発生し
なければならない。システムが沈黙を示すべく生成され
たパラメータフレームのパワー係数を正規化できるよう
にするためである。ユーザが沈黙の周期の終わりにワー
ドを発声しない場合、ノイズモデル23のパワー係数が
非現実的に高くなり、非認識エラーが生じることにな
る。最後に、ノイズモデル23を決定するため、システ
ムは沈黙の期間に対して生成されたパラメータフレーム
を平均化し、ノイズモデル23として用いられる1つの
パラメータフレームを形成する。
【0057】本実施形態の音声認識システムは、連続的
に発声されるワード、すなわち、フレーズ内に含まれる
ワードを認識するために設計されている。良い認識結果
を得るため、標準モデル(または、連続ワードモデル)
は、重要なワードを含むフレーズ例から得るべきであ
る。好ましくないことに、連続的に発声されたフレーズ
内のワードの始めと終わりを確認する作業は容易ではな
い。本実施形態が連続ワードモデルを発生させる方法の
概略を以下に示す。まず、システムは、分離的に発声さ
れたワードからワードモデルを決定する。このモデル
は、分離ワードモデルとして示す。しかし、音声認識の
当業者が以下の記載から理解するように、これらの分離
ワードモデルは、本技術分野における一般的な分離モデ
ルには相当しない。システムは分離ワードモデルを用
い、分離ワードモデルとそれに相当するワードを含むフ
レーズ例とを比較することによって、連続ワードモデル
を生成する。
【0058】分離ワードモデルを生成するため、ワード
は、マイクロフォン7または電話線を介して分離的にシ
ステムに入力されなければならない。上記のとおり、ス
ペースバーが用いられ、各入力発声音を確認する。した
がって、分離的に発声されたワードの発声音を示すパラ
メータフレームのシーケンスは、沈黙に対応するパラメ
ータフレームをワードの始めと終わりに有する。次にシ
ステムは、分離ワードの発声音と当該ワードを含むフレ
ーズ例とを比較する。この比較によって、分離的発声音
内のワードのおよその始めと終わりを確認する。この始
点と終点は平均化され、そのワードに対する分離ワード
モデルは、確認された始点と終点との間にある平均化さ
れたパラメータフレームのシーケンスを抽出することに
よって、決定される。この方法で分離ワードモデルを決
定することによって、ワードの始めと終わりの沈黙を除
去するだけではなく、そのワードの部分であって、連続
的な発声音声の間において発音されない部分も除去され
る。したがって、本実施形態の分離ワードモデルは一般
的な分離的ワードモデルには対応せず、沈黙を入力発声
音の始めと終わりから除去することによって決定され、
連続音声が発せられているときのワードをより適切に表
すものとなる。
【0059】いったん分離ワードモデルが決定される
と、フレーズ内の当該ワードの位置を確認するために、
当該ワードを含むフレーズ例と整合される。最後に、標
準ワードモデルまたは連続ワードモデルは、フレーズに
おける確認位置からの音声を抽出及び結合することによ
って、決定される。システムがワードモデルを生成する
方法の詳細について、以下に説明する。
【0060】ユーザがシステムに1つ以上の新しいフレ
ーズを教えたい場合、図11に示されるサブルーチンを
起動する。ステップS1で、ユーザは、新しいワードま
たはフレーズのテキストをキーボード3を介してシステ
ムに入力する。システムは、ステップS3において、そ
のワードまたはフレーズが既知のものであるか否かをチ
ェックし、そのワードまたはフレーズが未知のものであ
れば同じワードまたはフレーズをマイクロフォン7を介
して入力するようユーザに促す。そして、ステップS1
に入力されたワードまたはフレーズに対応するテキスト
に、マイクロフォン7を介して入力されたフレーズを関
連させる。次にステップS5において、PC1は、前も
って入力されていたすべてのテキストを用い、フレーズ
内のどのワードが(分離された状態で)既知となってい
るかをチェックし、未入力(未知)のワードをマイクロ
フォン7を介して入力するようユーザに促す。
【0061】ステップS5の後、ユーザは、ステップS
7にて他の新しいワードまたはフレーズを入力するかど
うかを決定する。新たに入力する場合は、ステップS1
に戻る。他方、ユーザがこれ以上ワードを入力しないこ
とを決定した場合、処理はステップS9に移動する。ス
テップS9において、標準モデルは、システムに入力さ
れた少なくとも2つのフレーズに含まれる未知ワードに
ついて生成される。例えば、学習フレーズが入力されて
おらず、システムには標準モデルがまだ記憶されていな
い状態で、ユーザが「get an image(画像を得る)」お
よび「get theearth(接地する)」という2つのフレー
ズを入力し、ステップS7でユーザがこれ以上フレーズ
を入力する意志がないことを指示した場合を説明する。
この場合、入力フレーズの両方に含まれるワードは「ge
t(得る)」の1つだけなので、システムは「get」とい
うワードのワードモデルを生成するだけでよい。他方、
ユーザが「get an image(画像を得る)」というフレー
ズを2回入力する場合、システムは、当該フレーズ内の
各ワードの標準モデルを生成させ得る。さらに、上記の
前者の例を取れば、ユーザが「get an image(画像を得
る)」および「get the earth(接地する)」という2
つのフレーズを入力した後、第2の学習セッションで
「get the earth(接地する)」というフレーズを入力
した場合、「get(得る)」というワードは既に分離し
て入力されているので、システムは、ステップS5で
「get(得る)」というワードを入力する必要がないこ
とをユーザに伝える。さらに、「the(その)」及び
「アース(earth)」というワードはシステムに入力さ
れている2つのフレーズによって表されるので、システ
ムは「the(その)」及び「アース(earth)」というワ
ードの標準モデルを発生させることができる。この方法
で学習を進めることにより、ユーザはシステムをユーザ
にとって都合よく学習させることができる。
【0062】図12を参照すると、上記方法で入力され
た各フレーズは、フレーズ番号Pを付され、ハードディ
スク93のフレーズアレー115に記憶される。同様
に、入力される各分離ワードにはワード番号Wが付さ
れ、ハードディスク93のワードアレー117に記憶さ
れる。図12に示されるように、フレーズアレー115
内の各フレーズPは、自身に関連する次のようなデータ
を有する。すなわち、パラメータフレーム(PARAMETER
FRAMES)123、フレーズを形成するワードシーケンス
(PHRASE WORDS)125およびステータスフラグ(STAT
US)127を有する。ワードシーケンス125内の各ワ
ードは、自身に関連するテキスト(TEXT)129、フレ
ーズ番号P、ワード番号(WORD No.)131(すなわ
ち、フレーズ内のワードの位置)、フレーズ内のワード
の(最初は認知されていない)時間境界(TIME BOUNDRI
ES)133、およびワードアレー117内の対応するワ
ードWを示すワードインデックス(WORD INDEX)135
を有する。
【0063】ワードアレー117内の各分離ワードW
は、自身に関連する次のようなデータを有する。すなわ
ち、パラメータフレーム(PARAMETER FRAMES)137、
当該ワードが見出されたフレーズへの戻りを示す発声音
インデックス(UTTERANCE INDEX)139およびステー
タスフラグ(STATUS)141を有する。まず、分離ワー
ドおよび分離フレーズがシステムに入力されると、各ワ
ードまたはフレーズに関連するステータスフラグ127
および141は、それらがまだ処理されていないことを
示すFLEXIにセットされる。なお、時間境界133は、
フレーズのワードシーケンス内の各ワード毎に存在し、
UNKNOWN(未知)に設定される。
【0064】次に、図11のステップS9で行われる未
知ワードのワードモデルを生成するための処理の詳細を
図12から図16を参照して説明する。ここでは、学習
フレーズとして「get an image(画像を得る)」という
フレーズが2回、「get theearth(接地する)」という
フレーズが1回入力された場合を例として用いて説明す
る。したがって、フレーズアレー115には3つの要素
P1、P2およびP3が存在し、「get an image(画像
を得る)」という発声音声のフレーズが2つと「get th
e earth(接地する)」という発声音声のフレーズが1
つ含まれる。さらに、ワードアレー117には5つの要
素W1、W2、W3、W4、W5があり、上記2種類の
フレーズを構成するそれぞれ異なるワードが1つずつ含
まれる。上記のとおり、各フレーズおよび異なる各ワー
ドに対応するパラメータフレームのシーケンスは、フレ
ーズアレー115およびワードアレー117の各対応す
る要素毎に記憶される。
【0065】図13には、2つの「get an image(画像
を得る)」のフレーズの発声音を示す音声信号151お
よび153と、「get the earth(接地する)」のフレ
ーズの発声音を示す音声信号155とが示されている。
また、図13には、「get(得る)」、「an(1つ
の)」および「image(画像)」という各ワードの分離
的発声音を示す発声信号157、159および161も
示されている。更に、図13には、「get an image(画
像を得る)」の2つのフレーズの発声音に相当するパラ
メータフレーム152および154と、「get the eart
h(接地する)」のフレーズの発声音に相当するパラメ
ータフレーム156と、「得る(get)」、「1つの(a
n)」および「画像(image)」という各分離ワードの発
声音に相当するパラメータフレーム158、160、1
62も示す。なお、「the(その)」および「earth(接
地)」というワードについては、それらが入力された2
つ以上のフレーズに含まれていないためワードモデルは
生成されない。従って、これら、「その(the)」およ
び「接地(earth)」というワードは、図13には示さ
れていない。
【0066】図14は、各未知ワードのワードモデルを
生成するために必要な処理を詳細に示すフローチャート
である。ステップS21で、未知ワードを含むフレーズ
に対応するパラメータフレームシーケンスが、分離して
発声された当該未知ワードに対応するパラメータフレー
ムシーケンスと関連付けられる。この関連付け処理に
は、フレキシブルダイナミックプログラミングアライン
メント処理が用いられる。このアラインメント処理は、
そのプロセスの初期段階における未知ワードの始点と終
点に関する情報の欠乏を緩和する、特に、各ワードの最
適アラインメントパスが始まらなければならない場所或
いは終わらなければならない場所を制限しないフレキシ
ブルダイナミックプログラミングアラインメントプロセ
スが用いられる。このフレキシブルダイナミックアライ
ンメントプロセスについては、ダイナミックプログラミ
ングアラインメントについて論じた後に、詳細に後述す
る。
【0067】このフレキシブルダイナミックプログラミ
ングアラインメントの結果、未知ワードに対するパラメ
ータフレームシーケンス内の当該未知ワードのおよその
始点および終点が特定される。例えば、「get an image
(画像を得る)」というフレーズの第1の発声音に相当
するパラメータフレームシーケンス152が、未知ワー
ド「get(得る)」の発声音に相当するパラメータフレ
ームシーケンス158に関連付けられるとき、パラメー
タフレームシーケンス158内の始点および終点は上記
アラインメントの結果から確認される。上記のとおり、
始点前および終点後のパラメータフレームは、バックグ
ラウンドのノイズまたはフレーズ例におけるワードの発
音されない部分に相当しているので、除去される。
【0068】ステップS21において、学習フレーズ例
に対して行われるアラインメントでは、「get(得
る)」というワードの3組の始点および終点と(「ge
t」というワードは3つのフレーズに含まれているた
め)、「an(1つの)」と「image(画像)」のワード
の2組の始点および終点と(「an」と「image」のワー
ドは、2つのフレーズに示されているので)を確認す
る。ステップS23で、それぞれの未知ワードの平均始
点および平均終点が決定され、平均スタートフレームの
前にあるフレームおよび平均エンドフレームの後にある
フレームが捨てられる。例えば、「get」というワード
をステップS21で処理した後、3つのフレーズ15
1、153、155を用いて確認された始点がそれぞれ
フレームf8W1、フレームf9W1、フレームf13W1である
場合、その平均はフレームf10W1([8+9+13]/
3)である。そして、フレームf10W1の前にあるパラメ
ータフレーム158のシーケンス内のすべてのフレーム
は、捨てられる。終点についても、捨てられるフレーム
がエンドフレームを越えるものであるという点を除い
て、上記した始点の場合と同様の手順が用いられる。そ
の結果、各ワードのパラメータフレームシーケンスは、
上記のワードの分離ワードモデルとなる。
【0069】図15は、「get」、「an」、「image」の
各ワードの分離ワードモデル音声信号157'、15
9'、161'、およびそれぞれに対応するパラメータフ
レームシーケンス158'、160'、162'を示す。
処理のこの段階で、処理された各ワードのステータスフ
ラッグ141(図12)は、FLEXIからCHOPPEDに変わ
る。なお、CHOPPEDは、未知ワードが始めと終わりが除
去されたフレームシーケンスを有していることを示す。
【0070】次に、図14に示されるステップS25に
おいて、未知ワードを含むフレーズに対応するパラメー
タフレームシーケンスは、当該ワードの分離ワードモデ
ルのパラメータフレームシーケンスに関連付けられる。
例えば、「get」というワードが出現するフレーズの発
声音に対応するパラメータフレームシーケンス152、
154、156の各シーケンスと、「get」というワー
ドの分離ワードモデル158’に対応するパラメータフ
レームシーケンスとの整合がチェックされる。図16
は、本例を行った対応付け(アラインメント)の結果を
示し、ここで破線は、フレーム間のアラインメントを示
す。例えば、パラメータフレームシーケンス152と分
離ワードモデルのパラメータフレームシーケンス15
8’とのパラメータフレームのシーケンスとの間のアラ
インメントでは、フレームf2P1およびf3P1がフレーム
f10W1に関連付けられ、フレームf4P1およびf5P1がフ
レームf11W1に関連付けられる等、アラインメントが確
立されている。
【0071】次に、図14のステップS27において、
分離ワードモデルの個々のフレームを、フレーズに対応
するパラメータフレームのシーケンスからの関連フレー
ムの平均で置き換えることによって未知ワードの標準モ
デルが生成される。例えば、図16に示される分離ワー
ドモデル158'のパラメータフレームシーケンスにお
いて、フレームf10W1は、フレームf2P1、 f3P1、 f
1P2、 f2P3の平均に置き換えられる。また、フレーム
f11W1は、フレームf4P1、 f5P1、 f2P2、f3P2、f
3P3の平均に置き換えられる。分離ワードモデルのフレ
ームの1つに関連付けられるフレームがフレーズに存在
しない場合、そのフレームは、隣接する置き換えられた
フレームの間を捕間するかまたはフレームから外挿する
ことによって得られるフレームに置き換えられる。例え
ば、図16に示されるパラメータフレーム158'のシ
ーケンスにおいて、フレームf12W1は、パラメータフレ
ームシーケンス152、154または156内のいずれ
のフレームにも関連付けられない。従って、f12W1は、
f11W1、f13W1の置換後のフレームで捕間することに
よって得られたフレームに置き換えられる。或いは、分
離ワードモデル内における、入力フレーズのいずれのフ
レームにも関連しないフレームを捨てるように構成して
も良い。
【0072】ステップS27で生成された基準ワードモ
デルは、システムの音声認識部で用いられるものであ
り、その詳細を以下に示す。なお、処理された各ワード
のステータスフラグ141は、CHOPPEDからIN-USEに変
化する。
【0073】いったん標準ワードモデルがフレーズ内の
すべてのワードについて生成されると、フレーズは、図
2に示される言語モデル21に追加される。本実施形態
において、言語モデル21は、バイグラムモデル(Bigr
am Model)と同様で、網目上に相互に接続するノードを
備える。ここで、相互接続は、システムに既知となった
ワードを示す。しかしながら、この相互接続には、例え
ば、正しい英語の用法に関する文法規則は含まれていな
い。すなわち、システムに認知されたフレーズに従っ
て、どのワードが他のどのワードに続くかを制限するだ
けである。図17aは、以下の各フレーズがシステムに
よって学習されたときに取り出される言語モデル21を
示す。
【0074】
【表1】
【0075】図17aに示されるように、スタートノー
ドN0、エンドノードNn、8個の中間ノードN1からN8
がある。認識されるべき入力フレーズのために、システ
ムは、スタートノードN0からエンドノードNnまでのパ
スを見つけなければならない。しかしながら、システム
は一度学習されると妥当な程度にフレキシブルになり、
ユーザが「make it smaller」というフレーズの代わり
に「make smaller」と入力しても、システムはその入力
されたフレーズを認識することができる。しかしなが
ら、フレーズの個々のワードが既知であっても、そのフ
レーズがシステムに認知されていない場合、システムは
フレーズを認識しない。例えば、上記の言語モデルにお
いて、ユーザが「save the image」と言った場合、たと
えシステムにとって「save」、「the」、「image」の各
ワードが既知であっても、システムはこの入力フレーズ
(「save the image」)を認識しない。
【0076】言語モデル21は、図11のステップS3
で入力されたテキストによって示される必要なワードの
シーケンスを抽出することによって作成され、各新しい
フレーズが入力された後に更新され、フレーズ内の各ワ
ードにはワードモデルが提供される。言語モデル21を
更新する方法について、図17bを参照して以下に説明
する。
【0077】新しいフレーズが入力され、入力フレーズ
の各ワードに対応するワードモデルが決定されると、ス
テップS30においてシステムは、フレーズの第1のワ
ードがスタートノードN0の出力に接続されているかど
うかを判断する。接続されている場合、処理はステップ
S32に進む。他方、第1のワードがスタートノードN
0の出力にまだ接続されていない場合は、ステップS3
1でスタートノードN0からの新しい出力として第1の
ワードが追加される。
【0078】処理はステップS32に進み、ここでシス
テムはワードループカウンタwを初期化する。以降の処
理で、システムは、このワードループカウンタwを用い
て、当該フレーズ内の全ワードを数える。処理はステッ
プS33に進み、ここでシステムはワードwが当該フレ
ーズの最後のワードか否かを判断する。ワードwが最後
のワードでない場合、処理はステップS34に進み、ワ
ードwがノード(エンドノードNnを除いた)の入力に
接続されているか否かを判断する。接続されていれば処
理はステップS36に進み、ここでシステムは、次のワ
ードw+1がワードwを入力として有するノードの出力
に接続されているかどうかをチェックする。他方、ステ
ップS34で、ワードwがいずれのノードの入力にも接
続されていないとシステムが判断した場合、処理はステ
ップS35に進み、ここで新しいノードが作成され、ワ
ードwは、新しいノードの入力に接続される。それか
ら、上記のとおり、処理はステップS36に進む。
【0079】ステップS36で、次のワードw+1がワ
ードwを入力として有するノードの出力に接続されてい
ないとシステムが判断した場合、処理はステップS37
に進む。ステップS37では、次のワードw+1が当該
ノードの出力として追加される。一方、ステップS36
で、次のワードw+1が既にワードwを入力として有す
るノードの出力に接続されているとシステムが判断した
場合は、そのままステップS38に進み、ここでワード
カウンタwがインクリメントされる。そして、処理はス
テップS33に戻り、入力フレーズの次のワードに対し
て同様の処理が行われる。また、ステップS33で、ワ
ードwがフレーズの最後のワードであることを判定され
た場合、処理はステップS39に進む。ステップS39
において、システムは、最後のワードがエンドノードN
nの入力に接続されているか否かを判断する。最後のワ
ードがエンドノードNnの入力に接続されていない場
合、処理はステップS40に進み、ここでシステムは、
フレーズの最後のワードをエンドノードNnの入力に接
続する。最後のワードがエンドノードNnに既に接続さ
れているか、またはステップS40で最後のワードがエ
ンドノードNnに接続されると、本処理を完了し、処理
された入力フレーズは言語モデル21の一部を形成する
ことになる。
【0080】本学習プロセスの特徴の1つは、システム
に個々にフレーズを学習させることもできるし、一度に
多数のフレーズを学習させることもできる。新しいフレ
ーズが入力され、この時点でシステムが既にフレーズ内
のいくつかのワードのワードモデルを有する場合、シス
テムは言語モデル21を更新する前に、当該フレーズの
未知ワードについてワードモデルを生成する必要があ
る。
【0081】<ダイナミックプログラミング(DP)>
図14のステップS21およびS25で行われる処理に
おいて、フレーズのパラメータフレームとワードのパラ
メータフレームとを関連付けるために、アラインメント
処理が用いられた。より効果的な方法で2つのシーケン
スを関連させるため、アラインメントプロセスは、例え
ば、ワードが分離して発せられたり、ワードが連続的に
発せられるフレーズに含まれる場合に生じるワードの発
声速度の差を補償することが要求される。上記のダイナ
ミックプログラミング(DP)のアラインメントプロセ
スは、あるワードを別のワードに合致させる一つの方法
である。これは、最適な非線形の時間スケールのひずみ
を適用して、すべての時点で最適にマッチさせる方法で
行われる。
【0082】DPマッチングプロセスの概略を、図18
から図20を参照して以下に説明する。図18は、横座
標方向に入力ワードを示すパラメータフレームのシーケ
ンスを示し、縦座標方向にワードモデルを示すパラメー
タフレームのシーケンスを示す。本例を図14のステッ
プS25で行われる処理と比較すると、入力ワードを示
すパラメータフレームは、入力フレーズの1つに相当す
るパラメータフレームシーケンスの一部分を示す。ま
た、ワードモデルを示すパラメータフレームシーケンス
は、切り出されたワードの1つに相当するフレームシー
ケンスを示す。
【0083】ワードモデルと入力ワードとのトータル的
な違いを見つけるため、図18の左下隅と右上隅との間
のあらゆるパスに沿って最短累積距離が得られる数対の
フレームに関してすべての距離の和を求める必要があ
る。この限定は、類似するワードの対応するフレームが
正しく関連付けられることを保証する。このような総距
離を計算する1つの方法は、すべてのありうるパスを考
慮し、各パスに沿った各点のd(k,j)の値(フレー
ムkとフレームjとの間の距離)を加算することであ
る。2つのワードの間で評価された距離の最小値を取
り、累積距離を求める。この方法は正しい答えを与える
が、有効パスの数が増加するので、実用的な音声認識シ
ステムのためのコンピュータ処理は不可能となる。
【0084】ダイナミックプログラミングは数学的技術
であり、すべての取り得るパスの距離を計算することは
行わずに、最適なパスの累積距離を求めることができ
る。累積距離が計算されるべきパスの数は、さらにDP
プロセスを制限することによって、低減される。例え
ば、最適パスは負の傾斜にはなり得ない。負方向の傾斜
に進む場合、ワードの1つは他のワードの時間を逆にさ
かのぼる状態になる。DPプロセスに対するもう1つの
制限は、基準ワードに対する入力ワードの時間圧縮/拡
張の最大量を制限することである。本実施形態におい
て、この制限は、マッチングプロセスで飛ばされたりま
たは繰り返されるフレームの数を制限することによっ
て、実現される。例えば、図19において、フレームシ
ーケンスは、フレームfkがフレームfjmに合致する場
合、フレームfk+1がフレームfjm、fj+1m、fj+2mま
たはfj+3mに合致するように制限される。したがって、
入力ワードのフレームfkおよびワードモデルのフレー
ムfjmが最適パス上にある場合、上記制限において、最
適パス上で直ちに処理する点は、図20に示すように、
(k−1,j)、(k−1,j−1)、(k−1,j−
2)、( k−1,j−3)のいずれかである。
【0085】図18は、フレームfk-1まで伝わる「有
効パス」を示し、入力ワードとワードモデルとの間のマ
ッチング候補を示す。フレームfkが認識ブロック17
に入力されるとき、各有効パスは、現フレームfkと有
効パスの最後にあるワードモデルのフレームとの間の局
部距離を有する。この局部距離は累積距離に追加される
べきものである。多数のパスが同じ点で出会う場合、最
短の累積距離の有効パスが継続され、他のパスは捨てら
れる。例えば、図18で、パスA、B、Cは点(k,
j)で出会うが、最短累積距離を有するパス(A、Bま
たはCのいずれか)は継続され、その他の2つのパスは
捨てられる。
【0086】したがって、D(k,j)を、ワードの始
めから点(k,j)までの有効パスに沿った累積距離と
すれば、
【0087】
【数5】
【0088】で表される。
【0089】また、上述した制限は以下のとおりであ
る。すなわち、
【0090】
【数6】
【0091】となる。
【0092】上記制限で、D(0,0)の値は、d
(0,0)、d(1,0)、d(2,0)またはd
(3,0)と等しくなければならず、すべてのパスはこ
れらの点のうちの1つから始まらなければならない。し
たがって、始点の1つから始め、D(k,j)の値は、
帰納的な処理ルーチンを介して決定され得る。ルーチン
がマッチングされるべきワードの終わりに到達すると、
DPプロセスによって計算された最小累積距離は、2つ
のワードをマッチさせる最適なパスのスコアを示す。認
識されるべき入力発声音がワードシーケンスから構成さ
れる場合、採用された方向を示すバックポインタが用い
られなければならない。DPプロセスが最適のパスの終
わりを示した後、そのバックポインタで戻りながら跡を
たどることによって、入力発声音を認識することができ
るようにするためである。
【0093】上記のDPプロセスは、すべてのパスを網
羅して探索することと比較して、大幅にコンピュータ処
理の付加を低減するが、各入力ワードとのマッチングを
行うために多数のワードモデルと比較しなければならな
い場合、他のコンピュータ処理も重要となり得る。した
がって、認識結果の精度に大した影響を及ぼさないコン
ピュータ処理を省略することは望ましい。可能なコンピ
ュータ処理の省略は、スコアの悪いパスが必要以上に形
成されることを防ぐことである。成長するパスが木の枝
に似ているので、この処理は「刈り込み(pruning)」
として知られている。このようにパスの刈り込みによっ
て、最適パスの両側の候補パスを含むパスの狭帯のみが
考慮される。このような借り込みが用いられる部分で
は、ダイナミックプログラミングプロセスが最適のパス
を確実に見つけるとは限らないことが認められる。しか
しながら、刈り込みしきい値を用いて、例えば5〜10
の要因でコンピュータ処理の平均量を低減し、ワードが
よく類似する場合であれば殆ど常時正しいパスが求めら
れる。
【0094】なお、本実施形態において、図2に示され
る認識ブロック17は、上記と同様のダイナミックプロ
グラミングマッチングプロセスを用い、ワードモデル1
9およびノイズモデル23で認識されるべき発声音のパ
ラメータフレームのシーケンスのマッチングを行う。
【0095】<認識検索>本実施形態による音声認識シ
ステムのもう1つの特徴は、ダイナミックプログラミン
グプロセスが行われる方法にある。特に、本実施形態
は、上記等式(6)で行われた最小値の計算、すなわ
ち、以下の式(7)が処理される現フレームfkに影響
されないことを利用する。したがって、前フレームfk-
1が処理されるとき、等式(6)のこの部分が計算され
る。
【0096】
【数7】
【0097】ダイナミックプログラミングプロセスを実
施する方法を、図21〜図31を参照して以下に説明す
る。
【0098】図21は、認識すべき入力発声音を入力し
た際に、認識ブロック17で行われる処理を示すフロー
チャートである。システムは、プリプロセッサ15によ
って生成された入力発声音のパラメータフレームシーケ
ンスを処理する。フレームカウンタ変数kはこの処理に
供され、変数kは、ステップS41で0に初期化され、
各フレームが処理される毎にステップS61で順次イン
クリメントされる。処理される各フレームは、ステップ
S47で用いられ、各ワードモデル内の他の有効パスの
累積距離を更新する。ワードカウンタwはこの処理に供
され、ステップS43で0に初期化され、ステップS4
7の後、ステップS49でインクリメントされる。ステ
ップS45で、システムは、現フレームを用いて、すべ
てのワードモデルが処理されたかどうかをチェックす
る。すなわち、システムは、ワードカウンタwがシステ
ムに認識されたワードの数nwを下回るかどうかをチェ
ックする。
【0099】現フレームfkを用いて、全ワードモデル
がいったん処理されると、処理はステップS51に進
み、ここで図17aに示される言語モデル21のノード
が、現フレームを用いて処理される。ステップS51で
行われる処理は、現パラメータフレームが、入力音声の
始めと終わりまたは入力音声の許されたワードシーケン
ス間の沈黙に対応するという状況を処理する。また、こ
の処理は、有効パスが、許容されたワードシーケンスの
範囲に沿って成長するのを保証する。
【0100】ステップS51でノードが処理された後、
各ワードモデルの始め、即ち「エントリステート」の1
つで終わる有効パスの累積距離がステップS57で更新
される。この処理は、現パラメータフレームfkがある
ワードモデルの終わりにマッチングするときに、次のパ
ラメータフレームfk+1が他のワードモデルの始めに合
致するという状況に対処する。これを達成するため、ワ
ードカウンタwは、ステップS53で再度初期化され
る。ステップS55でシステムは、すべてのワードモデ
ルが処理されているかどうかをチェックする。ステップ
S57でシステムは、現ワードモデルのエントリステー
トに対する累積距離を更新し、ワードカウンタwが、ス
テップS59でインクリメントされる。そして処理は、
ステップS55に戻る。
【0101】すべてのワードモデルが現パラメータフレ
ームfkについて処理された後、パラメータフレームカ
ウンタ変数kは、ステップS61でインクリメントされ
る。ステップS63でシステムは、処理されるべき入力
発声音がこれ以上存在するかどうかを判断する。これは
ステップS63で変数kをシステム限界(LIMIT)
及び音声終了識別子(EOS)と比較することによっ
て、この処理は行われる。システム限界は、図3に示さ
れるADC63から出力された音声サンプルを記憶する
ために用いられるバッファの容量によって決定される。
【0102】入力発声音のすべてのパラメータフレーム
が処理された場合、DPプロセスが完了し、回帰アルゴ
リズムを用いて最適パスを決定し、それによって、認識
結果を決定する。他方、ステップS63でシステムが処
理されるべきパラメータフレームがさらに存在すると判
断された場合、ステップS65でシステムは刈り込みし
きい値を調整し、ステップS43に戻る。刈り込みしき
い値Thは、次の入力フレームが処理されるとき、ステ
ップS47、S51、S57で処理される有効パスの数
を制限するべくステップS65で調整される。
【0103】図21のステップS47で行われる処理の
詳細を、ワードモデルの特定の例を示す図22から図2
6を参照して以下に説明する。図22は、ワードモデル
201の一例を示す。特に例示されているワードモデル
201は、学習セッションの間に得られたステートS0
〜S9のシーケンスと、ワードモデル201の終わりの
出口ステートSDとを備える。これらの目的を以下に説
明する。
【0104】ワードモデル(WORD)201の各ステート
Sは、そのステートで終わる有効パスの累積距離を記憶
する累積距離記憶D[S]を有する。本実施形態におい
て、ワードモデル201は、現フレームfkの現アクテ
ィブリスト(ACTIVE LIST)203を有する。ここで、
現アクティブリストは、現フレームfkの有効パスの終
わりにあるワードモデルのステートを降順に登録する。
したがって、現アクティブリスト203の各ステート
は、そのステートで終わる各有効パスの累積距離を記憶
する。この例において、現フレームfkの現アクティブ
リスト203は、ステートS7、S5、S4、S3、S2、
S1、S0を登録している。現アクティブリスト203に
掲載されたステートはアクティブステートとして示され
る。本実施形態において、ワードモデル201は、関連
付けられた新アクティブリスト(NEW ACTIVE LIST)2
05も有する。この新アクティブリスト205は、ステ
ップS47で行われる処理の間に完成し、次のフレーム
fk+1のための有効パスの終わりにおけるワードモデル
201のステートを登録する。
【0105】現アクティブリスト203および新アクテ
ィブリスト205の重要性を図23を参照して説明す
る。図23は、p1〜p7の7つの有効パスを示し、7
つの有効パスは、入力されたワードとワードモデル20
1との間の現フレームfkまでの7つのマッチング候補
を示す。図示されるとおり、7つの有効パスp1〜p7
はそれぞれ、ワードモデル201のステートS7、S5、
S4、S3、S2、S1、S0で終わっている。現アクティ
ブリスト203で降順に登録されているのは、これら有
効パスの終わりのステートである。新アクティブリスト
205に登録すべきステートを決定するため、すなわ
ち、次の入力フレームfk+1に残るパスを決定するた
め、ある入力パラメータフレームから他のパラメータフ
レームへの移行が許可されている状態を考慮しなければ
ならない。
【0106】入力発声音に対する標準モデルの時間圧縮
の最大量は、入力発声音の隣接するフレーム間において
スキップできるステートの最大数によって決定される。
本実施形態において、この最大数は2に設定される。す
なわち、DPプロセスは、図19に示される状態遷移図
に従う。入力発声音に対する標準モデルの時間伸長の最
大量は、同じステートにマッチし得る連続した入力フレ
ームの最大数によって決定される。本実施形態において
は、続いて入力される2つの連続フレームが同じステー
トにマッチし得る。これらの状態を監視するため、各ス
テートSは、関連する自己反復カウンタ、すなわち、SE
LFを有する。SELFは、対応する有効パスが入力フレーム
fkから次のフレームfk+1が同じステートで終わる度に
インクリメントされる。したがって、例えば、パスp5
は、図23に破線で示されるパス207の1つまたはす
べてに沿って伝わる。図23に示される他のパスp1〜
p4およびp6、p7も、同様の方法で伝わる。2つ以
上のパスが同じ点で合う場合、最小の累積距離を有する
パスが維持され、他のパスは捨てられる。さらに、パス
の累積距離が刈り込みしきい値より大きい場合、このパ
スも捨てられる。このように、新しいパスが連続的に作
成され、一方、他のパスは捨てられる。刈り込みしきい
値の目的は、各入力パラメータフレームのために処理さ
れる有効パスの数を制限し、それによって、アルゴリズ
ムに必要な時間量およびメモリを制限することである。
【0107】図24は、図21のステップS47で行わ
れる処理ステップを詳細に示す。まず、ステップS71
でポインタLAが初期化される。また、ワードモデル2
01の出口ステートに記憶される累積距離、すなわちD
[SD]は、大きい値を示すHUGEに設定される。ポイン
タLAは、新アクティブリスト205に登録された最後
のアクティブステートを示すのに用いられる。最初、新
アクティブリスト205にはアクティブステートがな
く、従って、ポインタLAは、出口ステートSDを示す
ように設定される。ステップS73でシステムは、現ア
クティブリスト203にアクティブなステートがあるか
どうかをチェックする。言い換えれば、現ワードにおけ
る、現フレームfkで終わる有効パスがあるかどうかチ
ェックする。本例では、現アクティブリスト203には
7つのアクティブステートがあり、システムは各アクテ
ィブステートを順次処理する。カウント変数iが与えら
れ、カウント変数iは、現アクティブリスト203にお
けるアクティブステートすべてをカウントするために用
いられる。カウント変数iは、ステップS75で0に設
定され、現アクティブリスト203の全アクティブステ
ートが処理されるまで、ステップS79でインクリメン
トされる。システムは、ステップS81でカウント変数
iと現アクティブリスト203のアクティブステートの
数naとを比較することによって、すべてのアクティブ
ステートが処理されたかどうかを判断する。
【0108】現アクティブリスト203のすべてのアク
ティブステートがいったん処理されると、ステップS7
7の処理の間に発生された新アクティブリスト205
が、ステップS83にて、処理されるべき入力発声音の
次のフレームfk+1の現アクティブリスト203に置き
換えられる。実際には、2つのアクティブリストを示す
ために用いられるポインタを交換することによってこの
処理は行われる。古くなった現アクティブリストは、次
の入力フレームfk+1の処理中に新アクティブリストと
して上書きされる。最後に、ステップS85において、
アクティブステートになり、新アクティブリスト205
に登録された、ポインタLAによって示される最終ステ
ートが図21に示されるステップS57で用いるために
格納される。
【0109】ステップS77で行われる処理の概略を、
アクティブステートS7、S5を例に揚げて説明する。図
23に示されるように、アクティブステートS7、S5は
それぞれ、パスp1、p2の終わりである。図25は、
2つの有効パスp1、p2の一部分を示し、有効パスp
1、p2はそれぞれ、現フレームfkのアクティブステ
ートS7、S5で終わる。図25の破線は、各2つのパス
p1、p2が次のフレームfk+1に伝わり得る態様を示
す。破線213で示すように、パスp1は、フレームf
k+1で他のワードに拡張することができる。したがっ
て、(アクティブステートS7に記憶される)パスp1
の累積距離は、出口ステートSDに複写される。破線2
15、217、219で示すように、パスp1は、ステ
ートS9、S8、S7のそれぞれにも伝わり得る。したが
って、パスp1の累積距離がステートS9、S8、S7に
複写される。更に、ステートS9、S8、S7は、降順に
新アクティブリスト205に追加され(ただし、入力フ
レームと比較されず、当該ワードを離れる全てのパスの
最短累積距離を記憶するためだけに用いられる出口ステ
ートは追加されない)、最終アクティブポインタLA
は、最後に追加されたステート(すなわち、ステートS
7)を示すように設定される。
【0110】図26aは、現アクティブリスト203の
第1のステートS7が処理された後の新アクティブリス
ト205を示す。図示されるように、ステートS9、S
8、S7はそれぞれ、新アクティブリスト205の最初の
3つの要素で、最終アクティブポインタLAは、ステー
トS7を示す。
【0111】図25をもう一度参照すると、破線22
1、223、225、227で示すように、パスp2
は、ステートS8、S7、S6、S5それぞれに伝わリ得
る。しかしながら、2つのステートS8、S7は次のフレ
ームfk+1のために記憶された累積距離をすでに有する
ので、パスp2の累積距離を単に各ステートにコピーす
るという処理だけではない。すなわち、これら2つのス
テートS8、S7では、すでに記憶されている累積距離と
パスp2に関連する累積距離とを比較し、最小の累積距
離がこれら2つのステートにコピーされることになる。
言い換えれば、図23に示されるパスのステートS8、
S7に記憶されるべき累積距離は、アクティブステート
S5を処理した後に、min(D[S7], D[S5])によって求めら
れる。一方アクティブステートS5に記憶された累積距
離はステートS6に直接に複写される。ステートS6に
は、次のフレームfk+1に対する累積距離が記憶されて
いないからである。2つのステートS6、S5は、新アク
ティブリスト205に追加され、最終アクティブポイン
タLAは、ステートS5を示すように設定される。
【0112】図26bは、現アクティブリスト203の
第2番目のアクティブステートS5が処理された後の新
アクティブリスト205を示す。図示されるように、ス
テートS8、S7、S6、S5はそれぞれ、新アクティブリ
スト205の最初の5つの要素となり、最終アクティブ
ポインタLAは、ステートS5を示す。現アクティブリ
スト203の他のアクティブステートも同様の方法で処
理され、処理は図21で示されるステップS49に進
み、ここでワードカウントがインクリメントされる。
【0113】最終アクティブポインタLAが設けられて
いるので、システムは比較処理を必要とするステートお
よび比較を必要としないステートを確認するために新ア
クティブリスト205を検査する必要が無くなる。即
ち、ステートがアクティブポインタLAによって示され
たステート番号と等しいかまたは上回る場合、比較処理
が必要であることがわかる。また、ステート番号よりも
下回る場合、累積距離がそのステートにコピーされれば
よい。
【0114】図24に示されるステップS77で行われ
る処理を、図22に示されるワードモデル201の例を
用いて、図27aおよび図27bを参照して詳細に説明
する。ステップS77でi=0の場合に、処理をしなけ
ればならない第1のアクティブステートSは、ステート
S7である。したがって、図27aのステップS91
で、システムは、ステートS7で終わる有効パスの累積
距離が刈り込みしきい値Thを下回るかどうかをチェッ
クする、すなわち、D[S7]はThと比較される。 D
[S7]が刈り込みしきい値Thを上回る場合、このパ
スは捨てられ、処理は、図24に示されるステップS7
9に移行する。 D[S7]が刈り込みしきい値Thを下
回る場合、処理は、ステップS92に進み、ここで現フ
レームfkのために処理されるアクティブステートの総
数を数えるために用いられる変数ACOUNTをインクリメン
トする。ステップS93で、システムは、処理中である
現アクティブステートS7と処理中である現フレームfk
との間の局部距離を計算し、この計算結果を累積距離D
[S7]に加算する。
【0115】本実施形態においては、以下のユークリッ
ドの距離公式を用い、現フレームfkと現アクティブス
テートSとの間の局部距離の値を得る。
【0116】
【数8】
【0117】累積距離D[S7]がステップS93で更
新された後、ステップS95でシステムは、現アクティ
ブステートS7で終わる有効パスが次の入力フレームfk
+1でワードから離れ得るかどうかをチェックする。上記
DPの制限によって、この処理では、処理される現アク
ティブステートSの先の3つ目のステートがワードモデ
ル201の最後のステートの先に進むかどうかを決定し
て示す。本例では、現アクティブステートS7の先の3
つのステートが最後のステートS9を過ぎているので、
ステップS97に進み、ワードモデル201の終わりで
ある出口ステートSDを示すようにポインタjが設定さ
れる。ステップS101で、ポインタjによって示され
るステートが最終アクティブポインタLAによって示さ
れるステートと比較される。この処理は(現時点で
は)、処理されるべき現アクティブリスト203内の第
1番目のアクティブステートであるので、最終アクティ
ブポインタLAは、出口ステートSDを示している(図
24に示されるステップS71を参照)。したがって、
処理はステップS103に進み、ここでポインタjによ
って示されたステート、すなわち、出口ステートSDに
記憶された累積距離が、処理される現アクティブステー
トS7で終わる有効パスp1の累積距離と比較される。
【0118】図24のステップS71で、出口ステー
ト、すなわち、D[SD]に記憶された累積距離は、大
きな値を示すHUGEに設定されている。したがって、累積
距離は、処理される現アクティブステートS7に記憶さ
れている累積距離を上回る。結果的に、処理は、ステッ
プS105に進み、ここでD[S7]がD[SD]にコピ
ーされる。次に、ステップS107で、ポインタjによ
って示されるステート、すなわち、出口ステートSDに
対応する自己反復カウンタは0に設定される。ステップ
S109で、ポインタjはデクリメントされ、ステート
S9を示すようになり、処理はステップS101に戻
る。
【0119】次に、ポインタjによって示されるステー
ト(ステートS9)は、最終アクティブポインタLAに
よって示されるステート(ステートSD)の前なので、
処理は図27bに示されるステップS111に進む。ス
テップS111で、システムは、ポインタjによって示
されるステート、すなわち、ステートS9が処理される
現アクティブステートS7と等しいかどうかをチェック
する。ここでは、等しくないので、処理はステップS1
13に進み、ここでステートS9に記憶された累積距離
が現アクティブステートS7に記憶された累積距離と等
しくされる。言い換えれば、パスp1の累積距離がステ
ートS9に複写される。そして、ステップS115で、
ステートS9が、図22に示される新アクティブリスト
205に追加される。ステップS117で、ステートS
9に対応する自己反復カウンタが0に再設定される。そ
して、続くステップS119でポインタjがデクリメン
トされ、ポインタjはステートS8を示す。処理はステ
ップS111に戻り、ステートS8はステートS9と同様
の方法で処理される。
【0120】ステートS8がステップS113、S11
5、S117で処理された後、jはステップS119で
デクリメントされてステートS7を示すようになる。ス
テートS7は処理される現アクティブステートでもあ
る。したがって、このとき、処理はステップS111か
らステップS121に進み、ここでステートS7に関連
する自己反復カウンタがチェックされる。すなわち、ス
テートS7で終わる有効パスが、当該入力発声音の過去
の2つのフレームに渡ってそこで終わったかどうかをチ
ェックする。ステートS7に対応する自己反復カウンタ
の値が2つのフレームと等しい場合、ステートS7は新
アクティブリスト205には追加されず、処理はステッ
プS123に進む。ステップS123では、最終アクテ
ィブポインタLAが、現アクティブステートに1を加え
られた値に設定され、ステートS8を示すようになる。
このルーチンによって、現アクティブステートに対応す
る自己反復カウンタが2つのフレームと等しいかどうか
確認され、等しい場合には現アクティブステートで終わ
る有効パスが、次のフレームfk+1の同じステートに伝
わることを防ぐ。図23に示されるパスの例において
は、現フレームfkのステートS7で終わるパスp1はス
テートS6から入るので、自己反復カウンタは0となっ
ている。結果的に、ステートS7は、ステップS125
で新アクティブリスト205に追加される。ステートS
7の自己反復カウンタは、ステップS127でインクリ
メントされ、ステップS129で、最終アクティブポイ
ンタLAが現アクティブステート、すなわち、ステート
S7を示すように設定される。
【0121】ステップS129またはステップS123
の後、処理はステップS131に進み、ここで現アクテ
ィブステートS7に記憶された累積距離は、現フレーム
fkのために処理されたすべてのワードにおけるすべて
の有効パスの最短累積距離MINSCOREと比較される。ステ
ートS7に記憶された累積距離がMINSCORE を下回る場合
は、 ステップS133でMINSCOREがステートS7に記憶
された累積距離に置き換えられる。その後、処理は、図
24に示されるステップS79に戻る。一方、MINSCORE
に記憶された累積距離が現ステートS7に対応する累積
距離を下回る場合、処理は、そのまま図24に示される
ステップS79に戻る。ステップS79に戻ると、カウ
ント変数iがインクリメントされ、現アクティブリスト
203の次のアクティブステート、すなわち、ステート
S5が、ステップS77で処理されることになる。
【0122】アクティブステートS5は、上記アクティ
ブステートS7と同様の方法で処理される。ステートS5
で終わる有効パスの累積距離が刈り込みしきい値Thを
下回る場合、ステップS93で、システムは、現アクテ
ィブステートS5と処理される現フレームfkとの間の局
部距離を計算し、その計算結果を現アクティブステート
S5に記憶された累積距離に加算する。ステップS95
で、システムは、現アクティブステートS5で終わるパ
スp2が、上記DPの制限によって、次のフレームfk+
1の他のワードに拡張できないと判断する。言い換えれ
ば、ステートS5から3つ目のステートは、ステートSD
と等しくないかまたはステートSDを越えないので、処
理はステップS99に進み、ここでポインタjが、ステ
ートS5の3段階先のステート、すなわち、ステートS8
を示すように設定される。次に、ステップS101で、
ポインタjによって示されるステートが、最終アクティ
ブポインタLAによって示されるステートと比較され
る。
【0123】この時点において、最終アクティブポイン
タLAはステートS7を示し、ポインタjはステートS8
を示す。したがって、処理がステップS103に進み、
ここで(アクティブステートS7の処理の結果として)
ステートS8にすでに記憶されていた累積距離が、アク
ティブステートS5に記憶された累積距離と比較され
る。ステートS8に記憶された累積距離がステートS5に
記憶された累積距離を上回る場合、ステートS8に記憶
された累積距離は、ステートS5に記憶された累積距離
に置き換えられる。ステップS107で、ステートS8
に関連する自己反復カウンタは0に再設定され、ポイン
タjは、ステップS109でデクリメントされ、ステー
トS7を示すようになる。そして、処理はステップS1
01に進み、ここで上記と同様の処理が行われる。
【0124】この再帰処理ルーチンは、システムに認知
されたすべての標準ワードの全ての現アクティブステー
トについて行われる。
【0125】現フレームfkについて上記方法で各ワー
ドを処理した後、言語モデル21の各ノードが順次処理
される。上記のとおり、言語モデル21は、許容される
ワードのシーケンスを決定する。この情報は、ノードに
よって、特にノードの入力および出力に接続されるワー
ドによって、決定される。図21のステップS51のノ
ードの処理によって、有効パスは確実に許容されたワー
ドシーケンスの中を伝わる。以下、ステップS51で行
われる処理を、図28を参照して詳細に説明する。
【0126】まず、ノードを処理する前に、バックグラ
ウンドのノイズを示すフレームと現フレームfk(すな
わち、d(noise, fk))との間の局部距離が、ステップ
S151で計算される。ステップS153で、ノードポ
インタvがスタートノードN0を示すように初期化され
る。ステップS155で、ノードポインタvによって示
されるノードに記憶された累積距離、すなわち、D
[v]が、刈り込みしきい値Thと比較される。 D
[v]が刈り込みしきい値Thを下回る場合、処理はス
テップS157に進み、ここでd(noise, fk)が、処理
される現ノードvに記憶された累積距離に加算される。
ステップS159で、システムは、D[v]と最小値記
憶MINSCOREに記憶された値を比較する。 D[v]がMIN
SCOREに記憶された値を下回る場合、ステップS161
でD[v]をMINSCOREにコピーする。カウント値ACOUNT
(現フレームのために処理されたアクティブステートお
よびノードの数を示す)はステップS163でインクリ
メントされ、処理はステップS165に進む。一方、ス
テップS155において、D[v]が刈り込みしきい値
Thを上回る場合は、ステップS167でD[v]は大
きな値を示すHUGEに設定され、処理はステップS165
に進む。
【0127】ステップS165、S168で行われる処
理について、図29に示されるノードNを例にして説明
する。図示のノードNには、3つのワード「get」、「s
ave」、「load」がその入力に接続され、2つのワード
「an」、「the」がその出力に接続されている。このよ
うなノードの生成は、図17bに示される手順を用いて
は実現できないが、ダイナミックプログラミングプロセ
スがより複雑な言語モデルのために動作することを示す
ために本例が選択されている。特に、定型文法では、ノ
ードが図29に示されるようなものが一般的である。
【0128】ステップS165で、システムは、ノード
Nの入力に接続されたワードの出口ステート、すなわ
ち、ワード「get」、「save」、「load」の出口ステー
トに記憶されたすべての累積距離の最小値を決定する。
一般的な場合、この計算は以下の式によって、示され
る。
【0129】
【数9】
【0130】ここで、Iw[v]は、ノードvの入力に
接続されたすべてのワードを示す。システムがノードN
についてこの最小累積距離を決定した後、その最小累積
距離がすでに記憶されている累積距離を下回る場合に
は、当該最小累積距離がノードNに記憶された累積距離
D[N]に複写される。事実上、これは、当該ノードの
入力に接続されたワードの一つであって、現在そのノー
ドにおいて成長しているパスの累積距離よりも小さい累
積距離を有する有効パスが存在するかどうかの判断であ
る。
【0131】バックグラウンドのノイズフレームにマッ
チするギャップが、フレーズ内の各ワードの手前、間及
び終わりに存在し得るので、有効パスはそのノード内を
伝わることができる。図29の矢印231が示すよう
に、有効パスが、入力されたフレームから次の入力フレ
ームまでの間1つのノードに残ることもできる。この場
合、有効パスはノードNを出発してノードNに戻る。ワ
ードモデルのステートと異なり、パスは、連続して入力
されたフレームのいくつ分でも、ノード内に残ることが
可能である。システムがステップS165の処理を行っ
た後、ノードNに記憶された累積距離がすでに記憶され
ている値より小さい場合、ノードNに記憶された累積距
離は、ステップS168で、一時的記憶INSCOREに複写
される。この一時的記憶INSCOREは、ワード「an」、「t
he」のためのボックス233、235で示される。2つ
以上のワードがノードの出力に接続されるので、比較処
理が行われなければならない。接続ワードに伝わるのは
最小累積距離を有するパスだけだからである。図21に
示されるステップS57の処理において、ワードの一時
的記憶INSCOREに記憶された累積距離を用いて当該ワー
ドのエントリステートが更新される。
【0132】ステップS169で、システムは、D
[v]がHUGEに等しいかどうかをチェックする。等しい
場合、終了する有効パスが無いかまたは、ノードvを通
過して次のフレームfk+1に接続されたワードに入って
いる有効パスが無いことを示す。D[v]が値HUGEを下
回る場合、有効パスが、ノードvで終わっているかまた
は、ノードvを通過して、次のフレームfk+1でノード
vに接続されているワードに入っていることを示す。し
たがって、次のフレームfk+1における潜在的にアクテ
ィブなステート(およびノード)の数を表すカウンタPA
COUNTは、そのノードに関連する沈黙ステートが次のフ
レームfk+1でアクティブステートとなり得るので、ス
テップS171でインクリメントされる。ノードポイン
タvは、ステップS173でインクリメントされ、言語
モデル21の次のノードを示すようになる。システム
は、ステップS175で、ノードポインタvが言語モデ
ル21のエンドノードNnを越えるノードを示すかどう
かをチェックすることによって、言語モデル21のすべ
てのノードが処理されているかどうかをチェックする。
システムがすべてのノード処理を完了していない場合、
処理はステップS155に戻る。一方、処理を完了して
いる場合、処理は図21に示されるステップS53に戻
る。
【0133】次に、図21に示されるステップS57で
行われる処理を、図22に示されるワードモデル20
1、図30および図31を参照して、詳細に説明する。
図30において、ステップS181でシステムは、INSC
OREに記憶された累積距離がHUGEと等しいかどうかをチ
ェックする。等しい場合、次の時点でこのワードに入る
有効パスがないことを示す。したがって、このワードを
再処理する必要がないので、処理はステップS207に
進み、ここで次の入力フレームfk+1のアクティブステ
ートの数(図24のステップS83の処理によって現ア
クティブリスト203に現在記憶されているステートの
数となる)が、カウントPACOUNTに加算される。その
後、処理は、図21に示されるステップS59に戻り、
ここでワードカウントがインクリメントされ、次のワー
ドモデルが処理される。
【0134】他方、INSCOREがHUGEと等しくない場合
は、有効パスが先のワードを出て、処理すべき現ワード
に入っていることを示す。したがって、別のワードモデ
ル(エントリステート)から延びてきたパスによって到
達され得る現ワードモデルのステートは、INSCOREに記
憶された累積距離を用いて更新されなければならない。
上記DP制限を用いる本実施形態において、エントリス
テートは、ステートS0、S1、S2である。この更新手
順は、以下の方法で行われる。まず、ステップS183
で、システムは、処理される現ワードを示すワードモデ
ルが(出口ステートは含まない)3つより多いステート
を含むことをチェックする。3つより多いステートがあ
る場合、ステップS185でステートS2を示すように
ステータスポインタjが設定される。他方、現ワードの
ステートが3つより少ない場合、ステップS187でス
テータスポインタjが、当該処理ワードの終わりの出口
ステートSDを示すべく設定される。このように、ステ
ップS187またはS185でステートSD、S2のいず
れかに向かうようにステータスポインタjが設定される
と、処理はステップS189に進み、ポインタjによっ
て示されたステートと最終アクティブポインタLAによ
って示されるステートとが比較される。
【0135】図27aおよび27bにおいてステップの
シーケンスで行われた処理のように、ポインタjによっ
て示されるステートが、アクティブポインタLAによっ
て示されるステートを越える場合、そのステートに既に
記憶された累積距離とINSCOREに記憶された累積距離が
比較される。
【0136】図23に示されるDPパスの例として、パ
スp7は、次のフレームfk+1でステートS1、S2、S3
に伝わり得るが、ステートS0には伝わらない。パスp
7が先の2つのフレームにおいてステートS0で終わっ
ているからである。したがって、最終アクティブポイン
タLAは、ステートS1を示すようになる(ステップS
121、123)。
【0137】図31は、図22に示されるワードモデル
201のエントリステート(すなわち、最初の3つのス
テート)を示す。図示されるように、アクティブポイン
タLAは、ステートS1に向かう。ワードモデル201
に3つよりも多くのステートがあるので、ステータスポ
インタjは、ステートS2を示す。ステップS189
で、システムは、ポインタjによって示されたステート
が、最終アクティブポインタLAによって示されたステ
ート、すなわちステートS1を過ぎているかどうかを判
断する。したがって、ここでは、処理はステップS19
1に進む。ステップS191で、システムは、ステート
S2に記憶された累積距離と、ワードモデル201に関
連する一時的記憶INSCOREに記憶された累積距離とを比
較する。ワードモデル201の一時的記憶INSCOREは、
図31に示される矩形のボックス241で示される。IN
SCOREに記憶された累積距離がステートS2に記憶された
累積距離より小さい場合、ステップS193でINSCORE
に記憶された累積距離がステートS2に複写される。そ
して、ステップS195で、ステートS2の自己反復カ
ウンタが0に再設定され、処理はステップS197に進
む。一方、INSCOREに記憶された累積距離がステートS2
に記憶された累積距離より大きい場合、ステートS2に
記憶された累積距離は変化せず、処理はステップS19
7に進む。ステップS197において、ポインタjはデ
クリメントされ、ステートS1を示すようになる。処理
はステップS189に戻り、同様の処理が、ステートS
1について行われる。
【0138】ステートS1について処理した後、ポイン
タjは、ステップS197で再びデクリメントされ、ス
テートS0を示すようになる。したがって、処理はステ
ップS189からステップS198に進み、ここでシス
テムは、処理すべきステートがあるかどうかをチェック
する。本例の場合、ステートS0がまだ処理されるべき
であるので、処理はステップS199に進む。ステップ
S199において、INSCOREに記憶された累積距離が、
ステートS0に複写される。このステートは、最終アク
ティブポインタLAによって示される最後のアクティブ
ステートの手前なので、ステートS0について累積距離
の比較は行われない。ステップS201で、システム
は、ステートS0を現アクティブリスト(このリスト
は、図24のステップS83の処理の前では新アクティ
ブリスト205だったものである)に追加する。そし
て、ステップS203で、ポインタjはデクリメントさ
れ、ステートSー1を示すようになる。その後、処理はス
テップS198に戻り、ここでシステムは、処理される
べき現ワードにエントリステートがこれ以上ないと判断
する。従って処理はステップS205に進み、ここで対
応する一時的記憶INSCOREに記憶された累積距離が、HUG
Eに再設定される。そして、ステップS207で、現ア
クティブリストのステートの数が、カウントPACOUNTに
追加され、処理は、図21に示されるステップS59に
戻る。
【0139】<刈り込み(Pruning)>図21によれ
ば、ステップS63で、処理されるべき入力フレームが
更に存在するとシステムが判断した場合、処理はステッ
プS65に進み、ここで刈り込みしきい値Thが調整さ
れる。刈り込みを用いる目的は、ある時点からつぎの時
点まで伝わるDPパスの数を制限することである。特
に、本実施形態では、刈り込みしきい値を調整し、実際
に処理されるアクティブステートの数を前もって決めら
れた範囲に制限できるようにすることを狙う。なお、こ
の限られた範囲は、利用できる動作メモリの量および処
理時間によって左右される。さらに、本実施形態の目的
は、高価なコンピュータ処理のオーバーヘッドを必要と
せずに、以上の目的を達成させることである。本実施形
態において、刈り込みしきい値は、可変差分値(PRUNIN
G)を処理された入力フレームのために決定されたすべ
ての最小累積スコアMINSCOREに追加することによって、
決定される。すなわち、刈り込みしきい値は、等式(1
0)によって、求められる。
【0140】
【数10】
【0141】アクティブステートの設定数のみが各入力
フレームのために処理されることを確実にする方法の1
つは、そこに記憶された累積距離を増加させるために、
処理されつつある入力フレームに対するすべてのアクテ
ィブリストにあるアクティブステートをソートし、最小
累積距離を有する入力フレームで始まる所望の数を処理
する。しかしながら、この技術は、アクティブステート
をソートするために長時間のコンピュータ処理時間を要
する。コストのかかるコンピュータ処理によるソートを
行うのではなく、本実施形態で用いられる技術は、最後
の入力フレームを処理した後に利用できる情報を用い
る。特に、本実施形態において、差分値(PRUNING)
は、処理されるべき次の入力フレームの潜在的なアクテ
ィブステートの数(PACOUNTに格納されている)に依存
して変化し、実際に処理されるステートの数を2つのし
きい値の間にあるように維持する。刈り込みしきい値T
hが調整される方法を、図32を参照して詳細に説明す
る。
【0142】ステップS211において、システムは、
処理される次のフレームの潜在的アクティブステートの
数(PACOUNTに記憶される)とステートしきい値(STATE
TH)を比較する。ここで、ステートしきい値(STATET
H)は、利用できる動作メモリの量によって決定される
絶対的最大ステートしきい値を下回るが、その値の付近
に設定される。PACOUNTに記憶された値がSTATETHを下回
る場合、すべての潜在的なアクティブステートが処理さ
れ得ることを意味するので、直前の時点で用いられた差
分値PRUNINGは増加される。したがって、ステップS2
13で、調整定数dp1が既存の差分値PRUNINGに追加
される。dp1の値は、妥当な局部距離を上回るように
設定されるので、すべてではないがほとんどの潜在的ア
クティブステートが処理される。
【0143】PRUNINGに記憶された値は、ステップS2
15で、高い刈り込みしきい値HIGHPRTHと比較される。
上限が差分値PRUNINGに設定されているので、これ以上
進む必要のない最大差分値が存在する。 PRUNINGに記憶
された値がHIGHPRTHを下回る場合、処理はステップS2
19に進む。 一方、PRUNINGに記憶された値がHIGHPRTH
を上回る場合、PRUNINGは、ステップS217で、HIGHP
RTHに設定される。ステップS215またはS217の
処理の後、システムは、差分値PRUNINGを追加された他
の有効パスの最小累積距離MINSCOREとPRUNINGとの和に
等しくなるように刈り込みしきい値Thが設定される。
そして、処理は、図21に示されるステップS43に戻
る。
【0144】ステップS211で、次のフレームの潜在
的アクティブステートの数(PACOUNT)がSTATETHを上回
るとシステムが判断した場合、ステップS221で、シ
ステムは、直前の入力フレームの処理においてアクティ
ブステートとして処理されたステートの数(ACOUNTに記
憶されている)と、低ステートしきい値LOWSTTHとを比
較する。このLOWSTTHの値は、ACOUNTがLOWSTTHを下回っ
た場合には、多くの時間またはメモリ量を費やさずに次
の入力フレームのすべての潜在的なアクティブステート
を処理できることを保証できるような値に設定される。
したがって、ACOUNTがLOWSTTHを下回る場合、処理はス
テップS221からステップS213に進み、上述した
ような処理によって差分値PRUNINGが調整される。他
方、ACOUNTがLOWSTTHを上回る場合、すべての潜在的ア
クティブステートが処理された場合に、それほどの処理
時間またはメモリ量を費やさずに済むという保証は無
い。したがって、差分値PRUNINGを低減する必要がある
かもしれない。
【0145】差分値PRUNINGを低減させる必要があるか
どうかを判断するため、システムは、ステップS223
で、ACOUNTとSTATETHを比較する。ACOUNTがSTATETHを下
回る場合、システムは、差分値PRUNINGがHIGHPRTHと等
しいかどうかをチェックする。差分値PRUNINGがHIGHPRT
Hと等しい場合、システムはすべてのアクティブステー
トを処理するように試みてきたことを示す。したがっ
て、次の入力フレームのために処理されるアクティブス
テートの数によって、長時間の処理時間または大容量メ
モリを要する処理になってしまうようなことはまず起こ
らないとみてよい。したがって、差分値PRUNINGを変化
させずにステップS219に処理を進め、ここで刈り込
みしきい値は、MINSCOREに差分値PRUNINGを加算したも
のと等しくなるように設定される。他方、差分値PRUNIN
GがHIGHPRTHと等しくない場合(この場合、差分値PRUNI
NGがHIGHPRTH を下回ることになる)、次の入力フレー
ムのために処理されるアクティブステートの数は、長時
間の処理時間または大容量のメモリを費やす可能性があ
る。したがって、処理されるアクティブステートの実際
の数が計算されなければならない。この計算は、変更さ
せていない差分値PRUNINGを用いてステップS231で
設定された刈り込みしきい値を用いてステップS233
で行われる。
【0146】ステップS223に戻って、ACOUNTがSTAT
ETHを上回るとシステムが判断した場合、ステップS2
25で、差分値PRUNINGは、調整定数dp1によって低
減される。ステップS225で差分値PRUNINGが減らさ
れた後、システムはステップS227において、差分値
PRUNINGが低刈り込みしきい値LOWPRTHを下回るかどうか
を判断する。低刈り込みしきい値は、次の入力フレーム
について処理されるアクティブステートの数が設定され
た非常しきい値EMGSTTHを上回ることを保証するのに用
いる。この処理を行う理由は、大量に刈り込まれた場
合、ダイナミックプログラミングプロセスが行えないか
らである。差分値PRUNINGが低刈り込みしきい値LOWPRTH
を下回る場合、ステップS229で差分値PRUNINGをLOW
PRTHに等しくする。ステップS231では、調整された
差分値PRUNINGをMINSCOREに加算したもの等しくなるよ
うに刈り込みしきい値Thが設定される。次にステップ
S233で、システムは、次の入力フレームのために処
理されるアクティブステートの数をカウントする。この
処理は、すべてのアクティブステートに記憶された累積
距離と、新たに決定された刈り込みしきい値Thを有す
るすべてのノードに記憶された累積距離とを比較するこ
とによって行われる。
【0147】総数(nsa)は、次の入力フレームに関し
て処理されるアクティブステートとノードの総数を示
す。総数nsaが非常しきい値EMGSTTHを下回る場合、刈
り込みしきい値の設定が低すぎることを意味する。従っ
て、処理はステップS213に進み、ここで差分値PRUN
INGが増加され、刈り込みしきい値Thが再設定され
る。一方、nsaが非常しきい値EMGSTTHを下回らない場
合、ステップS237で、nsaはLOWSTTHと比較され
る。 nsaがLOWSTTHを上回る場合、ステップS231で
設定された刈り込みしきい値Thは受け入れ可能であ
り、処理は、図21に示されるステップS43に戻る。
他方、nsaがLOWSTTHを下回る場合、刈り込みしきい値
は増加させることができる。よって、ステップS219
で刈り込みしきい値Thが再設定される前に、ステップ
S239で、第2の調整定数dp2を差分値PRUNINGに
加算する。本実施形態において、この第2の調整定数d
p2は、調整定数dp1の半分に設定される。
【0148】当業者には明らかなように、刈り込みしき
い値を変化させる方法はコンピュータ処理に高価なコス
トを費やさせない。さらに、各時点で処理されるアクテ
ィブステートの数を制限するという方法を用いて刈り込
みしきい値が調整される。このため、割り当てられる処
理時間およびメモリが限界を越えないように調整するこ
とができる。
【0149】図21に示される処理ステップのシーケン
スを用いて入力シーケンスのすべてのフレームが処理さ
れた後、ダイナミックプログラミングプロセスによって
決定された最適パスにより正しいパスを決定するために
バックトラッキングルーチンが要求される。本実施形態
において、バックトラッキングルーチンは、各パスが伝
わるワードのシーケンスを示すバックポインタを追跡す
る。このようなバックトラッキングルーチン(再帰ルー
チン)が行われる方法、およびポインタを発生させる方
法の詳細については、音声処理の当業者によく知られて
いるので、これ以上説明はしない。
【0150】<初期化>システムに入力発声音を認識さ
せる前に、認識処理中に用いられるシステムのしきい値
および変数を初期化しなければならない。この処理は、
以下の方法で行われる。まず、スタートノードN0に記
憶される累積距離は0に設定され、他のノードに記憶さ
れる累積距離は、大きな値を示すHUGEに等しくなるよう
に設定される。各ワードモデルに関連付けられ、潜在的
なアクティブステートの数をカウントするカウンタPACO
UNTは0に設定される。各ワードモデルに関連付けられ
た最終アクティブポインタLAは、それぞれのモデルの
エンドステートSDを示すように設定される。各ワード
モデルに関連付けられた一時的記憶INSCOREは、大きい
値を示すHUGEに設定される。その後、すべてのノードが
処理され、各ワードの入力に接続されるすべてのノード
の累積距離の最小値は、各ワードに関連付けられた一時
的記憶INSCOREに複写される。これは、スタートノード
N0に接続された各ワードの一時的記憶INSCOREが0に設
定されることを保証する。最後に、各ワードのINSCORE
に記憶された値を用いて、各ワードモデルのエントリス
テートを作動させ、初期化する。各ワードモデルのエン
トリステートを初期化する処理ステップは、図30を参
照して上述したエントリステートを更新するために用い
られる処理ステップと同一である。刈り込みしきい値お
よび差分値PRUNINGもまた、第1の入力フレームを処理
する前に、初期化される。特に、刈り込みしきい値Th
は大きい値を示すHUGEに設定され、差分値PRUNINGは、
高刈り込みしきい値HIGHPRTHと等しくなるように設定さ
れる。
【0151】<フレキシブルダイナミックプログラミン
グアラインメント>上記において、本実施形態における
ワードモデルの生成方法について、図13から図16を
参照して詳細に説明を行った。特に、先ずはじめに、フ
レーズに含まれるワードについて分離ワードモデルが、
フレキシブルダイナミックプログラミングアラインメン
トを用いて生成される。すなわち、フレキシブルダイナ
ミックプログラミングアラインメントを用いて、そのフ
レーズに対応するパラメータフレームのシーケンスを、
分離して発声された当該フレーズに含まれるワードに対
応するパラメータフレームに関連付けることで分離ワー
ドモデルが生成される。以下、このフレキシブルアライ
ンメントプロセスについて詳細に説明する。なお、ここ
では、学習フレーズ「get an image」が与えられ、か
つ、そのフレーズに存在するワードに対するワードモデ
ルが無い場合を例に揚げて説明する。
【0152】図33は、「get an image」というフレー
ズの発声音声に対応するパラメータフレームシーケンス
152と、「get」、「an」及び「image」の各分離ワー
ドの発声音声に対応するパラメータフレームシーケンス
158、160及び162を示す。パラメータフレーム
シーケンス152におけるパラメータフレームの幾つか
はバックグラウンドノイズもしくは沈黙に対応するの
で、フレーズに含まれる各分離ワードの間、先頭の分離
ワードの開始部分、最終の分離ワードの後部分にノード
251、253、255、257が提供される。これら
のノードは図17aで示された言語モデル中のノードに
類似の態様で動作し、処理中であるパラメータフレーム
152の現パラメータフレームが沈黙もしくはバックグ
ラウンドノイズに対応したものであるという状況に対応
可能である。この可能性は、図33において、ノード2
51,253、255及び257における沈黙フレーム
fsil(これは図10において示されたノイズモデル2
3である)によって示されている。
【0153】パラメータフレームシーケンス158、1
60、162のそれぞれの開始部分もしくは終了部分に
おけるフレームのいくつかは沈黙或いはバックグラウン
ドノイズに対応するものであるかもしれないが、パラメ
ータフレームシーケンス152内の沈黙或いはバックグ
ラウンドノイズに対応するパラメータフレームは、シー
ケンス158、160及び162内の沈黙に対応するフ
レームよりも、ノード251,252、255及び25
7に格納された沈黙フレームfsilによりよくマッチす
る。これは、沈黙フレームfsilが全沈黙フレームの平
均を示すものであり、シーケンス152内の沈黙に対応
するフレームと沈黙フレームfsilとの間の変動量が、
シーケンス152内の沈黙に対応するフレームと各シー
ケンス158、160及び162内の沈黙に対応するフ
レームとの間の変動量よりも小さいからである。
【0154】フレキシブルアラインメントプロセスが実
行される方法は、図18〜32を参照して説明したよう
な、入力音声が、格納されている標準モデルに関連付け
られる方法に類似している。特に、パラメータフレーム
158、160及び162を標準モデルとして、ノード
251,253、255、257、そしてシーケンスフ
レーム152を入力されたフレームとして用いる場合、
フレキシブルアラインメントプロセスの全体的な処理ス
テップは図21に示されたフローチャートに従う。混乱
を避けるために、分離的に発声されたワードを表すパラ
メータフレームシーケンス158、160、162は、
ステートと称する。未知の入力音声を認識するために用
いられた標準モデルのステートと同様に、これらのステ
ートも関連する累積距離格納部を有する。この累積距離
格納部は、処理中のシーケンス152の現フレームに関
して、当該ステートまでのダイナミックプログラミング
パスの累積距離を格納する。
【0155】フレキシブルアラインメントプロセスと未
知の入力発声音声を認識するために用いられたアライン
メントプロセスとの主要な相違は次の通りである。すな
わち、フレキシブルアラインメントにおいては、(i)
各ダイナミックプログラミングパスがあらゆる位置で
(エントリステートの一つに限らず)ワードに入ること
ができる、(ii)各ダイナミックプログラミングパスは
そこに存在するあらゆるステートから出ることができ
る。
【0156】フレキシブルアラインメントプロセスの動
作を上記例を用いて以下に説明する。なお、以下の説明
は、シーケンスパラメータフレーム152のはじめの少
しのパラメータフレームについて行う。
【0157】まず、第1のフレームを処理する前に、ノ
ード及びワードモデル内のステートの累積距離スコアを
初期化する。この初期化処理手順は、上述の、未知入力
音声を認識するのに先立って実行される初期化処理に類
似している。特に、スタートノード、すなわちノード2
51に格納される累積距離はゼロに設定され、他の全て
のノードに格納される累積距離は大きな値を示すHUGEに
設定される。その後、ワードW1、W2及びW3におけ
るステートの累積距離スコアは、それらのワードの入力
に接続されたノードに格納された累積距離スコアを用い
て更新される。これは、フレームf0P1が処理されてい
るときに、ダイナミックプログラミングパスが第1のワ
ードW1及び第1のノード251の各ステートからスタ
ートできることを保証する。
【0158】初期化の後、第1フレームf0P1が、ワー
ドW1、W2及びW3に関して順次処理される。しかし
ながら、ワードW2及びW3内のステートに関連した累
積距離は値HUGEを有するので、第1ワードW1内のステ
ートに関してのみ、第1フレームが処理されることにな
る。ワードW1に関して第1フレームを処理する際、フ
レームf0P1とワードW1内の各ステートとの間の距離
は各ステートに対応付けられた累積距離格納部に格納さ
れる。フレキシブルアラインメントプロセスは図28に
示された処理ステップを用いて、ノード251,25
3、255及び257を順次処理する。最後に、ノード
処理の結果を用いてワードW1、W2及びW3内のステ
ートの累積距離スコアを更新することにより、第1フレ
ームf0P1の処理が完了する。この更新処理は、エント
リステート(すなわち、最初の3つのステート)だけで
なくワード内の全てのステートが更新されるということ
を除けば、図30に示される処理と同様である。
【0159】シーケンス152の第1のパラメータフレ
ームが処理されると、第1のパラメータフレームf0P1
の処理によってスタートされたダイナミックプログラミ
ングパスを成長させるために第2のパラメータフレーム
f1P1が処理される。入力された発声音声の認識に用い
られたダイナミックプログラミング手法で行ったよう
に、各ワードW1、W2及びW3のステートは逆方向の
順序で処理される。ここで、本実施形態において、図1
9及び図20を参照して記述された伝搬の制限に類似し
た制限が用いられる。相違点は、未知の入力音声を認識
する場合では最後の3つのステートからのみ現ワードを
抜けることが許されたが、あらゆるステートから現ワー
ドを抜けることができるという点のみである。ワードW
1、W2及びW3が第2のパラメータフレームf1P1を
用いて処理されると、各ノード内で現在伝わっているダ
イナミックプログラミングパスを更新するために、ノー
ド251,253、255及び257が処理される。こ
の処理がなされると、ノード処理の結果を考慮するた
め、ダイナミックプログラミングパスを更新するため
に、ワードW1、W2及びW3が再び処理される。
【0160】パラメータフレームシーケンス152の残
りのパラメータフレームも、同様の方法で順次処理され
る。シーケンス152内の全てのパラメータフレームが
処理されると、最も低い累積スコアを有するダイナミッ
クプログラミングパスが決定される。パラメータフレー
ムシーケンス158、160及び162内の開始及び終
了フレームを特定するために、フレキシブルアラインメ
ントプロセスの間の各ダイナミックプログラミングパス
の成長が記録される。ここで、これら開始及び終了フレ
ームは、対応するワードを表す(沈黙は表さない)それ
らパラメータフレームの境界を示す。
【0161】特に、ダイナミックプログラミングパスが
手前のワードから、あるいはワードの手前からワードへ
入ったときはいつも、そのダイナミックプログラミング
パスが入ったステートが記録され、そのパスに関連付け
られる。同様に、ダイナミックプログラミングパスがワ
ードから出て、それが出たステートが記録されたとき、
そのパスに関連するスコアはそのワードから出た全ての
前のダイナミックプログラミングパスに関連するスコア
よりも低い。従って、パラメータフレームシーケンス1
52内の最後のパラメータフレームが処理され、最良の
スコアを有するダイナミックプログラミングパスが特定
されると、パラメータフレームシーケンス158、16
0、162内のワードのおおよその開始及び終了位置
が、ダイナミックプログラミングパスに関連する記録を
参照することにより、特定される。
【0162】当業者には明らかなように、フレキシブル
アラインメントプロセスに関する上記記載は、入力フレ
ーズ中に含まれる各ワードについてワードモデルが存在
しないという状況に特化されたものである。しかしなが
ら、標準モデルの学習は自然に増加するように、すなわ
ちユーザが適宜システムに学習させることができるよう
に設計されているので、入力フレーズ中のワードに対す
るワードモデルが既に存在するという状況が発生し得
る。この場合、フレーズとこのワードとの間のアライン
メントの最中において、既にワードモデルを有するワー
ドに対しては通常のダイナミックプログラミングプロセ
スを適用し、まだワードモデルの存在しない他のワード
に対してはフレキシブルダイナミックプログラミングア
ラインメントを適用するという、混合型のダイナミック
プログラミングアラインメントプロセスが採用される。
【0163】図14のステップS25、S26を参照し
て説明したように、フレーズ内の未知のワードに対して
分離ワードモデルが決定されると、それらはワードを含
む入力フレーズのパラメータフレームシーケンスに関連
付けられ、ワードモデルがその結果から生成される。
【0164】<ワードモデルの適用>本実施形態による
音声認識システムの他の特徴は、図10のワードモデル
19、ノイズモデル23および言語モデル21が構築/
更新モジュール91によって更新され、修正されること
である。したがって、記憶されたワードモデル19は、
別のユーザの入力音声によって、修正されたり適応させ
られたりする。
【0165】図34は、ワードモデル19が別のユーザ
に適用される方法を示すフローチャートである。ステッ
プS251で、新しいユーザは、既知のワードまたはフ
レーズをマイクロフォン7またはキーボード3を介して
システムに入力する。したがって、構築/更新モジュー
ル91は、新しいユーザから入力された発声音に対応す
るパラメータフレームのシーケンスと、キーボード3を
介して入力された対応するテキストとを有することにな
る。ステップS253で、システムは、入力発声音と、
当該発声音に存在することが認知されているワードの既
存のワードモデルとを、ダイナミックプログラミングル
ーチンを用いて関連付ける。すなわち、ダイナミックプ
ログラミングルーチンは入力発声音のパラメータフレー
ムと適切なワードモデルとを関連付ける。ステップS2
55で、システムは、ワードモデルのステートをそのワ
ードモデルに関連付けられたパラメータフレームのシー
ケンスで直接に置き換える。ステップS257で、新し
いユーザが他のフレーズを入力することを決定した場
合、処理はステップS251に戻り、同様のルーチンが
次の入力発声音のために再度行われる。ステップS25
7で、新しいユーザがこれ以上フレーズを用いないと決
定した場合、当該処理は完了する。
【0166】図35は、ワードモデル19が別のユーザ
のために用いられる第2の方法を示すフローチャートで
ある。ステップS261で、新しいユーザは、マイクロ
フォンを介して複数回およびキーボードを介して1回、
既知のワードまたはフレーズをシステムに入力する。し
たがって、構築/更新モジュール91は、パラメータフ
レームの複数のシーケンスおよびキーボード3を介して
入力された対応テキストを有するようになる。ここで、
これら複数のシーケンスは、新しいユーザによって発声
された既知のワードまたはフレーズに対応する。ステッ
プS263で、システムは、各入力発声音と、当該発声
音に含まれることが既知であるワードに対応する既存の
ワードモデルとを、ダイナミックプログラミングルーチ
ンを用いて関連付ける。
【0167】ダイナミックプログラミングルーチンは、
各入力発声音のパラメータフレームと、適正なワードモ
デルのステートとを関連付ける。ステップS265で、
システムは、ワードモデルのステートをワードモデルに
関連付けられたパラメータフレームの平均で置き換え
る。本実施形態において、ワードモデルのステートが発
声音のパラメータフレームのいずれにも関連付けられな
かった場合、システムは、置き換えられた隣接ステート
を用いて捕間または外挿する。ステップS267で、新
しいユーザが他のフレーズを用いることを決定する場
合、処理はステップS261に戻り、同様のルーチンが
次のフレーズに対して再度行われる。ステップS267
で、新しいユーザがこれ以上フレーズを入力しないこと
を決定すると、処理は完了する。したがって、当業者に
明らかなように、新しいユーザは、ユーザの便宜上、既
存のワードモデルを増加させながら用いることができ
る。さらに、新しいユーザは、新しいワードまたはフレ
ーズを上述した方法でシステムに追加することもでき
る。
【0168】<他の実施形態>多数の変形が、本発明の
進歩性の概念から逸脱することなく、上記音声認識シス
テムになされ得る。これら種々の変形例のいくつかを以
下に説明する。
【0169】上記実施形態においては、すべての発声音
が処理される前に受信されるが、本システムは、音声を
受信しながら処理するというように、ワードモデルを漸
進的に動作させることができる。このような実施形態に
おいて、入力バッファが必要であるが、1つのフレーム
に相当する入力音声、すなわち、20msecの音声を
記憶しさえすればよい。当業者には明らかなように、本
システムを動作させるため、入力された音声の1つのフ
レームに対する処理のすべて(プリプロセッサおよび認
識ブロックで行なわれる)は、入力音声のその次のフレ
ームについて、処理のための準備が整う前に完了してい
なければならない。上記フレーム速度およびフレーム継
続時間を用いれば、入力音声のフレームを処理するため
に費やされる時間は10msecを下回るにちがいな
い。これは現在のプロセッサで達成し得るものである。
さらに、入力発声音の各フレームのパワーパラメータ
は、異なる方法で正規化されなければならない。このよ
うな実施形態におけるパワーの正規化の方法の1つとし
ては、例えば過去の20個にわたる入力音声のパワーに
基づいて適応される適応正規化係数を用いることが揚げ
られる。
【0170】また、第1の実施形態において、ダイナミ
ックプログラミングパスの終わりにあったワードモデル
のステートは、そのワードモデルに対応するアクティブ
リストに登録されていた。他の実施形態においては、総
括アクティブリストを1つ備え、そこに、すべてのワー
ドモデルのすべてのアクティブステートを登録する。こ
のような他の実施形態においては、総括アクティブリス
トに関連して、特定のアクティブステートがどのワード
モデルに属するかの情報が記憶されなければならない。
【0171】第1の実施形態において、ワードモデルの
ステートは、持続時間において、認識されるべき入力音
声のフレームと対応する。他の実施形態において、ワー
ドモデルの各ステートは、持続時間に関して、例えば入
力音声の3つの連続フレームと等しい。このような他の
実施形態において、入力フレームは、3つのフレームグ
ループによって平均化され、ワードモデルのステートに
関連付けられる。
【0172】さらに、他の実施形態は、ワードモデルに
統計モデル、例えば隠れマルコフモデルを採用するもの
であり、これは音声認識の当業者に知られている。この
ような実施形態においては、入力発声音とワードモデル
のシーケンスとの間の最小累積距離を決定するのではな
く、隠れマルコフモデルの特定のシーケンスによって入
力シーケンスが生成された最大の可能性が決定される。
このような実施形態において、隠れマルコフモデルは、
第1の実施形態で発生された連続標準モデルと同様の方
法で発生される。特に、ワードの分離標準モデルは、ワ
ードの発声音とそのワードを含むフレーズの1つ以上の
発声音とを比較することによって、生成される。平均パ
ラメータフレームおよび隠れマルコフモデルのステート
の共分散マトリクスを生成し、ステートの遷移確率を生
成するために、分離標準モデルはワードを含む複数のフ
レーズ例とともに用いられる。この処理が行われる方法
は、音声認識の当業者には明らかである。
【0173】第1の実施形態において用いられる標準モ
デルは、すべてのワードに対応する。当業者に明らかな
ように、このことは本質的なことではない。標準モデル
は、ワードの部分、例えば、音節、複数のワード、個々
の音素にさえ相当する。しかしながら、音素に相当する
標準モデルを用いると、システムが言語に依存するよう
になり、不利である。すべてのワードに対応する標準モ
デルは、すべてのフレーズに対応する標準モデルより好
ましい。なぜなら、時間およびコンピュータ処理の手間
を節約することができるからである。特に、フレーズ内
のワードをモデルにし、言語モデルを用いることによっ
て、システムに少量のワードしか用いない多くの異なる
フレーズを教えられる。他方、標準モデルがすべてのフ
レーズに相当する場合、標準モデルは、システムによっ
て学習されるべき種々のフレーズのそれぞれに必要とな
る。また、この利点に加えて、ワードに相当する標準モ
デルを用いると、フレーズのワード間の間隔に対するシ
ステムの柔軟性が増す。これは、フレーズの始めまたは
終わりおよびフレーズのワードの間に現れる環境モデル
によって可能になる。
【0174】さらに他の実施形態において、モデルの連
続フレームが類似する場合、標準モデルは圧縮される。
標準モデルが圧縮されると、類似の連続フレームは、1
つのフレームに置き換えられる。このような実施形態に
おいて、入力発声音の連続フレームが2回までしかワー
ドモデルの同じステートに関連付けられないというよう
なダイナミックプログラミングプロセスに対する制限
は、除去されなければならない。
【0175】図17に示される言語モデルにおいて、あ
るワードに2つの異なるワードが続く場合、それら2つ
のワードの何れが当該ワードに続くかについて優先度は
ない。他の実施形態においては、いくつかのワードのシ
ーケンスに他のシーケンスより優先度を高めるよう、重
みを付けることができる。例えば、図17aに示される
フレーズについては、「make it more…」(ここで、
「…」の部分には色名称が続く)というフレーズは、
「make it smaller」または「makr it larger」または
「make it brighter」というフレーズより一般的である
ことが知られているとする。従って、この場合は、ノー
ドN7からノードN8までの遷移が、ノードN7からノ
ードNnまでの遷移よりも強くなるように設定される。
これは、ノードN7から「more」、「smaller」、「lar
ger」、「brighter」というワードへ伝わる累積距離に
重み付けを行う重み係数を用いることによって達成され
る。
【0176】当業者には明らかなように、許容されたワ
ードのシーケンスを決めるために用いられる言語モデル
は、バイグラム(二重字)モデルである必要はないが、
いかなる知られたタイプの言語モデル、例えば定型文法
モデルでもよい。用いられた言語モデルのタイプが変更
される場合、上記のダイナミックプログラミングマッチ
ングプロセスにはいくつかの変更が必要となるが、この
ような改造は、音声認識の当業者には明らかである。し
かしながら、マッチングプロセスの重要な特徴部分は変
化されないままとなる。どんなパターンの合致プロセス
にも合うように設計されているからである。
【0177】第1の実施形態において、あるワードの標
準モデルを生成する前に、そのワードを含む少なくとも
2つのフレーズが入力されなければならない。これは、
操作上の好ましい方法であり、ワードモデルを、そのワ
ードを含む1つのフレーズ例のみから各ワード毎に発生
させることもできる。しかしながら、このような実施形
態によって得られる標準モデルは、どのようなフレーズ
が与えられた場合でも、あまり典型的なものとはならな
い。さらに、第1の実施形態で用いられた学習方法にお
いて、1つのワードに対していったん標準モデルを決定
すると、ワードモデルは、次の入力学習フレーズがその
ワードを含むかどうかに関らず、変更されない。他の実
施形態においては、すでにワードモデルがあるワード例
を含む入力フレーズを用いて、学習セッション中に既存
のワードモデルを更新することを可能とする。
【0178】ユーザが音声認識システムを学習させて、
既に分離して入力された複数のワードを含むフレーズを
入力すると、システムは、それらのワードについて分離
した状態で再度入力するようユーザに促すことはしな
い。これに対して、他の実施形態においては、システム
は、ユーザにそのようなワードを再度入力するよう促
し、ワードの2つの発声音が大して違わないことを確認
するべくチェックを実行する。
【0179】第1の実施形態において、標準モデルが学
習されたりまたは用いられる場合、ユーザはテキストを
入力し、それに相当する音声コマンド入力しなければな
らない。音声認識の当業者には分かるように、これは必
須ではない。テキストを入力する代わりに、ユーザはキ
ーボード、ファクシミリ、複写機等の相当するキーまた
はキーの組み合わせを押すようにしてもよい。例えば、
複写機で用いるためにシステムに学習させる場合におい
て、音声コマンド「copy(複写)」と入力し、これに対
する所望の機械の応答は、ユーザが複写ボタンを押しさ
えすれば、入力される。
【0180】さらに、上記のダイナミックプログラミン
グマッチングプロセス、標準モデルの発生および適応プ
ロセスを実行させる方法が、他のタイプのパターンマッ
チングのためにも用いられることは、パターンマッチン
グの当業者に明らかである。例えば、上記パターン合致
プロセスは、手書き文字の認識または他のパターン合致
技術で用いられることが考えられる。
【0181】連続ワード音声認識システム(文音声認識
システム)は、上記の第1の実施形態に記載されている
が、記載されたシステムの多くの特徴が他の種類の音声
認識システムにも等しく適用できることは当業者には明
らかである。例えば、分離ワードモデルを決定する方法
および上記分離ワードモデルは、分離ワード音声認識シ
ステム(単語音声認識システム)で用いられる。同様
に、ダイナミックプログラミングプロセスが行われる方
法の多くの特徴および刈り込みしきい値が調整される方
法は、いずれの音声認識システムでも用いられ、ここで
標準モデルは、音声のいかなる部分、例えば音素、音節
等にも対応させ得る。
【0182】第1の実施形態に記載された音声認識シス
テムは、多くの異なるソフトウェアアプリケーション、
例えばスプレッドシートパッケージ、グラフィックパッ
ケージ、ワードプロセッサパッケージ等とともに用いる
ことができる。音声認識システムがそのような複数のソ
フトウェアパッケージとともに用いられる場合、特に、
各アプリケーションで用いられるフレーズが異なる場
合、各パッケージ毎にワードおよび言語モデルを分ける
ことが有利である。この理由は、ワードモデルの数が増
加したり、言語モデルのサイズが大きくなるにつれて、
システムが入力発声音を認識するための時間が長くなる
からである。したがって、各アプリケーション毎にワー
ドおよび言語モデルを分けることによって、音声認識シ
ステムの速度を維持できる。さらに、いくつかのワード
および言語モデルは、各アプリケーションに用いられ得
る。
【0183】さらに、当業者に明らかなように、上記音
声認識システムは、多くの異なるタイプのハードウェア
でも用いられる。例えば、パーソナルコンピュータ等の
機器で用いられるのは明らかであるが、それ以外に、音
声認識システムは、ファクシミリ、電話、プリンタ、複
写機等、人間と機械のインタフェースを有する各種機器
のユーザインタフェースとして用いられ得る。
【0184】また、本発明は上記実施形態によって限定
されるものではなく、種々の変形および実施形態が当業
者には明らかである。
【0185】なお、本発明は、複数の機器(例えばホス
トコンピュータ,インタフェイス機器,リーダ,プリン
タなど)から構成されるシステムに適用しても、一つの
機器からなる装置(例えば、複写機,ファクシミリ装置
など)に適用してもよい。
【0186】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体を、システムあるいは装置に供給し、そ
のシステムあるいは装置のコンピュータ(またはCPU
やMPU)が記憶媒体に格納されたプログラムコードを
読出し実行することによっても、達成されることは言う
までもない。
【0187】この場合、記憶媒体から読出されたプログ
ラムコード自体が前述した実施形態の機能を実現するこ
とになり、そのプログラムコードを記憶した記憶媒体は
本発明を構成することになる。
【0188】プログラムコードを供給するための記憶媒
体としては、例えば、フロッピディスク,ハードディス
ク,光ディスク,光磁気ディスク,CD−ROM,CD
−R,磁気テープ,不揮発性のメモリカード,ROMな
どを用いることができる。
【0189】また、コンピュータが読出したプログラム
コードを実行することにより、前述した実施形態の機能
が実現されるだけでなく、そのプログラムコードの指示
に基づき、コンピュータ上で稼働しているOS(オペレ
ーティングシステム)などが実際の処理の一部または全
部を行い、その処理によって前述した実施形態の機能が
実現される場合も含まれることは言うまでもない。
【0190】さらに、記憶媒体から読出されたプログラ
ムコードが、コンピュータに挿入された機能拡張ボード
やコンピュータに接続された機能拡張ユニットに備わる
メモリに書込まれた後、そのプログラムコードの指示に
基づき、その機能拡張ボードや機能拡張ユニットに備わ
るCPUなどが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれることは言うまでもない。
【0191】
【発明の効果】以上説明したように、本発明によれば、
接続パターン中に現れる所望の分離パターンに対応した
部分の信号的特徴が容易に抽出できるようになる。
【0192】また、本発明によれば、抽出された上記信
号的特徴を用いて、接続されたパターンの認識に適応し
得る分離標準モデルを容易に構築できるようになる。特
に、連続音声認識のための分離ワードモデルの生成が容
易となるとともに、その更新及び追加も極めて容易に行
える。
【0193】
【図面の簡単な説明】
【図1】本発明の一実施形態を操作するためにプログラ
ムされ得るコンピュータの概略図である。
【図2】音声認識システムの概略構成を示すブロック図
である。
【図3】図2に示されたシステムの一部であるプリプロ
セッサの構成を示すとともに、入力音声信号に行われる
処理ステップを示すブロック図である。
【図4】入力音声信号S(t)を一連の時間フレーム
(FRAME)に分割した状態を示す図である。
【図5】1つの時間フレームの典型的な音声信号例を示
す線図である。
【図6】図5に示される音声信号の離散フーリエ変換の
振幅応答を示す図でる。
【図7】メルスケールフィルタバンクの平均振幅応答出
力を示す図である。
【図8】メルスケールフィルタバンクからの出力の対数
振幅スペクトルを示す図である。
【図9】図8に示される対数振幅スペクトルのセプスト
ラムを示す図である。
【図10】学習処理中に用いられる標準モデル構築部の
恒星を示すブロック図である。
【図11】音声認識システムで用いるワードモデルを発
生させるための学習処理中に行われる処理を示すフロー
チャートである。
【図12】学習処理中に学習フレーズおよび学習ワード
が記憶される一形態例を示す図である。
【図13】複数の入力フレーズ及び入力ワードと、それ
らのフレーズ及びワードに対応するパラメータフレーム
シーケンスを示す図である。
【図14】学習処理中に入力された入力発声音からワー
ドモデルを決定するための処理を示すフローチャートで
ある。
【図15】端の部分が切り捨てられた学習ワード及びそ
れに対応するパラメータフレームシーケンスを示す図で
ある。
【図16】図15に示されるワードのパラメータフレー
ムと、そのワードが含まれる入力フレーズのパラメータ
フレームとの関連付けを示す図である。
【図17A 】複数の入力フレーズ例を学習処理してい
る間に発生された言語モデル例を示す図である。
【図17B 】システムが新しいフレーズを言語モデル
に追加する方法を示すフローチャートである。
【図18】ダイナミック処理技術を用いて入力ワードが
ワードモデルに関連付けられる際の処理を説明する図で
ある。
【図19】ある入力フレームから次の入力フレームのス
テートへの許可された移行シーケンスを示す図である。
【図20】図19に示される許容された状態移行シーケ
ンスの他の例を示す図である。
【図21】第1の実施形態で用いられるダイナミックプ
ログラミングアラインメント技術の実行手順を示すフロ
ーチャートである。
【図22】 ワードモデル、現アクティブリストおよび
それらに関連する新アクティブリストを示す概略図であ
る。
【図23】標準モデル内で伝わるダイナミックプログラ
ミングパスの複数の例を示す図である。
【図24】図21のステップS47に含まれる処理を示
すフローチャートである。
【図25】図23で示された2つのダイナミックプログ
ラミングパスが現入力フレームから次の入力フレームに
伝わる方法を説明する図である。
【図26A 】図22に示されるワードモデルの現アク
ティブリストの第1の状態が処理された後の新アクティ
ブリストの内容を示す図である。
【図26B 】図22に示されるワードモデルの現アク
ティブリストの第2の状態が処理された後の新アクティ
ブリストの内容を示す図である。
【図27A 】図24のステップS77で行われる処理
を示すフローチャートである。
【図27B 】図24のステップS77で行われる処理
を示すフローチャートである。
【図28】図21のステップS51で行われる処理を示
すフローチャートである。
【図29】図28に示される処理中において、ノードN
に対して行われる処理を示す図である。
【図30】図21のステップS57で行なわれる処理を
示すフローチャートである。
【図31】図22に示されるワードモデルのエントリス
テートを示す図である。
【図32】図21のステップS65で行われる処理を示
すフローチャートである。
【図33】入力フレーズのパラメータフレームシーケン
スと、入力フレーズ内に含まれるワードの分離的発声に
よるパラメータフレームシーケンスとを示す図である。
【図34】他の実施形態による第1の代替技術を用い
て、ワードモデルを異なるユーザに適用するための処理
を示すフローチャートである。
【図35】他の実施形態による第2の代替技術を用い
て、ワードモデルを異なるユーザに適用するための処理
を示すフローチャートである。

Claims (24)

    【特許請求の範囲】
  1. 【請求項1】 入力信号内において、分離的に入力され
    たパターンの位置を決定する方法であって、 (a)前記入力信号を、該入力信号と同様のパターンを
    含む複数の接続されたパターンと関連させるアライメン
    ト工程と、 (b)前記アライメント工程の結果から前記位置を決定
    する決定工程とを備えることを特徴とするパターン位置
    決定方法。
  2. 【請求項2】 前記入力信号は音声信号であり、該入力
    信号内の前記パターンは分離的に発声された音声の一部
    であり、前記複数の接続されたパターンを表す信号は連
    続的に発声されたフレーズを表すものでることを特徴と
    する請求項1に記載の方法。
  3. 【請求項3】 前記発声された音声の部分はワードもし
    くはワードのグループであることを特徴とする請求項2
    に記載の方法。
  4. 【請求項4】 前記入力信号は複数の接続パターンを表
    す複数の信号に関連付けられ、該複数の接続されたパタ
    ーンの一つが該入力信号内のパターンと同様であり、 当該方法は更に、前記アライメント工程によってなされ
    た各アライメントに基づいて前記決定工程によって決定
    された位置を平均化する平均化工程を更に備えることを
    特徴とする請求項1乃至3のいずれかに記載の方法。
  5. 【請求項5】 前記複数の信号は少なくとも2つの異な
    る信号を備えることを特徴とする請求項4に記載の方
    法。
  6. 【請求項6】 前記アライメント工程は、前記入力信号
    内におけるパターンの開始及び終了位置を制限しないフ
    レキシブルダイナミックプログラミング処理を用いるこ
    とを特徴とする請求項1乃至5のいずれかに記載の方
    法。
  7. 【請求項7】 分離して入力されたパターンの分離的標
    準モデルを決定する方法であって、 (a)請求項1乃至6のいずれかに記載の方法を用い
    て、入力信号表現中の前記パターンの位置を決定する決
    定工程と、 (b)前記位置から前記入力信号の特徴を抽出し、分離
    された標準モデルを検出、形成する抽出工程とを備える
    ことを特徴とする標準モデル決定方法。
  8. 【請求項8】 パターンに対する統計的な標準モデルを
    決定する方法であって、 (A)各々が、モデル化されるべきパターンを含む複数
    の接続されたパターンを表す複数の信号を入力し、 (B)請求項7に従った方法を用いて前記モデル化され
    るべきパターンの分離した標準モデルを決定し、 (C)分離された標準モデルと前記複数の信号とを用い
    て前記統計的な標準モデルを生成することを特徴とする
    標準モデル決定方法。
  9. 【請求項9】 前記統計的標準モデルは、隠れモルコフ
    モデルであることを特長刀する請求項8に記載の方法。
  10. 【請求項10】 パターンに対する連続的な標準モデル
    を決定する方法であって、 (A)モデル化されるべきパターンを含む複数の接続さ
    れたパターンを表す一つまたはそれ以上の信号を入力
    し、 (B)請求項7に従った方法を用いて、前記モデル化さ
    れるべきパターンに対する分離された標準モデルを決定
    し、 (C)前記分離された標準モデルを、モデル化されるべ
    きパターンを含む複数の接続されたパターンを表す信号
    に対応付けるアライメント工程と、 (D)前記対応付けの結果を結合することにより、連続
    的な標準モデルを決定する決定工程とを備えることを特
    徴とする方法。
  11. 【請求項11】 前記分離された標準モデルはパラメー
    タフレームシーケンスを備え、複数の接続されたパター
    ンを表す各信号はパラメータフレームシーケンスを備
    え、前記ステップ(D)が、 (i)複数の接続されたパターンを表す信号の少なくと
    も一つのパラメータフレームに対応付けられた分離標準
    モデルの各パラメータフレームに対して、それに対応付
    けられたパラメータフレームを平均化することにより連
    続的な標準モデルの対応するパラメータフレームを生成
    することを特徴とする請求項10に記載の方法。
  12. 【請求項12】 分離された標準モデルのパラメータフ
    レームのうちの、どのパラメータフレームにも対応つけ
    られないパラメータフレームについて、連続標準モデル
    の対応するパラメータフレームを該連続標準モデルの隣
    接するパラメータフレームを用いた補間或いは外挿によ
    って生成することを特徴とする請求項11に記載の方
    法。
  13. 【請求項13】 前記対応するパラメータフレームは、
    連続的標準モデルの最も近くに隣接するパラメータフレ
    ームを用いて補間もしくは外挿することによって生成さ
    れることを特徴とする請求項12に記載の方法。
  14. 【請求項14】 前記連続的標準モデルは音声の部分を
    表す言を特徴とする請求項10乃至13のいずれかに記
    載の方法。
  15. 【請求項15】 前記音声の部分がワードもしくはワー
    ドのグループに対応することを特徴とする請求項14に
    記載の方法。
  16. 【請求項16】 請求項14または15に従った方法を
    用いて得られた連続標準モデルを用いる音声認識方法。
  17. 【請求項17】 図13乃至16を用いて記述されるよ
    うにして、入力信号表現中における、分離的に入力され
    たパターンの位置を決定する方法。
  18. 【請求項18】 請求項1乃至17のいずれかに従った
    方法を実行することを特徴とする装置。
  19. 【請求項19】 図13乃至16を用いて記述されるよ
    うにして、入力信号表現中における、分離的に入力され
    たパターンの位置を決定するための装置。
  20. 【請求項20】 新たな入力フレーズに対処するため
    に、音声認識システムにおいて用いるための言語モデル
    を適応させる方法であって、ここで、言語モデルは少な
    くともスタートノードとエンドノードとを有し、 (a)前記フレーズ中の第1のワードが前記スタートノ
    ードの出力に接続されていない場合、該第1のワードを
    外スタートノードの出力に接続し、 (b)前記フレーズ中の最後のワードを除く全てに対し
    て、(i)前記フレーズ中の現在のワードが中間ノード
    に接続されていない場合、中間ノードを生成してその中
    間ノードの入力に前記現在のワードを接続し、(ii)前
    記フレーズ中の次のワードが現在のワードがその入力側
    に接続された中間ノードに接続されていない場合、該次
    のワードを該中間ノードの出力側に追加し、 (c)前記フレーズ中の前記最後のワードが前記エンド
    ノードの入力側に接続されていない場合、該最後のワー
    ドを該エンドノードの入力が和に接続することを特徴と
    する方法。
  21. 【請求項21】 言語モデルを適用するために請求項2
    0に従った方法用いることを特徴とする連続的音声認識
    方法。
  22. 【請求項22】 請求項1乃至17、20及び21のい
    ずれかに記載の方法を実行するためのソフトウエアプロ
    グラムが格納されたデータ搬送媒体。
  23. 【請求項23】 認識されるべき音声を表す信号を入力
    する入力手段と、 前記入力音声と複数の標準モデルとをマッチングするマ
    ッチング手段と、 前記マッチング手段に応答して、入力音声に対応する標
    準モデルのうちのもっとも類似した標準モデルもしくは
    シーケンスに基づいて認識結果を提供する認識手段とを
    備え、 エンドユーザが継続的に新たな標準モデルを追加するこ
    とを可能とする手段を更に備え、入力された音声が該新
    たな標準モデルの一つ或いはシーケンスに対応する場合
    にシステムがその入力音声を認識可能とすることを特徴
    とする連続音声認識装置。
  24. 【請求項24】 前記認識手段は、出力されるワードの
    シーケンスを制限する言語モデルに応答し、該言語モデ
    ルは、エンドユーザが標準モデルに新たなフレーズを追
    加したときに更新されることを特徴とする請求項23に
    記載の装置。
JP02696997A 1996-02-09 1997-02-10 標準モデル決定方法 Expired - Fee Related JP3847879B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB96026919 1996-02-09
GBGB9602691.9A GB9602691D0 (en) 1996-02-09 1996-02-09 Word model generation

Publications (2)

Publication Number Publication Date
JPH09230885A true JPH09230885A (ja) 1997-09-05
JP3847879B2 JP3847879B2 (ja) 2006-11-22

Family

ID=10788443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02696997A Expired - Fee Related JP3847879B2 (ja) 1996-02-09 1997-02-10 標準モデル決定方法

Country Status (6)

Country Link
US (1) US5907825A (ja)
EP (2) EP0789347B1 (ja)
JP (1) JP3847879B2 (ja)
DE (2) DE69724485T2 (ja)
GB (1) GB9602691D0 (ja)
HK (2) HK1002470A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151574A (en) * 1997-12-05 2000-11-21 Lucent Technologies Inc. Technique for adaptation of hidden markov models for speech recognition
US6157910A (en) * 1998-08-31 2000-12-05 International Business Machines Corporation Deferred correction file transfer for updating a speech file by creating a file log of corrections
US6577999B1 (en) * 1999-03-08 2003-06-10 International Business Machines Corporation Method and apparatus for intelligently managing multiple pronunciations for a speech recognition vocabulary
US6480824B2 (en) * 1999-06-04 2002-11-12 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for canceling noise in a microphone communications path using an electrical equivalence reference signal
JP2002142192A (ja) * 2000-11-01 2002-05-17 Sony Corp 信号処理装置および方法、ならびに、記録装置および方法
US6917918B2 (en) * 2000-12-22 2005-07-12 Microsoft Corporation Method and system for frame alignment and unsupervised adaptation of acoustic models
US7340392B2 (en) * 2002-06-06 2008-03-04 International Business Machines Corporation Multiple sound fragments processing and load balancing
US7788097B2 (en) * 2002-06-06 2010-08-31 Nuance Communications, Inc. Multiple sound fragments processing and load balancing
JP2007047575A (ja) * 2005-08-11 2007-02-22 Canon Inc パターンマッチング方法およびその装置、および音声情報検索システム
US7970613B2 (en) 2005-11-12 2011-06-28 Sony Computer Entertainment Inc. Method and system for Gaussian probability data bit reduction and computation
US8010358B2 (en) * 2006-02-21 2011-08-30 Sony Computer Entertainment Inc. Voice recognition with parallel gender and age normalization
US7778831B2 (en) 2006-02-21 2010-08-17 Sony Computer Entertainment Inc. Voice recognition with dynamic filter bank adjustment based on speaker categorization determined from runtime pitch
US8788256B2 (en) * 2009-02-17 2014-07-22 Sony Computer Entertainment Inc. Multiple language voice recognition
US8442829B2 (en) * 2009-02-17 2013-05-14 Sony Computer Entertainment Inc. Automatic computation streaming partition for voice recognition on multiple processors with limited memory
US8442833B2 (en) * 2009-02-17 2013-05-14 Sony Computer Entertainment Inc. Speech processing with source location estimation using signals from two or more microphones
US20100332225A1 (en) * 2009-06-29 2010-12-30 Nexidia Inc. Transcript alignment
US9153235B2 (en) 2012-04-09 2015-10-06 Sony Computer Entertainment Inc. Text dependent speaker recognition with long-term feature based on functional data analysis
AU2013274940B2 (en) * 2012-06-15 2016-02-11 Jemardator Ab Cepstral separation difference
CN105334997A (zh) * 2014-08-12 2016-02-17 扬智科技股份有限公司 智能输入装置及其设定方法与控制方法
CN110598671B (zh) * 2019-09-23 2022-09-27 腾讯科技(深圳)有限公司 基于文本的虚拟形象行为控制方法、设备和介质
US11694694B2 (en) * 2020-07-30 2023-07-04 University Of Florida Research Foundation, Incorporated Detecting deep-fake audio through vocal tract reconstruction

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4400788A (en) * 1981-03-27 1983-08-23 Bell Telephone Laboratories, Incorporated Continuous speech pattern recognizer
EP0202534B1 (en) * 1985-05-07 1990-04-11 Nec Corporation Continuous word recognition system
GB2181874B (en) * 1985-09-06 1989-08-16 Ricoh Kk Voice recognition system
CA1261472A (en) * 1985-09-26 1989-09-26 Yoshinao Shiraki Reference speech pattern generating method
US4783808A (en) * 1986-04-25 1988-11-08 Texas Instruments Incorporated Connected word recognition enrollment method
US5220609A (en) * 1987-03-13 1993-06-15 Matsushita Electric Industrial Co., Ltd. Method of speech recognition
US5027406A (en) * 1988-12-06 1991-06-25 Dragon Systems, Inc. Method for interactive speech recognition and training
AT391035B (de) * 1988-12-07 1990-08-10 Philips Nv System zur spracherkennung
US5127055A (en) * 1988-12-30 1992-06-30 Kurzweil Applied Intelligence, Inc. Speech recognition apparatus & method having dynamic reference pattern adaptation
JPH0782544B2 (ja) * 1989-03-24 1995-09-06 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチテンプレートを用いるdpマツチング方法及び装置
US4994983A (en) * 1989-05-02 1991-02-19 Itt Corporation Automatic speech recognition system using seed templates
CA2015410C (en) * 1989-05-17 1996-04-02 Chin H. Lee Speech recognition employing key word modeling and non-key word modeling
US5073939A (en) * 1989-06-08 1991-12-17 Itt Corporation Dynamic time warping (DTW) apparatus for use in speech recognition systems
DE4110300C2 (de) * 1991-03-28 1995-04-06 Telefonbau & Normalzeit Gmbh Verfahren zur Erweiterung des Wortschatzes für sprecherunabhängige Spracherkennung
US5199077A (en) * 1991-09-19 1993-03-30 Xerox Corporation Wordspotting for voice editing and indexing
AU4678593A (en) * 1992-07-17 1994-02-14 Voice Powered Technology International, Inc. Voice recognition apparatus and method
US5434956A (en) * 1992-11-04 1995-07-18 Hewlett-Packard Company Method and apparatus for printing an image in a specified positional relationship with a preprinted registration mark
JP2692581B2 (ja) * 1994-06-07 1997-12-17 日本電気株式会社 音響カテゴリ平均値計算装置及び適応化装置

Also Published As

Publication number Publication date
GB9602691D0 (en) 1996-04-10
DE69738116T2 (de) 2008-08-21
US5907825A (en) 1999-05-25
EP0789347B1 (en) 2003-09-03
EP0789347A2 (en) 1997-08-13
HK1047181A1 (zh) 2003-02-07
EP0789347A3 (en) 1997-10-29
EP1199705A2 (en) 2002-04-24
HK1002470A1 (en) 1998-08-28
JP3847879B2 (ja) 2006-11-22
EP1199705A3 (en) 2002-05-02
DE69724485T2 (de) 2004-07-22
DE69738116D1 (de) 2007-10-18
DE69724485D1 (de) 2003-10-09
EP1199705B1 (en) 2007-09-05

Similar Documents

Publication Publication Date Title
JP3847879B2 (ja) 標準モデル決定方法
EP0789296B1 (en) Voice controlled image manipulation
JP4510953B2 (ja) 音声認識におけるノンインタラクティブ方式のエンロールメント
US6910012B2 (en) Method and system for speech recognition using phonetically similar word alternatives
JP4351385B2 (ja) 連続および分離音声を認識するための音声認識システム
US6212498B1 (en) Enrollment in speech recognition
US5623609A (en) Computer system and computer-implemented process for phonology-based automatic speech recognition
JPH09230888A (ja) パターンマッチング方法及び装置
US6912499B1 (en) Method and apparatus for training a multilingual speech model set
US6553342B1 (en) Tone based speech recognition
EP1321926A1 (en) Speech recognition correction
EP2048655A1 (en) Context sensitive multi-stage speech recognition
EP1484744A1 (en) Speech recognition language models
JPH11272291A (ja) 音響判断ツリ―を用いたフォネティック・モデル化方法
US20030200086A1 (en) Speech recognition apparatus, speech recognition method, and computer-readable recording medium in which speech recognition program is recorded
EP1355295A2 (en) Speech recognition apparatus, speech recognition method, and computer-readable recording medium in which speech recognition program is recorded
JPH09244686A (ja) 情報処理方法及び装置
US20060206326A1 (en) Speech recognition method
US20030220792A1 (en) Speech recognition apparatus, speech recognition method, and computer-readable recording medium in which speech recognition program is recorded
JP3633254B2 (ja) 音声認識システムおよびそのプログラムを記録した記録媒体
US20050246172A1 (en) Acoustic model training method and system
Gaudard et al. Speech recognition based on template matching and phone posterior probabilities
Mohanty et al. Design of an Odia Voice Dialler System
JPH02272498A (ja) 音声認識方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040210

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060714

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060814

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060824

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090901

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100901

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110901

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110901

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120901

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120901

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130901

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees