(57)【特許請求の範囲】
【請求項１】
認識対象語の一部を表す仮説をノードとする木構造仮説のノードに対して、ルートノードから注目ノードまでのパスで表現される連接仮説の入力音声に対する尤度を、音響的な尤もらしさを表す音響スコアと言語的な尤もらしさを表す言語スコアとを用いて計算する音声認識装置であって、
注目ノードを共有する各認識対象語の言語スコアに基づいて前記注目ノードの言語スコア予測値を生成する言語スコア予測値生成手段と、
ルートノードから前記注目ノードの親ノードまでのパスで表現される連接仮説の尤度に前記注目ノードの音響スコアを加算する加算手段と、
前記注目ノードが前記木構造仮説のあらかじめ設定された位置に達していない場合、前記加算手段による加算結果から、前記親ノードが注目ノードであった時の言語スコア予測値を減じて前記注目ノードの言語スコア予測値を加算して得た値を、前記ルートノードから前記注目ノードまでのパスで表現される連接仮説の尤度とし、
前記注目ノードが前記木構造仮説の前記あらかじめ設定された位置に達している場合、前記加算手段による加算結果を、前記ルートノードから前記注目ノードまでのパスで表現される連接仮説の尤度とする、尤度計算手段と、
を含むことを特徴とする音声認識装置。
【請求項２】
前記あらかじめ設定された位置は、リーフノードであることを特徴とする請求項１に記載の音声認識装置。
【請求項３】
前記あらかじめ設定された位置は、あらかじめ定められた数の階層であることを特徴とする請求項１に記載の音声認識装置。
【請求項４】
前記言語スコア予測値生成手段は、前記注目ノードを共有する各認識対象語の言語スコアのうち最大のものを、前記注目ノードの言語スコア予測値とすることを特徴とする請求項２または３に記載の音声認識装置。
【請求項５】
認識対象語の一部を表す仮説をノードとする木構造仮説のノードに対して、ルートノードから注目ノードまでのパスで表現される連接仮説の入力音声に対する尤度を、音響的な尤もらしさを表す音響スコアと言語的な尤もらしさを表す言語スコアとを用いて計算する音声認識方法であって、
注目ノードを共有する各認識対象語の言語スコアに基づいて前記注目ノードの言語スコア予測値を生成する言語スコア予測値生成工程と、
ルートノードから前記注目ノードの親ノードまでのパスで表現される連接仮説の尤度に前記注目ノードの音響スコアを加算する加算工程と、
前記注目ノードが前記木構造仮説のあらかじめ設定された位置に達していない場合、前記加算工程での加算結果から、前記親ノードが注目ノードであった時の言語スコア予測値を減じて前記注目ノードの言語スコア予測値を加算して得た値を、前記ルートノードから前記注目ノードまでのパスで表現される連接仮説の尤度とし、
前記注目ノードが前記木構造仮説の前記あらかじめ設定された位置に達している場合、前記加算工程での加算結果を、前記ルートノードから前記注目ノードまでのパスで表現される連接仮説の尤度とする、尤度計算工程と、
を含むことを特徴とする音声認識方法。
【請求項６】
コンピュータを、請求項１乃至４のいずれか１項に記載の音声認識装置が有する各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声認識装置および方法に関する。
【背景技術】
【０００２】
音声認識の認識単語の尤度計算において、認識単語の共有可能な部分仮説を共有し、木構造仮説を生成して探索を行う手法が知られている。この手法によれば、複数の認識単語で仮説を共有することにより、尤度計算と探索の回数を削減できるため、高速に尤度計算を進めることができる。
【０００３】
ところで、音声認識では単に音響的な性質を表す音響スコアのみから尤度計算を行うのではでなく、単語同士の接続のしやすさや単語の出現しやすさを表す言語スコアを尤度計算に加味することがある。言語スコアを導入することで、例えば接続し得ない単語列の候補などを効果的に削除することができ、認識精度や認識速度を高めることができる。
【０００４】
しかし、上記の木構造仮説には、単語先頭から言語スコアを適用できないという問題がある。図７を参照してこの問題を解説する。同図（ａ）は単語ごとに生成される仮説の例、（ｂ）は複数単語間で共有される木構造仮説の例である。（ａ）においては、たとえば参照番号６０１で示される“ａ”は、単語を構成する音素に対応する仮説である。これは（ｂ）では木構造仮説のノードとなっている。この仮説６０１はＨＭＭ（Hidden Malcov Model）によって複数の状態仮説によって構成されることが多い。ここで、（ａ）では先頭の仮説によって単語が一意に決まるため、先頭の仮説から対応する言語スコアを尤度計算に加味できる。それに対して（ｂ）では、複数の単語で仮説を共有しているため、どの単語の言語スコアを適用すればよいか決まらない。そのため、単語が一意に決まる仮説まで正しい言語スコアをかけることができない。このとき、本来ならば言語スコアが非常に低く、削除して構わない仮説についても、仮説が共有されなくなるまで言語スコアをかけることができず、言語スコアをかけるまでの尤度計算が無駄になってしまう。
【０００５】
この問題を解決するために、特許文献１では、それぞれの仮説において、その仮説を共有する単語間で最大となる言語スコアが尤度に加味されるように補正値を持たせ、単語末においてこの補正値を減じて正しい言語スコアを足している。この様子を図８に示す。同図のように各仮説において、その仮説を共有する単語間で最大となる言語スコアを言語スコア予測値として尤度に加味されるように各仮説に補正値を持たせる。例えば同図の場合、先頭ノード“ｈ”において補正値Ａを、その子ノード“ａ”には補正値０を、子ノード“ｅ”には補正値（Ｄ−Ａ）を持たせる。これによって尤度計算時に各仮説で補正値を加算していくことで同図に示された言語スコア予測値が尤度に加味されていく。そして、単語末においてこの補正値の合計（すなわち単語末の仮説における言語スコア予測値）を減じ、正しい言語スコアを加える。こうすることにより、複数の単語で共有している仮説、単語先頭の仮説についても、言語スコア予測値を加味することができるので、言語スコア予測値が悪い場合には単語先頭で仮説を削除するといった効率化が可能となる。
【０００６】
【特許文献１】特開平７−２９５５８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の方法では、木構造辞書の仮説ごとに補正値を加えて言語スコア予測値を更新した上、さらに単語末においてこれらの補正値を減じて正しい言語スコアを加えなおすため、言語スコアの更新にかかる演算量の増加が問題となる。
【０００８】
従って、前述した言語スコア予測値の更新をある程度省略しつつ、単語先頭から言語スコア予測値を尤度計算に加味できることが音声認識の高速化にとって望ましい。
【課題を解決するための手段】
【０００９】
本発明の一側面は、認識対象語の一部を表す仮説をノードとする木構造仮説のノードに対して、ルートノードから注目ノードまでのパスで表現される連接仮説の入力音声に対する尤度を、音響的な尤もらしさを表す音響スコアと言語的な尤もらしさを表す言語スコアとを用いて計算する音声認識装置に係り、注目ノードを共有する各認識対象語の言語スコアに基づいて前記注目ノードの言語スコア予測値を生成する言語スコア予測値生成手段と、ルートノードから前記注目ノードの親ノードまでのパスで表現される連接仮説の尤度に前記注目ノードの音響スコアを加算する加算手段と、前記注目ノードが前記木構造仮説のあらかじめ設定された位置に達していない場合、前記加算手段による加算結果から、前記親ノードが注目ノードであった時の言語スコア予測値を減じて前記注目ノードの言語スコア予測値を加算して得た値を、前記ルートノードから前記注目ノードまでのパスで表現される連接仮説の尤度とし、前記注目ノードが前記木構造仮説の前記あらかじめ設定された位置に達している場合、前記加算手段による加算結果を、前記ルートノードから前記注目ノードまでのパスで表現される連接仮説の尤度とする、尤度計算手段とを含むことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、音声認識において、木構造仮説の先頭から言語スコア予測値によって言語制約を尤度計算に加味することができると共に、所定の仮説で言語スコア予測値の更新処理を止めるので、音声認識処理の高速化が可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。なお、本発明は以下の実施形態に限定されるものではなく、本発明の実施に有利な具体例を示すにすぎない。また、以下の実施形態の中で説明されている特徴の組み合わせの全てが本発明の課題解決手段として必須のものであるとは限らない。
【００１２】
図１Ａは、本実施形態における音声認識装置のハードウェア構成例を示すブロック図である。本装置は専用のハードウェアロジックで実現してもよいが、典型的には、図示のようなＣＰＵを用いたコンピュータシステムで実現されうる。
【００１３】
この音声認識装置は、装置全体の制御をつかさどるＣＰＵ１、ブートプログラムや固定的なデータを記憶しているＲＯＭ２、主記憶装置として機能するとともにＣＰＵ１のワークエリアを提供するＲＡＭ３をはじめ、以下の構成を備える。
【００１４】
ＨＤＤ４はハードディスク装置である。ここには、図示するように、ＯＳをはじめ、音声認識プログラム、音声認識に使用される認識辞書、音響モデル、言語モデルが格納される。
【００１５】
また、ＶＲＡＭ５は表示しようとするイメージデータを展開するメモリであり、ここにイメージデータ等を展開することでＣＲＴ６に表示させることができる。７は各種設定を行うためのキーボードおよびマウスである。８は音声を入力するマイクロホン、９は外部装置あるいはネットワークに接続するためのインタフェース（Ｉ／Ｆ）である。音声認識の対象となるマイクロホン８を用いて収集された音声データでもよいし、Ｉ／Ｆ９を介して受信した音声データでもよい。
【００１６】
図１Ｂは、上記した音声認識装置の機能構成を表すブロック図である。
【００１７】
同図において、音響処理部１０１は、入力音声を解析して音声特徴量を抽出する。尤度計算部１０２は、音声特徴量を入力として音響スコア、言語スコアを計算して認識単語に対する尤度を求める。木構造仮説生成部１０３は、尤度計算に用いる認識単語の仮説列を認識単語間で共有した木構造仮説を生成し、図１Ａに示されるように、たとえばＲＡＭ３に格納する。言語スコア予測値生成部１０４は、木構造仮説の各仮説の言語スコア予測値を求める。言語スコア予測値更新部１０５は、所定の仮説の言語スコア予測値を更新して尤度に反映する。言語スコア予測値更新停止部１０６は、所定の仮説の言語スコア予測値の更新を止める。
【００１８】
同図を用いて本実施形態における音声認識装置の動作を説明する。
【００１９】
キーボード／マウス７より音声認識開始の指示が与えられると、音声認識処理が開始され、たとえばマイクロホン８を介して音声を入力する。音響処理部１０１は、入力音声を短時間のフレームに分割し、各フレームの音声信号を解析して音声特徴量を抽出し、尤度計算部１０２に送る。尤度計算部１０２は入力された音声特徴量とＨＤＤ４に記憶されている音響モデルとに基づいて、尤度計算を行う。ここで、認識単語の仮説を木構造仮説生成部１０３によって生成し、生成された木構造仮説を探索しながら尤度計算を進める。
【００２０】
図２は、本実施形態における尤度計算処理の一例を示すフローチャートである。言語スコア予測値生成部１０４は、それぞれの仮説の言語スコア予測値を求める（ステップＳ１）。図３に言語スコア予測値を求める様子を示す。同図の木構造辞書中、太線で示した仮説“ａ”は、認識単語“鳩”、“橋”、“箸”によって共有されている。ここでは、それぞれの認識単語の言語スコアの中で、最大値となる言語スコアを仮説“a”における言語スコア予測値とする。同図において、“鳩”、“橋”、“箸”それぞれの言語スコアＡ、Ｂ、Ｃの大小関係はＡ＞Ｂ＞Ｃであるとする。したがって、仮説“a”の言語スコア予測値は、Ａ，Ｂ，Ｃの中で最大の値をもつＡとする。なお、言語スコア予測値生成部１０４は、音声入力前にあらかじめ各仮説の言語スコア予測値を求めておいても良いし、尤度計算における仮説探索中に必要に応じて言語スコア予測値を求めても良い。言語スコアとしては、たとえばＮ−Ｇｒａｍスコア（隣接するＮ個の単語列の出現頻度スコア）を用いる。この場合、言語スコアは先行単語に応じて変わるため、同じノードであっても言語スコア予測値が同じであるとは限らない。言語スコア予測値は、図１Ａに示されるように、たとえばＲＡＭ３に記憶される。もちろん、ＲＡＭ３ではなくＨＤＤ４に格納するようにしても良い。
【００２１】
言語スコア予測値更新部１０５は、この言語スコア予測値を用い、各仮説において尤度に反映する言語スコア予測値を更新し、尤度計算部１０２に渡す。図４は、仮説間を遷移した際に、言語スコア予測値更新部１０５が尤度に反映する言語スコア予測値を更新する処理を表す図である。同図において、S(a,t-1)が、仮説“a”、時刻t-1における尤度である。この尤度は、ルートノードから当該仮説“a”の注目ノードまでのパスで表現される連接仮説の尤度（すなわち、発声開始からの累積スコア）である。この値は既に“a”における言語スコア予測値Sl(a)を含んだ値である。ここで時刻ｔに仮説“a”から仮説“sh”に遷移したときの尤度S(sh,t)は、同図に示すとおり、親ノードの仮説“a”の尤度S(a,t-1)に仮説“a”の音響スコアSa(sh,t)を加えることで算出される。さらにここで、親ノードの仮説“a”のS(a,t-1)に既に含まれている言語スコア予測値Sl(a)を減じたうえで仮説“sh”での言語スコア予測値Sl(sh)を加えることで、言語スコア予測値の更新が行われる。
【００２２】
ただし、言語スコア予測値更新停止部１０６によって、所定の仮説において言語スコア予測値更新部１０５による言語スコア予測値の更新が打ち切られる。図５は、単語末（すなわち、リーフノード）の仮説において言語スコア予測値の更新を打ち切った例を示している。要するに、この場合の処理としては、基本的には、言語スコア予測値更新部１０５は、尤度計算部１０２が木構造仮説を探索していくに従って各仮説で言語スコア予測値を更新する（ステップＳ３）。ただし、実際にはたとえばその前に、注目ノードが単語末（リーフノード）であるかどうかを判断し（ステップＳ２）、注目ノードが単語末である場合には、言語スコア予測値更新停止部１０６によって言語スコア予測値の更新が停止される（ステップＳ４）。
【００２３】
図５の例では、単語末の仮説から遷移して木構造を抜けたときに認識単語が確定し、ここで言語スコアが与えられる。ただし、ここで言語スコア予測値の更新を停止しているので、正しい言語スコアを与えることなく単語末の言語スコア予測値をそのまま採用して尤度に反映させる。例えば、同図において“橋”と“箸”は本来、別の言語スコアを有し、従来であれば、単語末の仮説から抜けて別々に尤度を出す際に正しい言語スコアを与えるようにしていた。従来は、常にこのような更新を最後まで行っていたので、言語スコアの更新にかかる演算量の増加が問題となっていた。これに対し、本実施形態では、上記のように言語スコア予測値の更新を単語末で停止しているので、単語末仮説“i”の言語スコア予測値Ｂがそのまま“橋”と“箸”それぞれの尤度に加味される。このように、実際には、単語先頭からある程度進んだ仮説までで求めた言語スコア予測値で、尤度計算に対する言語制約の加味も、言語スコアを考慮した不要仮説の削除も、十分に行うことが可能である。また、いったん粗い音響モデル／言語モデルで尤度計算を行い、絞られた仮説列に対して詳細な音響モデル／言語モデルで尤度を再計算する方式（２パスデコーディング）が知られている。この２パスデコーディングを採用する場合には、最初に計算する時点で正確な言語スコアを用いなくとも、後から正しくより詳細な言語スコアで再計算が可能である。
【００２４】
以上、本発明の実施形態を説明したが、さまざまな変形が可能である。
【００２５】
例えば、上記実施形態では、言語スコア予測値更新停止部１０６が言語スコア予測値の更新を止める位置は、単語末（リーフノード）に限定されるものではない。たとえば図６に示すように、木構造仮説におけるあらかじめ定められた数の階層（同図では第３階層）で言語スコア予測値の更新を停止し、後続する仮説では親ノードにあたる仮説の言語スコア予測値をそのまま継承するようにしてもよい。そして単語末における各単語の尤度計算時も正しい言語スコアをに更新せずに継承した言語スコア予測値をそのまま用いる。そのため同図では、木構造仮説は同じ仮説系列を有する“橋”と“箸”は同じ言語スコア予測値Ｂが、３階層目以後に仮説が分岐する“ヘルプ”と“ヘリ”は同じ言語スコア予測値Ｄが、それぞれの尤度に加味されることになる。
【００２６】
また、上記実施形態では、言語スコア予測値として、その仮説を共有する認識単語の言語スコアのうちの最大値を用いたが、このかわりに、例えばその仮説を共有する認識単語の言語スコアのうちの平均値あるいは中間値を用いても良い。
【００２７】
（他の実施形態）
以上、本発明の実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００２８】
なお、本発明は、前述した実施形態の各機能を実現するプログラムを、システムまたは装置に直接または遠隔から供給し、そのシステムまたは装置に含まれるコンピュータがその供給されたプログラムコードを読み出して実行することによっても達成される。
【００２９】
従って、本発明の機能・処理をコンピュータで実現するために、そのコンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、上記機能・処理を実現するためのコンピュータプログラム自体も本発明の一つである。
【００３０】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００３１】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、記録媒体としては、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【００３２】
また、プログラムは、クライアントコンピュータのブラウザを用いてインターネットのホームページからダウンロードしてもよい。すなわち、ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードしてもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードする形態も考えられる。つまり、本発明の機能・処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明の構成要件となる場合がある。
【００３３】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布してもよい。この場合、所定条件をクリアしたユーザにのみ、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報で暗号化されたプログラムを復号して実行し、プログラムをコンピュータにインストールしてもよい。
【００３４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現されてもよい。なお、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ってもよい。もちろん、この場合も、前述した実施形態の機能が実現され得る。
【００３５】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ってもよい。このようにして、前述した実施形態の機能が実現されることもある。
【図面の簡単な説明】
【００３６】
【図１Ａ】実施形態における音声認識装置のハードウェア構成を示すブロック図である。
【図１Ｂ】実施形態における音声認識装置の機能構成を表すブロック図である。
【図２】実施形態における音声認識装置による尤度計算処理を示すフローチャートである。
【図３】実施形態における言語スコア予測値の生成方法を説明する図である。
【図４】実施形態における言語スコア予測値の更新処理を説明する図である。
【図５】実施形態における単語末ノードで言語スコア予測値の更新を停止する例を説明する図である。
【図６】実施形態における特定階層で言語スコア予測値の更新を停止する例を説明する図である。
【図７】（ａ）は従来の単語ごとに生成される仮説の例、（ｂ）は従来の複数単語間で共有される木構造仮説の例を示す図である。
【図８】従来の音声認識における言語スコア予測手法を説明する図である。
【図１Ａ】
0004822829.tif 000002
【図１Ｂ】
0004822829.tif 000003
【図２】
0004822829.tif 000004
【図３】
0004822829.tif 000005
【図４】
0004822829.tif 000006
【図５】
0004822829.tif 000007
【図６】
0004822829.tif 000008
【図７】
0004822829.tif 000009
【図８】
0004822829.tif 000010