(57)【特許請求の範囲】
【請求項１】
状態数と状態遷移の構造とが共通である複数の音響モデルを記憶する第１記憶部と、
始端を表す始端ノードと、終端を表す終端ノードと、前記始端ノード及び終端ノードの間の少なくとも１つのノードとを有し、複数の前記音響モデルに共通の探索ネットワークを記憶する第２記憶部と、
音声の入力を受け付ける受付部と、
前記音声を用いて、音響特徴量を抽出する抽出部と、
前記音響特徴量と、複数の前記音響モデルと、前記探索ネットワークとを用いて、前記探索ネットワーク上で前記始端ノードから前記終端ノードに至るまでに経由するノードの系列を示す各経路に対して、複数の前記音響モデルのそれぞれに対応してスコアを計算する計算部と、
各前記経路のうち少なくとも１つの音響モデルに対応する前記スコアが最大である第１経路を選択することにより、前記探索ネットワーク上で前記始端ノードから前記終端ノードに至る最適な経路である前記第１経路を探索する探索部と、
前記音声の認識結果である前記第１経路を示す情報を出力する出力部とを備える
ことを特徴とする音声認識装置。
【請求項２】
前記第１記憶部は、隠れマルコフモデルで構成され且つ複数の前記音響モデル間で対応する前記隠れマルコフモデルの状態数と状態遷移の構造とが共通である前記音響モデルを記憶する
ことを特徴とする請求項１に記載の音声認識装置。
【請求項３】
前記計算部は、前記音響特徴量と、複数の前記音響モデルと、前記探索ネットワークとを用いて、前記始端ノードから前記終端ノードに至るまでに経由するノード毎に、複数の前記音響モデルのそれぞれに対応して第１スコアを計算し、前記始端ノードから当該ノードに至る第２経路を経由するノードに対応して各々計算した前記第１スコアを累積することにより、前記第２経路に対して複数の前記音響モデルのそれぞれに対応した前記スコアを計算し、
前記探索部は、前記始端ノードから前記終端ノードに至るまでに経由するノード毎に前記始端ノードから当該ノードに至る最適な経路を順次探索するものであり、前記始端ノードから、前記終端ノードに至るまでに経由するノードである第１ノードの１つ前に経由するノードであって前記第１ノードに到達し得る全ての第２ノードに至る各第３経路に対して少なくとも１つの音響モデルに対応する前記スコアが最大となる第４経路を選択することにより、前記始端ノードから前記第４経路を経由して前記第１ノードに至る最適な経路を探索する
ことを特徴とする請求項１に記載の音声認識装置。
【請求項４】
前記計算部は、前記音響特徴量と、複数の前記音響モデルと、前記探索ネットワークとを用いて、前記始端ノードから前記終端ノードに至るまでに経由するノード毎に、複数の前記音響モデルのそれぞれに対応して第１スコアを計算し、前記始端ノードから当該ノードに至る第２経路を経由するノードに対応して各々計算した前記第１スコアを累積することにより、前記第２経路に対して前記スコアを計算し、
前記探索部は、前記始端ノードから前記終端ノードに至るまでに経由するノード毎に前記始端ノードから当該ノードに至る最適な経路を順次探索するものであり、前記始端ノードから、前記終端ノードに至るまでに経由するノードである第１ノードに至る経路である第３経路が１つである場合、当該第３経路に対して複数の前記音響モデルのそれぞれに対応して計算された前記スコアと、前記始端ノードから前記第１ノードの１つ前に経由する第２ノードに至る第４経路に対して複数の前記音響モデルのそれぞれに対応して計算された前記スコアとのうち、前記音響モデル毎に最大のスコアを選択し、選択したスコアを前記第３経路に対するスコアに更新して、前記始端ノードから前記第１ノードに至る最適な経路である前記第３経路を探索する
ことを特徴とする請求項１に記載の音声認識装置。
【請求項５】
前記ノード及び前記ノード間の遷移を表すアークのうち少なくとも一方の全部又は一部に、音素及び単語のうち少なくとも一方であるラベルが付与され、
前記出力部は、前記第１経路において前記始端ノードから前記終端ノードに至るまでに経由するノード及び前記ノード間の遷移を表すアークのうち少なくとも一方の全部又は一部に付与された前記ラベルの系列を示す前記情報を出力する
ことを特徴とする請求項１に記載の音声認識装置。
【請求項６】
状態数と状態遷移の構造とが共通である複数の音響モデルを記憶する第１記憶部と、始端を表す始端ノードと、終端を表す終端ノードと、前記始端ノード及び終端ノードの間の少なくとも１つのノードとを有し、複数の前記音響モデルに共通の探索ネットワークを記憶する第２記憶部と、受付部と、抽出部と、計算部と、探索部と、出力部とを備える音声認識装置で実行される音声認識方法であって、
前記受付部が、音声の入力を受け付けるステップと、
前記抽出部が、前記音声を用いて、音響特徴量を抽出するステップと、
前記計算部が、前記音響特徴量と、複数の前記音響モデルと、前記探索ネットワークとを用いて、前記探索ネットワーク上で前記始端ノードから前記終端ノードに至るまでに経由するノードの系列を示す各経路に対して、複数の前記音響モデルのそれぞれに対応してスコアを計算するステップと、
前記探索部が、各前記経路のうち少なくとも１つの音響モデルに対応する前記スコアが最大である第１経路を選択することにより、前記探索ネットワーク上で前記始端ノードから前記終端ノードに至る最適な経路である前記第１経路を探索するステップと、
前記出力部が、前記音声の認識結果である前記第１経路を示す情報を出力するステップとを含む
ことを特徴とする音声認識方法。
【請求項７】
状態数と状態遷移の構造とが共通である複数の音響モデルを記憶する第１記憶部と、始端を表す始端ノードと、終端を表す終端ノードと、前記始端ノード及び終端ノードの間の少なくとも１つのノードとを有し、複数の前記音響モデルに共通の探索ネットワークを記憶する第２記憶部とを備える音声認識装置の有するコンピュータを、
音声の入力を受け付ける受付手段と、
前記音声を用いて、音響特徴量を抽出する抽出手段と、
抽出された前記音響特徴量と、複数の前記音響モデルと、前記探索ネットワークとを用いて、前記探索ネットワーク上で前記始端ノードから前記終端ノードに至るまでに経由するノードの系列を示す各経路に対して、複数の前記音響モデルのそれぞれに対応してスコアを計算する計算手段と、
各前記経路のうち少なくとも１つの音響モデルに対応する前記スコアが最大である第１経路を選択することにより、前記探索ネットワーク上で前記始端ノードから前記終端ノードに至る最適な経路である前記第１経路を探索する探索手段と、
前記音声の認識結果である前記第１経路を示す情報を出力する出力手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、音声認識装置、音声認識方法及び音声認識プログラムに関する。
【背景技術】
【０００２】
従来より、音声認識装置においてロバスト性の高い音声認識を行うためには、例えば、特許文献１及び特許文献２に開示されているように、複数の音響モデルに対して、複数の経路探索部（デコーダ）を同時に用いることにより複数の最適な単語の系列からなる経路を計算する方法か、もしくは特許文献３に開示されているように、単一の経路探索部を順次用いることにより複数の最適な単語の系列からなる経路を計算する方法があった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２２１６７８公報
【特許文献２】特開２００３−１０８１８８公報
【特許文献３】特開２００７−２２５９３１公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の方法では、ロバスト性の高い音声認識を行うための計算コストや計算に際して使用するメモリ量が増大する恐れがあった。特に、複数の音響モデルを用いた計算を行う方法においては、計算コストや計算に際して使用するメモリ量が顕著に増大する恐れがあった。
【課題を解決するための手段】
【０００５】
実施形態の音声認識装置は、状態数と状態遷移の構造とが共通である複数の音響モデルを記憶する第１記憶部と、始端を表す始端ノードと、終端を表す終端ノードと、前記始端ノード及び終端ノードの間の少なくとも１つのノードとを有し、複数の前記音響モデルに共通の探索ネットワークを記憶する第２記憶部と、音声の入力を受け付ける受付部と、前記音声を用いて、音響特徴量を抽出する抽出部と、前記音響特徴量と、複数の前記音響モデルと、前記探索ネットワークとを用いて、前記探索ネットワーク上で前記始端ノードから前記終端ノードに至るまでに経由するノードの系列を示す各経路に対して、複数の前記音響モデルのそれぞれに対応してスコアを計算する計算部と、各前記経路のうち少なくとも１つの音響モデルに対応する前記スコアが最大である第１経路を選択することにより、前記探索ネットワーク上で前記始端ノードから前記終端ノードに至る最適な経路である前記第１経路を探索する探索部と、前記音声の認識結果である前記第１経路を示す情報を出力する出力部とを備えることを特徴とする。
【図面の簡単な説明】
【０００６】
【図１】本実施の形態に係る音声認識装置の機能的構成を例示する図。
【図２】探索ネットワークを例示する図。
【図３】トークンパッシングの手法による最適経路の探索を説明するための図。
【図４】音声認識処理の手順を示すフローチャート。
【図５】図４のステップＳ３の処理の詳細な手順を示すフローチャート。
【図６】累積スコアリストの更新例を示す図。
【図７】累積スコアリストの更新例を示す図。
【図８】本変形例に係る最適経路の探索を説明するための図。
【発明を実施するための形態】
【０００７】
[第１の実施形態]
まず、音声認識装置のハードウェア構成について説明する。本実施の形態に係る音声認識装置は、装置全体を制御するＣＰＵ（Central Processing Unit）等の制御部と、各種データや各種プログラムを記憶するＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）等の主記憶部と、各種データや各種プログラムを記憶するＨＤＤ（Hard Disk Drive）やＣＤ（Compact Disk）ドライブ装置等の補助記憶部と、これらを接続するバスとを備えており、通常のコンピュータを利用したハードウェア構成となっている。また、音声認識装置には、音声が入力される音声入力部が有線又は無線により各々接続される。
【０００８】
次に、このようなハードウェア構成において、本実施の形態に係わる音声認識装置の機能的構成について図１を用いて説明する。音声認識装置１００は、音声入力受付部１０１と、音響特徴量抽出部１０２と、音響モデル記憶部１０３と、探索ネットワーク記憶部１０４と、経路探索部１０５とを有する。音声入力受付部１０１と、音響特徴量抽出部１０２と、経路探索部１０５とは、制御部が主記憶部や補助記憶部に記憶された各種プログラムを実行することにより各々実現される。音響モデル記憶部１０３と、探索ネットワーク記憶部１０４とは、例えば補助記憶部に構成されるものである。
【０００９】
音声入力受付部１０１は、音声入力部に入力された音声を表すアナログの音声信号の入力を受け付け、これをデジタルの音声信号に変換する。音響特徴量抽出部１０２は、音声入力受付部１０１がデジタルに変換した音声信号を用いて時刻毎の音響特徴量を抽出する。音響モデル記憶部１０３は、複数（例えばＭ個）の音響モデルを記憶する。音響モデルとしては、例えば音素単位の隠れマルコフモデル（ＨＭＭ）などを用いても良い。ただし複数の音響モデルは、後述する探索ネットワーク記憶部１０４に記憶された単一の探索ネットワークを用いて経路探索部１０５が探索可能な共通の構造を有するものとする。例えば、音響モデルが音素単位の隠れマルコフモデルの場合には、複数の音響モデル間で対応する音素モデルの状態数及び状態遷移の構造が共通であることなどが挙げられる。 
【００１０】
探索ネットワーク記憶部１０４は、単一の探索ネットワークを記憶する。図２は、探索ネットワークを例示する図である。探索ネットワークは、図中において丸印で表されるノードと、ノード間の遷移を矢印で表したアークとにより構成される。ノードのうち、始端を表すものが始端ノードSであり、終端を表すものが終端ノードEである。始端ノードSから終端ノードEに至るまでのノードの系列を示すものが経路となる。各ノード及び各アークの一部又は全てには、ラベルが付与されている。このラベルは、探索ネットワーク上のノード及びアークを各々識別するための任意の識別子であっても良いし、各ノードやアークに対応付けられる音素や単語であっても良く、求められている音声認識結果によって変更可能である。また、全てのノード及びアークにラベルを付与する必要はない。同図に示される探索ネットワークの例では、各ノードに数字による識別子が各々付与され、各アークに単語が各々付与されている。具体的には、各ノードに「１」〜「６」のラベルが各々付与されており、ノード２からノード３へ至るアークにラベル「単語１」が付与されており、ノード２からノード５へ至るアークにラベル「単語２」が付与されており、ノード１からノード４へ至るアークにラベル「単語３」が付与されている。
【００１１】
探索ネットワークのノードnは、時刻tにおいてm番目（1≦m≦M）の音響モデルに対応する音響スコアlm(t,n)を、音響モデルの数（M個）だけ保持する音響スコアリストscr(t,n)を有する。scr(t,n)は例えば式１により表される。
【００１２】
【数１】
0005161942.tif 000002
【００１３】
但し、音響スコアリストは、各ノードに対応したものが参照できれば良く、ノード自身に保持させることに限定するものではない。
【００１４】
一方、ノードｊからノードiへ至るアークは、m番目（1≦m≦M）の音響モデルに対応する遷移スコアamjiを、音響モデルの数（M個）だけ保持する遷移スコアリストtrans(j,i)を有する。trans(j,i) は例えば式２により表される。
【００１５】
【数２】
0005161942.tif 000003
【００１６】
但し、遷移スコアリストは、各アークに対応したものが参照できれば良く、アーク自身に保持させることに限定するものではない。
【００１７】
経路探索部１０５は、音響特徴量抽出部１０２が抽出した音響特徴量と、音響モデル記憶部１０３に記憶された複数の音響モデルと、探索ネットワーク記憶部１０４に記憶された探索ネットワークとを用いて、音声入力部に入力された音声の認識の結果として最適な経路（最適経路という）を探索する。このとき、経路探索部１０５は、始端ノードSから終端ノードEに至るまでに経由するノード毎に、始端ノードSから当該ノードに至る最適経路を順次探索することにより、始端ノードSから終端ノードEに至る最適経路を探索する。そして、経路探索部１０５は、始端ノードSから終端ノードEへ至る最適経路を経由するノードに付与されたラベル及び当該ノード間の遷移を示すアークに付与されたラベルのうち少なくとも一方を示す経路履歴情報を生成してこれを音声認識結果として出力する。ここでは、経路履歴情報は、経路上のアークにラベルとして付与された単語を示すものとする。
【００１８】
探索の方法としては、例えば、以下の参考文献１に示されるように、探索ネットワーク上のトークンの伝播を用いた手法（トークンパッシング）がある。
（参考文献１）Ｓ．Ｊ．Ｙｏｕnｇ，Ｎ．Ｈ．Ｒｕｓｓｅｌｌ，ａnｄ  Ｊ．Ｈ．Ｓ．Ｔｈｏｒntｏn，“Ｔｏｋｅn  Ｐａｓｓinｇ：  ａ  Ｃｏnｃｅｐtｕａｌ  Ｍｏｄｅｌ  ｆｏｒ  Ｃｏnnｅｃtｅｄ  Ｓｐｅｅｃｈ  Ｒｅｃｏｇnitiｏn  Ｓｙｓtｅｍｓ”ＣＵＥＤ  Ｔｅｃｈniｃａｌ  Ｒｅｐｏｒt  Ｆ  ＩＮＦＥＮＧ／ＴＲ３８，Ｃａｍｂｒiｄｇｅ  Ｕniｖｅｒｓitｙ，１９８９．
【００１９】
トークンパッシングの手法では、図３に例示されるように、経路探索部１０５は、時刻tで到達し得る探索ネットワーク中のノードnに対して、始端ノードSから当該ノードnまでの経路上のアークに付与された単語を示す経路履歴情報hist(t,n)と、複数の音響モデルに各々対応する音響スコアを累積して保持する累積スコアリストcumscr(t,n)とを有するトークンtoken(t,n)を生成する。経路探索部１０５は、探索ネットワーク中の経路上を経由するノードにこのトークンを伝播させることによって経路履歴情報及び累積スコアリストを更新して最適経路を探索する。同図では、「t=2」の時刻tにおいて、始端ノードSからノード１、ノード２及びノード４までトークンが伝播された場合の例が示されている。尚、累積スコアリストcumscr(t,n)は例えば以下の式３によりM次元のベクトルで表される。
【００２０】
【数３】
0005161942.tif 000004
【００２１】
式３において、Sｍ(t,n)（1≦ｍ≦M）は、始端ノードSから時刻tにおけるノードnに至る経路に対してm番目の音響モデルに対応して累積された音響スコアである。尚、経路履歴情報及び累積スコアリストは、各トークンに対応したものが参照できれば良く、トークン自身に保持させることに限定するものではない。そのため、例えばＲＡＭなどの主記憶部のある記憶領域に、全トークンに関する経路履歴情報及び累積スコアリストを記憶させ、各トークンがそれらを参照する方法なども考えられる。
【００２２】
具体的には、経路探索部１０５は、時刻t-1における経路履歴情報hist(t-1,k)及び累積スコアリストcumscr(t-1,k)を有する全てのトークンtoken(t-1,k)の集合Vt-1を用いて、時刻tにおけるノードiのトークンtoken(t,i)を求め、始端ノードSから時刻tにおけるノードiに至る最適経路を求める。集合Vt-1とは、始端ノードSから当該ノードiに至る経路において当該ノードiの１つ前に経由するノードであって時刻t-1に到達可能なノードが有するトークンの集合を表し、最適経路の探索において枝刈り処理（最適経路の候補の絞り込み）を行う場合には、枝刈りされずに残っているトークンの集合を意味する。 
【００２３】
始端ノードSから時刻tにおけるノードiに至る最適経路を求めるためには、経路探索部１０５は、まずトークン集合Vt-1に含まれる全トークンのうち、時刻tにノードiに遷移し得るトークンの集合V→(t,i)を選択する。次に、経路探索部１０５は、選択したトークン集合V→(t,i)が保持する全ての累積スコアリストcumscr(t-1,k) （ただしkはtoken(t-1,k)∈V→(t,i)を満たす全てのノード番号）と、上述の式２で表される遷移スコアリストtrans(k,i)とのM個の音響モデルに各々対応する値の和（累積）で求められるスコアのうち、最大のスコアを持つノードを最適ノードj*として式４により選択する。
【００２４】
【数４】
0005161942.tif 000005
【００２５】
そして、経路探索部１０５は、最適ノードj*に対応するトークンを最適トークンtoken(t-1,j*)としてノードiに伝播させ、最適トークンtoken(t-1,j*)の累積スコアリストcumscr(t-1,j*)と、遷移スコアリストtrans(j*,i)と、時刻tにおけるノードiで抽出された音響特徴量に対する音響スコアリストscr(t,i)とを用いて、トークンtoken(t,i)の累積スコアリストcumscr(t,i)を式５により更新する。
【００２６】
【数５】
0005161942.tif 000006
【００２７】
トークンtoken(t,i)の有する経路履歴情報hist(t,i)は、最適ノードj*からノードiへ至る遷移を表すアークにラベル「w」が付与されている場合、式６に表されるように、hist(t-1,j*)に「w」を追加することにより求められる。
【００２８】
【数６】
0005161942.tif 000007
【００２９】
また、最適ノードj*からノードiへ至る遷移を表すアークにラベルが付与されていない場合には、式７に表されるように、hist(t-1,j*)をそのままhist(t,i)に代入することで求められる。
【００３０】
【数７】
0005161942.tif 000008
【００３１】
経路探索部１０５は、これらの処理を、音声の入力が終了した時刻（終了時刻）「T」までの全ての時刻t（t=1,2,…,T）において行い、「t=T」である時刻tにおける終端ノードEに対応するトークンtoken(T,E)の有する経路履歴情報hist(T,E)が最適経路を示すものとしてこれを出力する。これが音声認識結果である。
【００３２】
尚、ラベルが探索ネットワークの全ノードに付与されている場合、上記の方法によって求められる最適経路は、当該最適経路を経由するノードの系列を意味する。図３の例では、あるノードからあるノードへ至る遷移を表すアークに単語のラベルが付与されているが、最適経路において取り扱う最小単位が単語である場合、各単語内で各音素の状態等の最適な経路を明示的に求める必要はなく、単語単位での最適な経路を求めれば良い。このような場合においては、時刻t-1で最適ノードj*に対応するトークンtoken(t-1,j*)を伝播させることにより求められるトークンtoken(t,i)が有する経路履歴情報と同一の経路履歴情報を有するトークンtoken(t-1,k)が複数存在することが考えられる。そのようなトークンの集合をV*→(t,i)としたとき、経路探索部１０５は、始端ノードSから時刻tにおけるノードiに至る経路において、M個の音響モデルに各々対応する値のうち、最大の値を選択し、これを用いて、ノードiに対応するトークンtoken (t,i)の有する累積スコアリストcumscr(t,i)を更新する。具体的には、経路探索部１０５は、式５の代わりに以下に示す式８を用いて、累積スコアリストcumscr(t,i)を更新する。
【００３３】
【数８】
0005161942.tif 000009
【００３４】
尚、kはtoken(t-1,k)∈V*→(t,i)を満たす全てのノード番号である。但し、経路探索部１０５は、式８を用いて累積スコアリストを更新した場合には、トークンtoken(t,i)の有する経路履歴情報hist(t,i)は、便宜的に式６又は式７を用いて更新することが望ましい。また、経路探索部１０５は、枝刈り条件に応じて、枝刈りする。具体的に例えば、枝刈り条件とは、各トークンに対応する累積スコアリストにおいて複数の音響モデルに対応して計算された各値の全てが閾値を下回ることである。経路探索部１０５は、このような枝刈り条件を満たすトークン自体を除去する。また、枝刈り条件とは、例えば、各トークンに対応する累積スコアリストにおいて少なくとも１つの音響モデルに対応して計算された値が閾値を下回ることであっても良い。経路探索部１０５は、このような枝刈り条件を満たす値を累積スコアリストから除去することにより、枝刈りする。
【００３５】
次に、本実施の形態に係る音声認識装置１００が行う音声認識処理の手順について図４を用いて説明する。音声認識装置１００は、音声入力受付部１０１の機能により、音声入力部に入力された音声を表すアナログの音声信号の入力を受け付け、これをデジタルの音声信号に変換する（ステップＳ１）。音声認識装置１００は、音響特徴量抽出部１０２の機能により、ステップＳ１でデジタルに変換した音声信号を用いて時刻毎の音響特徴量を抽出する（ステップＳ２）。音声認識装置１００は、経路探索部１０５の機能により、ステップＳ２で抽出された音響特徴量と、音響モデル記憶部１０３に記憶された複数の音響モデルと、探索ネットワーク記憶部１０４に記憶された探索ネットワークとを用いて、最適経路を探索する（ステップＳ３）。
【００３６】
図５は、図４のステップＳ３の処理の詳細な手順を示すフローチャートである。経路探索部１０５は、「t＝０」である時刻tに、初期処理として、始端ノードSから時刻tにおけるノードnに至る経路上のアークに付与された単語を経路として示す経路履歴情報hist(t,n)と、複数（M個）の音響モデルに対応する音響スコアを累積して保持する累積スコアリストcumscr(t,n)とを有するトークンを生成する（ステップＳ１０）。尚、「t=0」は、音声が入力される前の適当な時点であり、当該時刻tにおけるノードnは、始端ノードSである。このため、経路履歴情報によって示される単語はなく、累積スコアリストcumscr(t,n)の値は全て「０」である。
【００３７】
経路探索部１０５は、時刻tを「1」インクリメントすると（ステップＳ１１）、時刻tに到達し得るノードiを選択する。そして、経路探索部１０５は、始端ノードSからノードiに至る経路を経由するノード間の遷移を表すアークに付与された単語の系列を示すように経路履歴情報hist(t,i)を更新し、累積スコアリストを更新して、時刻tにおけるトークンを生成する（ステップＳ１２）。次に、経路探索部１０５は、時刻tに到達し得るノードiに伝播し得る全トークンの有している経路履歴情報が異なるか否かを判断する（ステップＳ１３）。当該判断結果が肯定的である場合（ステップＳ１３：ＹＥＳ）、経路探索部１０５は、時刻tにおけるノードiに対して、時刻t-1における経路履歴情報hist(t-1,k)及び累積スコアリストcumscr(t-1,k)を有する全てのトークンtoken(t-1,k)の集合Vt-1を用いて、時刻tにおけるノードiのトークンtoken(t,i)を求める。このとき、経路探索部１０５は、上述の式５を用いて、ノードiに対応するトークンの累積スコアリストcumscr(t,i)を計算する（ステップＳ１４）。例えば、「i=5」であるノード５に対して、図６に例示されるように、３つの音響モデルに対応して各々音響スコアが計算されている場合、ノード４の有するトークンの有する累積スコアリストが、ノード５に対応する累積スコアリストcumscr(t,5)として計算される。その後、ステップＳ１６に進む。
【００３８】
一方、ステップＳ１３の判断結果が否定的である場合（ステップＳ１３：ＮＯ）、経路探索部１０５は、時刻tにおけるノードiに対して、時刻t-1における経路履歴情報hist(t-1,k)及び累積スコアリストcumscr(t-1,k)を有する全てのトークンtoken(t-1,k)の集合Vt-1を用いて、時刻tにおけるノードiのトークンtoken(t,i)を求める。このとき、経路探索部１０５は、上述の式８を用いて、時刻tにおけるノードiに対応するトークンの累積スコアリストcumscr(t,i)を計算する（ステップＳ１５）。例えば、「i=3」であるノード３に対して、図７に例示されるように、３つの音響モデルに対応して各々音響スコアが計算されている場合、一番目の音響スコアについては、ノード２の音響スコアの値が選択され、２番目の音響スコアについては、ノード３の音響スコアの値が選択され、３番目の音響スコアについては、ノード３の音響スコアの値が選択されて、累積スコアリストcumscr(t,3)が計算される。その後、ステップＳ１６に進む。
【００３９】
ステップＳ１６では、経路探索部１０５は、式６又は式７を用いて、時刻tにおけるノードiの経路履歴情報を更新する。そして、経路探索部１０５は、時刻tにおけるノードiに対応するトークンが枝刈りの条件に合致するか否かを判断する（ステップＳ１７）。当該判断結果が肯定的である場合（ステップＳ１７：ＹＥＳ）、経路探索部１０５は、当該トークンを除去して（ステップＳ１９）、ステップＳ１８に進み、当該判断結果が否定的である場合（ステップＳ１７：ＮＯ）、ステップＳ１８に進む。ステップＳ１８では、経路探索部１０５は、時刻tまでに到達し得るノードi以外のノードがあるか否かを判断し、当該判断結果が肯定的である場合（ステップＳ１８：ＹＥＳ）、ステップＳ１２に進み、当該ノードi以外のノードについて上述と同様にして処理を行う。一方、ステップＳ１８の判断結果が否定的である場合（ステップＳ１８：ＮＯ）、経路探索部１０５は、時刻tが終了時刻「T」に達したか否かを判断する（ステップＳ２０）。当該判断結果が否定的である場合（ステップＳ２０：ＮＯ）、ステップＳ１１に進み、当該判断結果が肯定的である場合（ステップＳ２０：ＹＥＳ）、経路探索部１０５は、「t=T」の時刻tにおける終端ノードEに対応するトークンの保持する経路履歴情報を出力する（ステップＳ２１）。この経路履歴情報によって示される経路が最適経路であり、ステップＳ１で入力が受け付けられた音声の認識結果を示す。
【００４０】
以上のように、本実施の形態に係わる音声認識装置によれば、複数の音響モデルを用いて単一の探索ネットワーク上において、複数の音響モデルに各々対応した音響スコアの累積を計算して最適経路を探索することで、計算コストや計算の際に使用するメモリ量の増加を抑えつつ、ロバスト性の高い音声認識を行うことが可能となる。
【００４１】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。
【００４２】
上述した実施の形態において、音声認識装置１００で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に記憶し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供するように構成しても良い。
【００４３】
上述した実施の形態において、経路探索部１０５が最適経路を探索する方法は、上述の例に限らず、例えば、参考文献２に示される動的計画法を用いた手法を用いても良い。
（参考文献２）Ｌ．Ｒａｂinｅｒ  ａnｄ  Ｂ．−Ｈ．Ｊｕａnｇ，“Ｆｕnｄａｍｅntａｌｓ  ｏｆ  Ｓｐｅｅｃｈ  Ｒｅｃｏｇnitiｏn”，Ｐｒｅntiｃｅ  Ｈａｌｌ  Ｓiｇnａｌ  Ｐｒｏｃｅｓｓinｇ  Ｓｅｒiｅｓ，ｐｐ．３３９−３４２，１９９３．
【００４４】
本変形例に係る探索ネットワーク上の最適経路を探索する例について図８を用いて説明する。同図において、横軸方向はノードを表し、縦軸方向は時刻を表しており、図中の丸印は探索ネットワーク中の状態を表し、矢印は状態の遷移を表す。探索ネットワーク中の各状態(t,n)は時刻tにおけるノードnに対応している。「t＝０」である時刻tにおける始端ノードSに対応する状態(0,S)を初期状態と呼び、音声入力が終了した時刻Tにおける終端ノードEに対応する状態(T,E)を終了状態と呼ぶ。また各状態は、初期状態(0,S)から当該状態(t,n)へ至る経路を示す経路履歴情報hist(t,n)と、式９で示される複数の音響モデルに対応する音響スコアを累積で保持する累積スコアリストcumscr(t,n)とを有する。
【００４５】
【数９】
0005161942.tif 000010
【００４６】
ただし、各状態の経路履歴情報や累積スコアリストは、各状態に対応したものが参照できれば良く、状態自身に保持させることに限定するものではない。そのため、例えばＲＡＭなどの主記憶部のある記憶領域に、全状態に関する経路履歴情報及び累積スコアリストを記憶させ、各状態がそれらを参照する方法なども考えられる。
【００４７】
経路探索部１０５は、時刻t-1において、経路履歴情報hist(t-1,k)及び累積スコアリストcumscr(t-1,k)を有する状態(t-1,k)の集合Qt-1を用いて、時刻tにおけるノードiに対応する状態(t,i)における最適経路を求める。集合Qt-1とは、初期状態(0,S)から時刻tにおける状態(t,i)に至る経路において当該状態(t,i)の１つ前に経由する状態であって時刻t-1に到達可能な状態の集合を表し、最適経路の探索において枝刈り処理を行う場合には、枝刈りされずに残っている状態の集合を意味する。
【００４８】
初期状態(0,S)から時刻tにおけるノードiに対応する状態(t,i)に至る最適経路を求めるには、経路探索部１０５は、まず時刻t-1における状態の集合Qt-1に含まれる全状態のうち、時刻に状態(t,i)に遷移し得る状態の集合Q→(t,i)を選択する。次に、経路探索部１０５は、選択した状態集合Q→(t,i)の全ての累積スコアリストcumscr(t-1,k)（ただしkは(t-1,k)∈Q→(t,i)を満たす全てのノード番号）と、式２で表される遷移スコアリストtrans(k,i)のM個の音響モデルに各々対応する値の和（累積）で求められるスコアのうち、最大のスコアを持つノードを最適ノードj*として式１０により選択する。
【００４９】
【数１０】
0005161942.tif 000011
【００５０】
そして、経路探索部１０５は、時刻t-1での最適ノードj*に対応する状態(t-1,j*)での累積スコアリストcumscr(t-1,j*)と、遷移スコアリストtrans(j*,i)と、時刻tにおけるノードiに対応する音響スコアリストscr(t,i)とを用いて、式１１により、状態(t,i)における累積スコアリストcumscr(t,i)を計算する。
【００５１】
【数１１】
0005161942.tif 000012
【００５２】
状態(t,i)の有する経路履歴情報hist(t,i)は、最適ノードj*からノードiへ至る遷移にラベル「w」が付与されている場合には、式１２に示されるように、hist(t-1,j*)に「w」を追加することで求められる。
【００５３】
【数１２】
0005161942.tif 000013
【００５４】
また、最適ノードj*からノードiへ至る遷移にラベルが付与されていない場合には、式１３に示されるように、hist(t-1,j*)をそのままhist(t,i)に代入することで求められる。
【００５５】
【数１３】
0005161942.tif 000014
【００５６】
経路探索部１０５は、これらの処理を、音声の入力が終了した時刻（終了時刻）「Ｔ」までの全ての時刻t（t=1,2,…,T）において行い、「t＝Ｔ」である時刻tにおける終端ノードEに対応する終了状態(T,E)の有する経路履歴情報hist(T,E)が最適経路を示すものとしてこれを出力する。これが音声認識結果である。
【００５７】
尚、ラベルが探索ネットワークの全ノードに付与されている場合、上記の方法によって求められる最適経路は、当該最適経路を経由するノードの系列を意味する。あるノードからあるノードへ至る遷移に単語のラベルが付与されており、最適経路において取り扱う最小単位が単語である場合、各単語内で各音素の状態等の最適な経路を明示的に求める必要はなく、単語単位での最適な経路を求めれば良い。このような場合においては、時刻t-1で最適ノードj*に対応する状態(t-1,j*)を伝播させることにより求められる状態(t,i)が有する経路履歴情報と同一の経路履歴情報を有する状態(t-1,k)が複数存在することが考えられる。そのような状態の集合をQ*→(t,i)としたとき、経路探索部１０５は、初期状態(0,S)から状態(t-1,k)に至る経路において、M個の音響モデルに各々対応する値のうち、最大の値を選択し、これを用いて、時刻tにおけるノードiに対応するトークン(t,i)の有する累積スコアリストcumscr(t,i)を更新する。具体的には、経路探索部１０５は、式１１の代わりに以下に示す式１４を用いて、累積スコアリストcumscr(t,i)を更新する。
【００５８】
【数１４】
0005161942.tif 000015
【００５９】
尚、kは(t-1,k)∈Q*→(t,i)を満たす全てのノード番号である。但し、経路探索部１０５は、式１４を用いて累積スコアリストを更新した場合には、状態(t,i)の有する経路履歴情報hist(t,i)は、便宜的に式１２又は式１３を用いて更新することが望ましい。また、経路探索部１０５は、枝刈り条件に応じて、枝刈りする。具体的に例えば、枝刈り条件とは、各状態に対応する累積スコアリストにおいて複数の音響モデルに対応して計算された各値の全てが閾値を下回ることである。経路探索部１０５は、このような枝刈り条件を満たす状態自体を除去する。また、枝刈り条件とは、例えば、各状態に対応する累積スコアリストにおいて少なくとも１つの音響モデルに対応して計算された値が閾値を下回ることであっても良い。経路探索部１０５は、このような枝刈り条件を満たす値を累積スコアリストから除去することにより、枝刈りする。
【００６０】
本変形例に係る音声認識装置１００が行う音声認識処理の手順は、図４に示されるものと同様である。ステップＳ３の処理の手順も図５に示されるものと略同様であるが、本変形例においてはトークンの有する経路履歴情報及び累積スコアリストの代わりに、状態の有する経路履歴情報及び累積スコアリストを用いて計算を行う点が、上述の第１の実施の形態と異なる。計算の方法自体は第１の実施の形態と同様である。
【００６１】
以上のような構成によっても、複数の音響モデルを用いて単一の探索ネットワーク上において、複数の音響モデルに各々対応した音響スコアの累積を計算して最適経路を探索することで、計算コストや計算の際に使用するメモリ量の増加を抑えつつ、ロバスト性の高い音声認識を行うことが可能となる。
【００６２】
上述した実施の形態及び変形例においては、経路探索部１０５は、枝刈りは行わなくても良い。
【００６３】
上述した実施の形態及び変形例においては、あるノードからあるノードに至る遷移に、ラベルとして単語を付与した場合に経路探索部１０５が行う処理について説明したが、これに限らず、ノード自体にラベルとして単語を付与するようにした場合も経路探索部１０５は同様にして処理を行う。
【００６４】
上述した実施の形態及び変形例においては、経路探索部１０５は、ノードに対応させて音響スコアを計算するようにしたが、これに限らず、アークに対応させて音響スコアを計算するようにしても良い。
【符号の説明】
【００６５】
１００  音声認識装置
１０１  音声入力受付部
１０２  音響特徴量抽出部
１０３  音響モデル記憶部
１０４  探索ネットワーク記憶部
１０５  経路探索部
【図１】
0005161942.tif 000016
【図２】
0005161942.tif 000017
【図３】
0005161942.tif 000018
【図４】
0005161942.tif 000019
【図５】
0005161942.tif 000020
【図６】
0005161942.tif 000021
【図７】
0005161942.tif 000022
【図８】
0005161942.tif 000023