(57)【特許請求の範囲】
【請求項１】
入力音声を分析して分析パラメータを出力する分析手段と、
認識モデルを記憶するモデル記憶手段と、このモデル記憶手段に記憶された上記認識モデルに対応する上記分析パラメータの出力確率を演算する確率演算手段と、
一群の文法規則をまとめてカプセル化し、部分文法として記憶する部分文法記憶手段と、
この部分文法記憶手段に記憶された上記部分文法を読込む文法処理手段と、
この文法処理手段に読み込まれた部分文法に基づき、入力音声の認識に必要な認識モデルのみを上記モデル記憶手段から読込み、上記演算手段からの上記出力確率に基づいて読み込んだ認識モデルと入力音声との照合を行なうモデル照合手段と、
このモデル照合手段の照合結果に基づき上記入力音声に対する認識結果を出力する結果出力手段とを備え、
上記文法処理手段は読み込んだ部分文法と上記モデル照合手段の照合結果とに基づいて、必要な部分文法をカプセル化された単位で上記部分文法記憶手段から読込むことを特徴とする音声認識装置。
【請求項２】
上記部分文法記憶手段の部分文法は他の部分文法内部の個別の文法規則に接続する構造をもつことを特徴とする請求項１に記載の音声認識装置。
【請求項３】
上記部分文法記憶手段は、部分文法内の単語数に応じたデータ型で各部分文法を記憶し、このデータ型を示す属性を各部分文法毎に付与して記憶することを特徴とする請求項１または２いずれかに記載の音声認識装置。
【請求項４】
上記モデル照合手段は、上記文法処理手段に読み込まれる部分文法で示される認識モデルを部分的に順次に用いて照合を行うことを特徴とする請求項１ないし３いずれかに記載の音声認識装置。
【請求項５】
上記部分文法記憶手段の部分文法において、単語間の接続を表わすアークに、発声区切りを表す無音の挿入を意味する挿入属性を付与し、上記照合手段は上記文法処理手段の部分文法に基づき、照合を行う際に上記挿入属性を持つアークの両端の認識モデルの間に無音の認識モデルを挿入して照合を行うことを特徴とする請求項１ないし４いずれかに記載の音声認識装置。
【請求項６】
上記部分文法記憶手段の部分文法において、単語間の接続を表わすアークに、所定の単語の挿入を意味する挿入属性を付与し、上記照合手段は上記文法処理手段の部分文法に基づき、照合を行う際に上記挿入属性を持つアークの両端の認識モデルの間に所定の単語の認識モデルを挿入して照合を行うことを特徴とする請求項１ないし５いずれかに記載の音声認識装置。
【請求項７】
上記文法処理手段において、上記挿入属性に対応して挿入される単語を入れ換え可能とすることを特徴とする請求項６記載の音声認識装置。
【請求項８】
上記文法処理手段の部分文法に基づき、認識モデルの先頭の部分モデルを音素環境毎に分離した認識モデルにより上記モデル照合手段が照合を行うことを特徴とする請求項１ないし７いずれかに記載の音声認識装置。
【０００１】
【発明の詳細な説明】
【発明の属する技術分野】
この発明は所定の文法規則を用いてモデル照合を行なう音声認識装置に関するものである。
【０００２】
【従来の技術】
文脈自由文法（ＣＦＧ：Ｃｏｎｔｅｘｔ  Ｆｒｅｅ  Ｇｒａｍｍｅｒ）や有限状態文法（ＦＳＧ：Ｆｉｎｉｔｅ  Ｓｔａｔｅ  Ｇｒａｍｍｅｒ）による文法規則を用いて音声認識を行なう音声認識装置としては多くのものが提案されている。ここでは特開平７−２１９５７８号公報に示されたものを一例として説明する。以下文法規則を有限状態文法であるとし、認識方式としてＨＭＭ（Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌ）を用い、認識単位を音節とする音声認識装置として説明する。
【０００３】
従来の音声認識装置の構成を図１６に示す。図１６において音響分析手段３１は入力音声Ｓ３１を音響分析し、分析パラメータＳ３２に変換する。認識モデル記憶手段３５は認識モデルの情報を記憶する。そして、確率演算手段３２はこの認識モデル記憶手段３５に記憶された認識モデルに対応した情報（音声の音響的な特徴を表わす情報）を持っており、各モデルに対する上記分析パラメータＳ３２の出力確率Ｓ３３を計算する。
モデル照合手段３７は、文法処理手段３６からの認識モデル情報Ｓ３８により指定される認識モデルＳ３６を認識モデル記憶手段３５から読込み、上記出力確率Ｓ３３に基づき、その認識モデルＳ３６と入力音声Ｓ３１との照合を行い、単語スコアＳ３７を出力する。（なお、認識モデルを読込み、照合を行うことを、認識モデルを「活性化する」という）
【０００４】
また、文法記憶手段３３は単語間の接続を表す有限状態文法を記憶し、単語辞書記憶手段３４は認識対象の単語の読みを表し、各単語がどの認識モデルからなるかを記憶している。
上記文法処理手段３６は上記モデル照合手段３７からの単語スコアＳ３７に従い、文法情報Ｓ３４と単語情報Ｓ３５を参照し、次に活性化する認識モデルを示す認識モデル情報Ｓ３８を出力する。
上記モデル照合手段３７はこの認識モデル情報Ｓ３８に従い、認識モデルＳ３６を活性化するとともに、内部のローカルメモリ上に必要となる演算領域を確保し、出力確率Ｓ３３を用いてＶｉｔｅｒｂｉ演算を行なう。またその結果、モデル照合手段３７はバックトラック情報Ｓ３９を出力する。
バックトラック手段３８は順次入力されるバックトラック情報Ｓ３９を内部に記憶し、音声の終端において、バックトラック処理を行ない、認識結果Ｓ４０として最も距離値が小さくなる単語系列を出力する。
【０００５】
このような構成の音声認識装置の動作について説明する。ここでは説明のため、認識装置の認識対称は図１７に示す住所とする。
「鎌倉市上町屋」は「１丁目」が続き、「鎌倉市大船」「藤沢市江ノ島」には「１丁目」と「２丁目」が続き、「藤沢市辻堂」には「１丁目」と「２丁目」と「３丁目」が続く。
有限状態文法では、文法情報は、状態を示すノードと、ノード間の遷移を示すアークにより表現される。文法情報は文法記憶手段３３に記憶されており、前述の住所を表す有限状態文法である文法情報Ｓ３４の例を図１８に示す。図中、黒点で示すＮ０からＮ８は文法上のノードを表し、矢印はアークを示す。図１８において文法はノードＮ０から始まりノードＮ８で終了する。ノードＮ０、ノードＮ８はそれぞれ、先行する、あるいは後続するアークを持たない特別なノードである。
【０００６】
また、それぞれのアークにはＷ１からＷ１１という単語が割り当てられており、それぞれ地名と対応する。その情報は単語辞書記憶手段３４に格納されており、前述の例を図１９に示す。Ｑ１、Ｑ２は無音を表す特別な単語であるが、無音を挿入可能な位置を明示するため文法規則に含んでいる。
図１９の単語辞書記憶手段３４の内容について説明する。それぞれの単語について、それらの単語が参照すべき認識モデルがなにかということが示されている。例えば、単語Ｗ１、つまり「藤沢市」は、「Ｈｕ」、「ｚｉ」、「Ｓａ」、「Ｗａ」、「Ｓｉ」の音節を単位とする５つの認識モデルからなっていることを示す。なお、地名の列の情報は認識には直接用いない。
【０００７】
また、このような「Ｈｕ」、「ｚｉ」などで示される認識モデルの情報は実際には、図１６の認識モデル記憶手段３５に格納されている。認識モデル記憶手段３５には全ての認識モデルの情報が格納されている。この様子を図２０に示す。日本語を表す音節の数は一定であるので、どんなに認識しなければならない単語が増加しても、この認識モデルの種類には上限がある。
さらに、それぞれの認識モデルの構造の一例を図２１に示す。Ｓ１、Ｓ２、Ｓ３で示しているのは状態であり、確率演算手段３２で演算される確率と対応している。矢印で示しているのが状態遷移である。各遷移にはａ１１、ａ１２、ａ２１、ａ２２、ａ３１、ａ３２という遷移確率が付与されている。上記確率演算手段３２の出力確率Ｓ３３とこの遷移確率によりＨＭＭの各状態のスコアが演算される。
【０００８】
次に、認識処理の流れを図２２に示す。この認識処理の全体としては、一文の音声の認識を開始する時にステップ７０１の初期化が行なわれ、音声区間の１フレーム分の音声データが入力される度にステップ７０２からステップ７０７までの処理が繰り返され、一文の処理が終了するとステップ７０８において認識結果を求めるバックトラック処理が行なわれる。
認識処理に先立ち、文法記憶手段３３、単語辞書記憶手段３４、認識モデル記憶手段３５には前述の内容のデータが納められているものとする。
まず、認識処理が開始されると内部テーブルを初期化する（ステップ７０１）。この内部テーブルをＨＭＭテーブルと呼ぶ。ＨＭＭテーブル内の最初のスコアは０（良いスコア）に設定され、他の全てのスコアは小さい値、例えば−１０００（悪い値）に設定される。
【０００９】
次に認識処理中に計算された単語スコアが伝搬される（ステップ７０２）。単語スコアが既定の閾値Ｔ１より高いものを選別し、後続の単語にこのスコアを伝搬する。単語スコアとしては例えば、単語モデルの最終状態のスコアが選ばれる。
次に活性単語要求リストが作成される（ステップ７０３）。
次に既に活性化されている単語モデルを調べ（ステップ７０４）、単語モデルが活性でなければ新たな単語モデルがＨＭＭテーブルに追加される（ステップ７０９）。
モデル照合手段３７では次にＨＭＭスコアを計算する（ステップ７０５）。この時、ＨＭＭのスコアが既定の閾値Ｔ２より小さい場合にはメモリから単語モデルを削除し、対応するメモリを開放する（ステップ７１０）。ＨＭＭスコアは例えば、単語モデル内の全状態のスコアの最大値が用いられる。
次に文の終端に達したかどうか調べる（ステップ７０７）。終端でなければ次のフレームの処理に戻る（ステップ７０２）。文の終端に達するとバックトラックが実行され（ステップ７０８）、最高のスコアを有する単語系列が求められる。
【００１０】
図１８に示した文法情報の一例を用いて、このような音声認識装置の動作を具体的に図２３から図２７を参照しながら説明する。
モデル照合はモデル照合手段３７内部のワークメモリであるＨＭＭテーブルを用いて行なわれる。音声認識装置に入力される発声は「藤沢市辻堂１丁目」であるとする。
まず、ＨＭＭテーブルの内容が初期化された後、文法処理手段３６において、初期ノードＮ０より遷移できるアークをたどり（図１８）、単語Ｗ１０を見つける。
次に単語辞書記憶手段３４を参照し、単語Ｗ１０に対応する音節Ｑ１を検出し（図１９）、モデル照合手段３７に音節Ｑ１からなる単語Ｗ１０の単語モデルＮ０Ｗ１０を生成するように指示する。モデル照合手段３７では認識モデル記憶手段３５より音節Ｑ１の認識モデルを引き出し、メモリを確保し単語ＨＭＭを活性化する（図２３の状態）。Ｎ０、Ｎ０Ｗ１０は単語モデルの間のスコアの伝搬のために用いられる領域で遷移点と呼ぶ。
活性化された単語モデルＮ０Ｗ１０の単語スコアは単語モデルの最終音節の図２１に示すような認識モデルの最終状態のスコア（図ではＳ３）である。
【００１１】
演算を続けるうちに遷移点Ｎ０Ｗ１０の単語スコアは閾値Ｔ１より大きくなるとする。そうすると、文法処理手段３６ではこの単語スコアＳ３７を次の単語モデルに伝搬しようとするが、続く単語モデルが活性化されていないため、文法記憶手段３３を検索し、図１８から続く単語Ｗ１、単語Ｗ２を検出し、これらの単語モデルを活性化するようにモデル照合手段３７に指示を出す。
モデル照合手段３７では指示されたこれらの単語モデルを活性化する（図２４の状態）。単語モデルＮ０Ｗ１０と単語モデルＮ１Ｗ１、Ｎ２Ｗ２は遷移点Ｎ０Ｗ１０を介してＨＭＭテーブルのなかでつながっており、スコアは伝搬される。この後、単語モデルＮ０Ｗ１０、Ｎ１Ｗ１、Ｎ１Ｗ２の単語スコアが毎フレームごと文法処理手段３６に送られるようになる。
【００１２】
また、音声入力後しばらくすると、Ｎ０Ｗ１０の単語モデルと入力音声が合わなくなってくるので、単語モデルＮ０Ｗ１０のＨＭＭスコアが悪くなってゆき、所定の閾値Ｔ２を下回る。この時にモデル照合手段３７ではＮ０Ｗ１０の単語モデルを削除しメモリを開放する（図２５の状態）。
続いて、単語Ｎ１Ｗ１の単語スコアが大きくなってゆき、ある所定の閾値を超えるため、文法処理手段３６では続く単語モデルＮ２Ｗ３、Ｎ２Ｗ４を活性化するように指示をだす（図２６の状態）。
また、しばらくすると、単語モデルＮ１Ｗ２と入力音声が合わなくなるため、単語スコアが所定の閾値を下まわることになる。そこで、モデル照合手段３７では単語モデルＮ１Ｗ２を削除しメモリを開放する（図２７の状態）。
以上のようにして、ＨＭＭテーブルの単語モデルを生成、消去を繰り返し、少ないメモリ量で認識を行う。
【００１３】
【発明が解決しようとする課題】
従来の音声認識装置は以上のように構成されているので、大語彙の認識を行なう時には文法記憶手段３３と単語辞書記憶手段３４が非常に大きな容量となった。この領域をディスクなど低速アクセスしかできないメディアに載せたならば、ランダムアクセス回数があまりにも多くて高速な認識は不可能である。また、これらは非常に多くのメモリを必要とする。例えば、日本の住所は県名から字名まで含むと約３９万地名存在するが、従来の音声認識による方法で認識を行なおうとすると１Ｇｂｙｔｅ近くの大きなメモリ量を必要とすることになる。
【００１４】
また、電話系の音声認識装置では、同時に多回線の音声認識ができるように、図２８に示すようなメインプロセッサと複数のプロセッサからなるマルチプロセッサ型の構成を取る場合が多い。このような音声認識装置では、それぞれのプロセッサ上で独立して音声認識の動作が行なわれる。そのため、例えば住所の認識が必要となると、個々のプロセッサ上で独立して大規模な構文情報を扱わなければならない。
しかし、このような音声認識装置ではコストの問題から個々のプロセッサに十分な大きさのローカルメモリを割り当てることが難しい。そのため、大規模な構文情報を扱う時、莫大なメモリ量を必要とするという問題はさらに深刻となる。この発明は上記のような問題点を解消するためになされたもので、より少ないメモリで大語彙の認識を行なえる音声認識装置を提供するものである。
【００１５】
【課題を解決するための手段】
この発明に係る音声認識装置は、入力音声を分析して分析パラメータを出力する分析手段と、認識モデルを記憶するモデル記憶手段と、このモデル記憶手段に記憶された上記認識モデルに対応する上記分析パラメータの出力確率を演算する確率演算手段と、一群の文法規則をまとめてカプセル化し、部分文法として記憶する部分文法記憶手段と、この部分文法記憶手段に記憶された上記部分文法を読込む文法処理手段と、この文法処理手段に読み込まれた部分文法に基づき、入力音声の認識に必要な認識モデルのみを上記モデル記憶手段から読込み、上記演算手段からの上記出力確率に基づいて読み込んだ認識モデルと入力音声との照合を行なうモデル照合手段と、このモデル照合手段の照合結果に基づき上記入力音声に対する認識結果を出力する結果出力手段とを備え、上記文法処理手段は読み込んだ部分文法と上記モデル照合手段の照合結果とに基づいて、必要な部分文法をカプセル化された単位で上記部分文法記憶手段から読込むようにしたものである。
【００１６】
また、上記部分文法記憶手段の部分文法は他の部分文法内部の個別の文法規則に接続する構造をもつようにしたものである。
【００１７】
また、上記部分文法記憶手段は、部分文法内の単語数に応じたデータ型で各部分文法を記憶し、このデータ型を示す属性を各部分文法毎に付与して記憶するようにしたものである。
【００１８】
また上記モデル照合手段は、上記文法処理手段に読み込まれる部分文法で示される認識モデルを部分的に順次に用いて照合を行うようにしたものである。
【００１９】
また、上記部分文法記憶手段の部分文法において、単語間の接続を表わすアークに、発声区切りを表す無音の挿入を意味する挿入属性を付与し、上記照合手段は上記文法処理手段の部分文法に基づき、照合を行う際に上記挿入属性を持つアークの両端の認識モデルの間に無音の認識モデルを挿入して照合を行うようにしたものである。
【００２０】
また、上記部分文法記憶手段の部分文法において、単語間の接続を表わすアークに、所定の単語の挿入を意味する挿入属性を付与し、上記照合手段は上記文法処理手段の部分文法に基づき、照合を行う際に上記挿入属性を持つアークの両端の認識モデルの間に所定の単語の認識モデルを挿入して照合を行うようにしたものである。
【００２１】
また、上記文法処理手段において、上記挿入属性に対応して挿入される単語を入れ換え可能としたものである。
【００２２】
また、上記文法処理手段の部分文法に基づき、認識モデルの先頭の部分モデルを音素環境毎に分離した認識モデルにより上記モデル照合手段が照合を行うようにしたものである。
【００２３】
【発明の実施の形態】
実施の形態１．
以下図面を参照しながら、この発明の実施の形態を説明する。
ここでは従来の音声認識装置の説明と同様に文法規則を有限状態文法とし、認識方式としてＨＭＭ（ＨｉｄｄｅＮ  Ｍａｒｋｏｖ  Ｍｏｄｅｌ）を用い、認識単位を音節とする音声認識装置を一例として説明を行なう。
図１にこの発明の実施の形態における音声認識装置の構成図を示す。
図１において、音響分析手段１１は入力音声Ｓ１１を音響分析し、分析パラメータＳ１２に変換して出力する。認識モデル記憶手段１５は認識モデルの情報を記憶する。そして、確率演算手段１２はこの認識モデル記憶手段１５に記憶された認識モデルに対応した情報（音声の音響的な特徴を表す情報）を持っており、各モデルに対する上記分析パラメータＳ１２の出力確率Ｓ１３を計算する。
モデル照合手段１４は、文法処理手段１３からの認識モデル情報Ｓ１６により指定される認識モデルＳ１４を認識モデル記憶手段１５から読込み、上記出力確率Ｓ１３に基づき、その認識モデルＳ１４と入力音声Ｓ１１との照合を行い、単語スコアＳ１５を出力する。（なお、認識モデルを読込み、照合を行うことを、認識モデルを「活性化する」という）
【００２４】
また、部分文法記憶手段１７はある一群の文法規則とそれらに含まれる単語の読み情報をカプセル化して個別にまとめて部分文法として記憶する。この部分文法は個別にまとめて転送可能な状態で記憶されている。
上記文法処理手段１３は、上記単語スコアＳ１５がある閾値を越えていた時に、次に活性化すべき単語モデルを調べるために上記部分文法記憶手段１７より必要となる部分文法を読込み、これに基づいて上記モデル照合手段１４に対して活性化する単語モデルを指示する。
モデル照合手段１４はこの指示に対応する認識モデルＳ１４を認識モデル記憶手段１５から読込み、照合の動作を行い、その結果、単語スコアＳ１５を出力するとともに、バックトラック情報Ｓ１７を出力する。
結果出力手段としてのバックトラック手段１６は、このバックトラック情報Ｓ１７を記憶し、単語をさかのぼって認識結果Ｓ１８を得る。
【００２５】
さらにこのような音声認識装置の文法規則について説明する。ここでは従来の音声認識装置の説明で用いた図１７に示す住所を認識するものを例として説明を行なう。従来の音声認識装置においては、文法規則は図１８および図１９のように表されていたが、この発明による音声認識装置では、図２のＣ１からＣ８に示すように、一群の文法規則をまとめてカプセル化して記憶している。
ここでは、それぞれを部分文法と呼ぶ。それぞれの部分文法内には単語の読みを表す情報と、それぞれの単語の接続情報が納められている。部分文法は図１の部分文法記憶手段１７に納められる。
【００２６】
例えば、部分文法Ｃ２には「藤沢市」と「鎌倉市」の２単語が含まれいる。これら単語を表す部分を単語ノードと呼ぶ。部分文法Ｃ２内にＥ１と記述してある部分は他の部分文法から接続できるノードを示し、これをエントリーノードと呼ぶ。また、部分文法Ｃ２内でＣ３：Ｅ１およびＣ４：Ｅ１と記述されているものは、他の部分文法への接続を示すノードで、コネクションノードと呼ぶ。例えば、Ｃ３：Ｅ１は部分文法Ｃ３のエントリーノードＥ１に接続することを意味する。
部分文法Ｃ１とＣ８は特別な部分文法であり、部分文法Ｃ１は構文規則の最初を表し、部分文法Ｃ８は構文規則の最後を表す部分文法である。
【００２７】
このような音声認識装置の動作について説明する。図１における音響分析手段１１、確率演算手段１２、モデル照合手段１４、認識モデル記憶手段１５、バックトラック手段１６は、それぞれ従来の音声認識装置の相当する部分の動作と同様のため、ここでは説明を省略する。
以下、文法処理手段１３を中心とする動作について説明する。
文法処理手段１３は最初に読み込むべき部分文法を予め知っている。これはアプリケーションにより固定の場合や、場面に応じてアプリケーションから与えられる場合がある。この説明においては部分文法Ｃ１を最初に読み込むものとして説明する。
【００２８】
文法処理手段１３は部分文法Ｃ１を読み込み、単語ノードＷ１０を見つけ、モデル照合手段１４に音節Ｑ１からなる単語モデルＣ１Ｗ１０を生成するように指示を出す。これにより、モデル照合手段１４内ではこの単語モデルについてスコアの計算を行い、最終状態のスコアを単語スコアとする。
文法処理手段１３は、この単語モデルＣ１Ｗ１０の単語スコアがある閾値Ｔ１より高くなったならば、既に読み込んでいるＣ１の部分文法より、Ｗ１０はＣ２：Ｅ１に接続できるため、部分文法記憶手段１７から部分文法Ｃ２を読み込む。そして、単語Ｗ１と単語Ｗ２の単語モデルＣ２Ｗ１およびＣ２Ｗ２を生成するように、モデル照合手段１４に指示を出す。この段階のＨＭＭテーブルの内容を図３に示す。以下同様にして、従来の音声認識装置と同様の音声認識処理を実行できる。
【００２９】
このように文法情報を、あるまとまりを持った部分文法としてカプセル化し、この部分文法を単位として文法処理手段１３が読込みを行い、この部分文法に基づいてモデル照合手段１４が処理を行うようにしている。このため文法処理手段１３の容量が少なくて済み、また文法処理手段１３と部分文法記憶手段１７との転送処理の負荷が低減できる。そして部分文法記憶手段１７を低速アクセスしかできないメディアで実現した場合でも、ランダムアクセス回数を少なくできる。
【００３０】
また図２８に示すようなマルチプロセッサ型の音声認識装置をこの発明により実現する場合は、部分文法は、ディスクまたはメインプロセッサのメインメモリ上に記憶され、各プロセッサは必要に応じて、最小限の部分文法を自分のローカルメモリにダウンロードして用いる。その際個々の部分文法をそれぞれひとつのファイルとして管理することができる。また、メインプロセッサから個々のプロセッサへのデータ転送も部分文法という形でひとまとまりになっているため、時間のかかるランダムアクセスは必要なく、高速なバースト転送が可能であるため、高速な音声認識装置が作りやすいという効果がある。
【００３１】
日本の住所の場合、約２万３千個の部分文法の集合で表現でき、そのデータ量は４２Ｍｂｙｔｅであった。認識実験によると、認識時にダウンロードされたのは、わずか０．２％の部分文法だけですみ、平均すると個々のローカルメモリは５．２Ｍｂｙｔｅｓの消費量で十分であった。
【００３２】
なお、従来の音声認識装置の説明ではモデル照合手段のＨＭＭテーブルのメモリの開放を行なうものとして説明したが、メモリの開放には大きなオーバーヘッドを要する場合があり、従来の音声認識装置で述べた図２２におけるステップ７１０の「メモリから単語モデルの除去」の処理をしないでモデル照合を続け、認識終了後メモリを開放した方が早く処理できる場合があり、このような音声認識装置もこの発明に含むものである。
また、文法処理手段１３において部分文法記憶手段１７より転送した部分文法を削除せずに記憶しておくことにより、再度文法処理に必要になった時に再使用するようにすれば、部分文法記憶手段１７より文法処理手段１３への転送量の小さい音声認識装置が得られる。
【００３３】
また、木構造の文法規則では末端の単語番号より、辿ってきた単語モデルを同定できる場合があり、この場合には図１におけるバックトラック手段１６はなくても末端の単語番号より認識結果を得る手段を結果出力として設ければ認識結果が得られる。このような構成の音声認識装置もこの発明に含まれる。
【００３４】
また、以上では認識単位を音節として説明してきたが、これは単語や音素や半音節や音素片などでもよく、同様に効果を奏する。
また、音声認識方式をＨＭＭとして説明してきたが、ＤＰマッチングやニューラルネットによる認識方式を用いても良く、同様に効果を奏する。
また、文法規則を有限状態文法として説明をしてきたが、部分文法のなかの単語の代わりに別の部分文法を指定するようにすれば、文脈自由文法も表せるようになり、同様に効果を奏する。
【００３５】
実施の形態２．
以上の実施の形態では部分文法として、各部分文法に対してエントリーノードの個数が１個のものについて説明したが、エントリーノードは複数あってもよい。このような場合について図２と同じ住所の構文情報を示す部分文法を図４に示す。図２において部分文法Ｃ５、Ｃ６、Ｃ７に分かれていたものが、図４では部分文法Ｃ５にまとめられて表現されている。
部分文法Ｃ５はＥ１、Ｅ２、Ｅ３と示された３つのエントリーノードを有する。エントリーノードＥ１からは単語ノードＷ７のみに接続されている。エントリーノードＥ２からは単語ノードＷ７及びＷ８に接続されている。エントリーノードＥ３からは単語ノードＷ７、Ｗ８、Ｗ９に接続されている。また、部分文法Ｃ３、Ｃ４のコネクションノードにはそれぞれ、部分文法Ｃ５の適切なエントリーノードの指定がなされている。例えば部分文法Ｃ３の「辻堂」には、「１丁目」と「２丁目」のみが続くので、接続先はコネクションノードＣ５：Ｅ２となっており、部分文法Ｃ５内で単語ノードＷ７（「１丁目」）及びＷ８（「２丁目」）に接続されるエントリーノードＥ２が指定されることになる。
【００３６】
このような部分文法を用いる音声認識装置の構成および動作は上記実施形態と同様である。
このように他の部分文法内部の個別の文法規則に接続する構造をもつようにしたので、同じ単語群を内包する構文情報をひとつの部分文法としてまとめても、その内部の個別の文法規則に接続することができるので、同じ部分文法内の文法規則に選択的に接続できる。したがって、同じ単語群を内包する構文情報をさらにまとめることができる。
【００３７】
実施の形態３．
日本全国の住所では約３９万地名を表す必要があり、これらの単語に番号をつけると１９ｂｉｔを必要とする。しかし、この発明のように、部分文法にわけることにより部分文法内部でそれぞれユニークな番号をつければよい。住所を対象とした構文規則から作成した部分文法では、内部の単語数の少ない部分文法が多く、ほとんどの部分文法は内部の単語にユニークな番号を振ったとしても８ｂｉｔのデータ型で表現可能であり、部分文法記憶手段１７を効率的に使用できる。ただ、８００単語を含む部分文法も一部ある。このような場合は、それぞれの部分文法において、内部の単語を表すのに十分なデータ型で単語を表すようにし、そのデータ型を部分文法の属性として記憶するようにすればよく、これにより同様に部分文法記憶手段１７を効率的に使用できる。
【００３８】
実施の形態４．
上記の実施の形態では図１における部分文法記憶手段１７からロードした部分文法に含まれる全ての認識モデルを活性化するものを説明した。しかし、ロードした部分文法のうち、モデル照合に必要な一部分の認識モデルのみを活性化することも可能であり、こうすることでモデル照合手段１４の内部のＨＭＭテーブルのデータ量を押さえることができる。
このような音声認識装置の構成は図１と同じであるが、モデル照合手段１４と、文法処理手段１３の動作が異なる。このような音声認識装置の動作について説明を行なう。
【００３９】
上記の音声認識装置と同じくモデル照合手段１４には内部にＨＭＭテーブルと呼ばれる記憶領域を持つ。この発明による音声認識装置では文法処理手段１３に部分文法テーブルとよぶ記憶領域を持つ。部分文法テーブルには部分文法記憶手段１７からロードした部分文法を一時記憶する領域であり、この中から一音節づつ切り出して、モデル照合手段１４のＨＭＭテーブルに認識モデルを活性化する。
【００４０】
さらに図５から図８を用いてこの発明による音声認識装置の動作を説明する。図５から図８はモデル照合手段１４のＨＭＭテーブルと文法処理手段１３の部分文法テーブルの内容を示すものである。実施の形態２の説明で用いた図４に示す部分文法を用い、また音声認識装置に入力される発声は「藤沢市辻堂１丁目」であるとする。
【００４１】
まず、図５は音声入力が始まったばかりで、無音の単語モデルＣ１Ｗ１０が活性化されているところを示す。続いてＣ１Ｗ１０の単語スコアが所定の閾値Ｔ１を上まわるとする。モデル照合手段１４では次に必要な部分文法Ｃ２を部分文法記憶手段１７よりロードする（図６）。
文法処理手段１３は部分文法Ｃ２のエントリーノードＥ１より、単語Ｗ１、Ｗ２を見つける。この時、文法処理手段１３はこれらの単語に含まれる認識モデルを全て活性化するように指示を出すのではなく、それぞれの単語の最初の音節の認識モデルのみ活性化するようにモデル照合手段１４に指示を出す。
モデル照合手段１４では単語Ｗ１の音節「ｈｕ」と単語Ｗ２の音節「ｋａ」の認識モデルを活性化して、モデル照合を行なう（図７）。単語モデルとしては先頭の部分的な音節しか活性化されていないが、単語スコアとしてはそれぞれ活性化されている認識モデルの最終状態のスコアを文法処理手段１３に渡す。
【００４２】
続いて、発声が「藤沢市」から始まっているため、単語Ｃ２Ｗ１の単語スコアが大きくなってゆき、所定の閾値Ｔ３を上回るとする。そうすると文法処理手段１３では次の音節である「ｚｉ」の認識モデルを活性化するようにモデル照合手段１４に指示を出す。
モデル照合手段１４では音節「ｚｉ」の認識モデルを活性化し単語モデルＣ２Ｗ１の末尾に連結する（図８）。このようにして発声と合致している単語モデルのみが成長し、合わない単語モデルは成長しない。
そのうち実施の形態１と同じように、それぞれの単語モデルのＨＭＭスコアが閾値Ｔ２を下回ると、ＨＭＭテーブル上の単語モデルは消去される。
部分文法の内部の単語の認識モデルが全て活性化されて全てのモデルがモデル照合手段１４で活性化されるか、または内部の単語の認識モデルが全てＨＭＭテーブルからなくなると、部分文法テーブル上の部分文法は使用済みのため消去されメモリを開放する。
【００４３】
また、図４における部分文法Ｃ５などのように、いくつかの部分文法から呼ばれる部分文法は、部分文法テーブルへのロードが繰り返し生じる場合がある。部分文法テーブル上のデータ量はそれほど多くないため、上述したように部分文法テーブル上の部分文法を消去せず、再度他の部分文法から呼ばれた時は、この部分文法テーブル上の部分文法を再使用することも、部分文法記憶手段１７からの転送量を減らす効果がある。
【００４４】
実施の形態５．
上記の説明では地名は連続して発声したものを認識対象としてきたが、現実の音声認識装置では、発声の途中で区切ることも考慮する必要があり、従来では構文規則のなかに無音を意味する疑似単語を挿入する構文規則を作成していた。
上記の実施の形態においても、このような発声区切りを許すような部分文法の記述をすることが可能であり、その一例を図９に示す。
図９に示す部分文法Ｃ３内で単語Ｗ１２が無音を表す疑似単語であり、エントリーノードＥ１と単語Ｗ３、Ｗ４の間に挿入される。区切り無しに発声しても構文規則が受理できるように、直接エントリーノードＥ１から単語Ｗ３、Ｗ４に接続するアークも含んでいる。
【００４５】
この部分文法Ｃ３が文法処理手段１３にダウンロードされ、これに基づき内部の単語モデルがモデル照合手段１４に活性化された場合のＨＭＭテーブルの内容を図１０に示す。これは従来例の説明で用いた図２６と同様の場面を示したものであり、単語Ｗ１から部分文法Ｃ３が呼ばれた時のＨＭＭテーブルの内容を示している。無音を表す疑似単語Ｗ１２により単語モデルＣ３Ｗ１２が活性化されている。
【００４６】
このような、区切りを許すための規則は文法規則のあらゆるところで必要となるため、上記のように全ての部分文法で発声区切りをゆるすための無音を記述するとかなり大きなデータ量の増大をもたらす。そのため、部分文法の記述の際に上記のような疑似単語を記述せず、アークに属性を持たせ、このような発声区切りのための無音の挿入をアークの属性により表すことが有効である。
このような部分文法の記述の例を図１１に示す。図１１に示すようにエントリーノードＥ１から単語ノードＷ３および単語ノードＷ４の間に無音の挿入を意味するＱの属性を持つアークが用いられている。
このような部分文法では、このエントリーノードがダウンロードされ単語モデルが活性化される時、図１０に示したものと同じＨＭＭテーブルをモデル照合手段１４に動的に生成し、上記の説明と同様のモデル照合演算がなされる。
【００４７】
また、上記の説明では単語の間に区切りを表す無音を挿入する属性について説明したが、さらに、無音の他に「えーと」、「あのー」などの付帯語を文法規則に含まなければならない場合がある。そこで上記の無音の挿入の例と同様に所定の単語を挿入することを意味する属性をアークに持たせ、文法処理手段１３により単語モデルを活性化する時に、所定の単語モデルを、この属性を持つアークの両端の単語モデルの間に挿入することにより、これらの発声も受理できる構文規則を表現できる。このとき挿入する単語モデルの種類は１つでもよいし、複数（単語群）でもよい。
【００４８】
また、付帯語はアプリケーションや認識対象語彙によって異なるし、また発声者により独特な単語を発声する場合もある。そのため、上記の単語間に挿入できる単語群をアプリケーションや認識対象語彙に合わせて容易に変更できる手段を与えることにより、用途に応じて付帯語を入れ換えることができる。
所定の単語群の内容を替えることにより、全文法に付帯語の変更を容易に反映できる。
【００４９】
実施の形態６．
上記の実施例では音素環境に依存しない音節モデルを用いて説明していたため、単語の前後にどのような単語が接続されても、活性化される単語モデル自体の変化はなかった。しかし、実際の音声の中の音素には、前後につながる音素により変化するという特性がある。これを調音結合と呼ぶ。
この調音結合をモデル化したものが音素環境依存モデルであり、このモデルを使うことにより、認識率が大幅に向上することが知られている。音素環境依存モデルとしては様々なものが提案されているが、ここでは認識モデルに先行する音素の環境を取り入れた音素環境依存の音節モデルを対象にこの発明の説明を行なう。
【００５０】
図１２にこのような音素環境依存の音節モデルの一例を示す。このような音節モデルは図２０に示す従来の音節モデルに比べて種類が大幅に増加している。つまり、図１２に示す音素環境依存の音節モデルは先行する音節の母音が「ａ」、「ｉ」、「ｕ」、「ｅ」、「ｏ」のいずれかであるか、または音節「Ｎ」であるか、または無音であるかにより分類されている。無音には先頭の無音「Ｑ１」または単語間の無音「Ｑ３」、または促音を表す「Ｑ」の３種類の音節が含まれる。
【００５１】
図４に示した部分文法を用い、このような音節モデルを用いた音声認識の動作を説明する。認識が始まって単語モデルが活性化される時に先行する単語を定められるため、部分文法の単語の読みを表す情報では音素環境に依存する情報は付与しない。単語モデルを活性化すときに初めて音素環境を考慮し、適切な音節モデルを選択する。また、音素環境依存の音節モデルの方が数が多いため、音素環境に依存しない音節の情報のままで記憶しておいたほうが、部分文法のデータ量が小さくできるという効果もある。
「辻堂」、「上町屋」、「江ノ島」の単語モデルが活性化されており、次に「辻堂」に続く「１丁目」、「２丁目」の単語モデルが活性化された場合を示したものを図１３に示す。「辻堂」、「上町屋」、「江ノ島」については内部の音節モデルが先行音素に依存する音素環境依存の音節モデルが選択されている。例えば「辻堂」の２番目の音節「ｚｉ」では、前の音節が「Ｃｕ」のため母音が「ｕ」の音素環境に属する「ｕ／ｚｉ」という音節モデルが選択されている。また、「辻堂」の前の単語が「藤沢市」であるため、最後の音節「Ｓｉ」の音素環境が母音「ｉ」に属するため、音素環境依存の音節モデル「ｉ／Ｃｕ」が選ばれている。
【００５２】
さらに「１丁目」、「２丁目」の単語モデルでは、先行する単語が「辻堂」であり、音素環境「ｏ」のため、それぞれの先頭には音節「ｏ／ｉ」、「ｏ／Ｎｉ」の適切な音節モデルが挿入されている。
次に「上町屋」の単語スコアが閾値を越え、続く「１丁目」、「２丁目」の単語モデルを活性化しようとする。これらの単語モデルは既に活性化されているため、これまでの実施形態によれば、ＨＭＭテーブル上の、既に活性化されている単語モデルに接続するだけであったが、この実施形態によるものでは、先行する単語の末尾の音節の音素環境が異なるため、図１４に示すように先頭の音節が２つに分離する。
「１丁目」の先頭の音節モデルが「ｏ／ｉ」と「ａ／ｉ」に、「２丁目」の先頭の音節モデルが「ｏ／Ｎｉ」と「ａ／Ｎｉ」に分かれている。「１丁目」の２番目の音節モデル「ｉ／Ｑ」では、ふたつの音節モデル「ｏ／ｉ」「ａ／ｉ」から接続されるため、スコアとしてこのふたつの音節モデルのスコアのより大きい方を継承する。
【００５３】
さらにひき続いて、「江ノ島」の単語スコアが閾値を越え、続く「１丁目」の単語モデルを活性化しようとするとする。この単語モデルは既に活性化されている。また、単語「上町屋」の例と異なり、単語「江ノ島」の場合には、最後の音節が単語「上町屋」と同じ音素環境を有するために、既に同じ音素環境の音節モデルが活性化されている。そのため、図１５に示すように、新たな音節モデルの分離は生じないで、既に活性化されている音節モデル「ａ／ｉ」に接続される。
【００５４】
このように、単語モデルを活性化する時に音素環境を考慮し、適当な音節モデルを選択し、必要に応じて先頭の音節モデルを分離して活性化することにより、音素環境依存モデルに適合した認識が可能となる。
【００５５】
【発明の効果】
以上のようにこの発明によれば、認識に必要な部分文法を個別に読み込み認識モデルを活性化することができるため、文法処理手段の容量が少なくて済み、また部分文法記憶手段との転送処理の負荷を低減できるという効果がある。
【００５６】
また、部分文法記憶手段の部分文法は他の部分文法内部の個別の文法規則に接続する構造をもつようにしたので、同じ単語群を内包する構文情報をひとつの部分文法としてもその内部の個別の文法規則に接続することができるため、より部分文法記憶手段の容量が小さく、かつモデル照合手段における照合処理に必要なメモリ容量の小さな認識装置が得られるという効果がある。
【００５７】
また、部分文法毎に内部を表現するデータ型を変更できるため、部分文法記憶手段の容量が小さい音声認識装置が得られるという効果がある。
【００５８】
また、部分文法記憶手段より転送した部分文法で示される認識モデルを、部分的に順次に用いて活性化するため、モデル照合手段における照合処理に必要なメモリ容量の小さな認識装置が得られるという効果がある。
【００５９】
また、無音の挿入を意味する属性を持つアークを設定するようにしたため、全ての部分文法に明示的に無音を挿入した部分文法を作成した部分文法に比べ、部分文法記憶手段１７の容量が小さくできる効果がある。
【００６０】
また、付帯語などを表す所定の単語群の挿入を意味する属性を持つアークを設定すすようにしたため、全ての部分文法に明示的に所定の単語群を挿入した部分文法を作成した部分文法に比べ、部分文法記憶手段の容量が小さくできる。
【００６１】
また、文法処理手段において部分文法の属性によって表される単語間に挿入できる単語群を入れ換えられるため、アプリケーションや認識対象語彙に合わせて容易に付帯語の種類を変えられる音声認識装置が得られるという効果がある。
【００６２】
また、音素環境依存モデルを用いた音声認識装置に対しても、上記の部分的に単語モデルを活性化する認識方式を適応できるという効果がある。
【図面の簡単な説明】
【図１】この発明の実施形態における音声認識装置の構成を示す構成図である。
【図２】この発明の実施形態における部分文法の一例を示す説明図である。
【図３】この発明の実施形態におけるモデル照合手段のＨＭＭテーブルの内容を示す説明図である。
【図４】この発明の実施形態における部分文法の一例を示す説明図である。
【図５】この発明の実施形態におけるモデル照合手段のＨＭＭテーブルと文法処理手段の部分文法テーブルの内容を示す説明図である。
【図６】この発明の実施形態におけるモデル照合手段のＨＭＭテーブルと文法処理手段の部分文法テーブルの内容を示す説明図である。
【図７】この発明の実施形態におけるモデル照合手段のＨＭＭテーブルと文法処理手段の部分文法テーブルの内容を示す説明図である。
【図８】この発明の実施形態におけるモデル照合手段のＨＭＭテーブルと文法処理手段の部分文法テーブルの内容を示す説明図である。
【図９】この発明の実施形態における部分文法の一例を示す説明図である。
【図１０】この発明の実施形態におけるモデル照合手段のＨＭＭテーブルの内容を示す説明図である。
【図１１】この発明の実施形態における部分文法の一例を示す説明図である。
【図１２】音素環境依存の音節モデルの例を示す説明図である。
【図１３】この発明の実施形態におけるモデル照合手段のＨＭＭテーブルの内容を示す説明図である。
【図１４】この発明の実施形態におけるモデル照合手段のＨＭＭテーブルの内容を示す説明図である。
【図１５】この発明の実施形態におけるモデル照合手段のＨＭＭテーブルの内容を示す説明図である。
【図１６】従来の音声認識装置の構成を示す構成図である。
【図１７】認識対象の住所の例を示す説明図である。
【図１８】従来の音声認識装置における文法情報の例を示す説明図である。
【図１９】文法情報の例を示す説明図である。
【図２０】音節モデルの例を示す説明図である。
【図２１】認識モデルの構造の一例を示す説明図である。
【図２２】認識処理の流れを示すフローチャートである。
【図２３】従来の音声認識装置におけるＨＭＭテーブルの内容を示す説明図である。
【図２４】従来の音声認識装置におけるＨＭＭテーブルの内容を示す説明図である。
【図２５】従来の音声認識装置におけるＨＭＭテーブルの内容を示す説明図である。
【図２６】従来の音声認識装置におけるＨＭＭテーブルの内容を示す説明図である。
【図２７】従来の音声認識装置におけるＨＭＭテーブルの内容を示す説明図である。
【図２８】マルチプロセッサ型の音声認識装置の一例を示す構成図である。
【符号の説明】
１１  音響分析手段
１２  確率演算手段
１３  文法処理手段
１４  モデル照合手段
１５  認識モデル記憶手段
１６  バックトラック手段
１７  部分文法記憶手段
Ｓ１１  入力音声
Ｓ１２  分析パラメータ
Ｓ１３  出力確率
Ｓ１４  認識モデル
Ｓ１５  単語スコア
Ｓ１６  認識モデル情報
Ｓ１７  バックトラック情報
Ｓ１８  認識結果
Ｓ１９  部分文法
【図１】
0003546633.tif 000002
【図２】
0003546633.tif 000003
【図３】
0003546633.tif 000004
【図４】
0003546633.tif 000005
【図５】
0003546633.tif 000006
【図６】
0003546633.tif 000007
【図７】
0003546633.tif 000008
【図８】
0003546633.tif 000009
【図９】
0003546633.tif 000010
【図１０】
0003546633.tif 000011
【図１１】
0003546633.tif 000012
【図１２】
0003546633.tif 000013
【図１３】
0003546633.tif 000014
【図１４】
0003546633.tif 000015
【図１５】
0003546633.tif 000016
【図１６】
0003546633.tif 000017
【図１７】
0003546633.tif 000018
【図１８】
0003546633.tif 000019
【図１９】
0003546633.tif 000020
【図２０】
0003546633.tif 000021
【図２１】
0003546633.tif 000022
【図２２】
0003546633.tif 000023
【図２３】
0003546633.tif 000024
【図２４】
0003546633.tif 000025
【図２５】
0003546633.tif 000026
【図２６】
0003546633.tif 000027
【図２７】
0003546633.tif 000028
【図２８】
0003546633.tif 000029