(57)【特許請求の範囲】
【請求項１】
入力された音声に含まれる複数の連続して対応づけられた単語を認識し、その認識結果を出力する音声認識装置であって、
補助記憶装置に予め記録された音響モデルを主記憶装置に読み込む音響モデル読み込み部と、
補助記憶装置に予め記録された、認識する単語の候補となる単語群の語頭を表す語頭辞書と、前記単語群の語末を表す語末辞書と、単語の語順を表す語順データと、語頭辞書と語末辞書の対応を表す対応データとを含む辞書データから、前記語順データ、前記対応データ、前記語頭辞書および前記語末辞書を前記主記憶装置へ読み込む辞書管理部と、
前記主記憶装置へ読み込まれた音響モデルおよび対応データを用いて、前記主記憶装置へ読み込まれた語頭辞書および語末辞書が表す単語群と、入力された前記音声とを照合することで、前記入力音声に含まれる複数の連続して対応づけられた単語を順次認識する認識部とを備え、
前記辞書データは、複数の単語の語頭を示すデータが記録された少なくとも１つの語頭辞書と、前記語頭辞書が示す語頭群に対応する語末群を示すデータが複数の語末辞書として記録された語末辞書群とを含み、
前記辞書管理部は、前記語順データと、前記入力音声に含まれる単語のうち少なくとも１つの単語の候補となる単語群の語頭を含む語頭辞書とを主記憶装置へ読み込んでおき、前記認識部が、主記憶装置へ読み込まれた前記語頭辞書を用いて単語を認識している間に、前記語順データに基づいて、認識中の単語に対する前記語末辞書あるいは、認識中の単語に対する前記語末辞書および後続する単語の語頭辞書を読み込む、音声認識装置。
【請求項２】
前記語頭辞書には、認識対象となる複数の連続して対応づけられた単語の候補となる全ての単語群についての語頭が記録されており、
前記辞書管理部は、前記認識部による入力された音声の認識開始前に、前記語頭辞書と、前記音声に含まれる単語のうち１番目の単語の候補となる単語群の語末辞書とを読み込み、前記認識部によりＮ番目（Ｎは自然数）の単語が認識されると、（Ｎ＋１）番目の単語の候補となる単語群の語末を含む語末辞書を、前記語順データに基づき前記複数の語末辞書の中から選択して読み込みを開始し、当該読み込みの間に前記認識部は、（Ｎ＋１）番目の単語の語頭を前記語頭辞書を用いて認識する、請求項１に記載の音声認識装置。
【請求項３】
前記辞書管理部は、前記認識部による認識開始前に、前記入力音声に含まれる単語のうち１番目の単語の候補となる単語群の語末を含む語末辞書と、１番目と２番目の単語の候補となる単語群の語頭を含む語頭辞書とを読み込み、前記認識部によりＮ番目（Ｎは自然数）の単語が認識されると、（Ｎ＋１）番目の単語の候補となる単語群の語末を含む語末辞書と、（Ｎ+２）番目の単語の候補となる単語群の語頭を含む語頭辞書とを読み込む、請求項１に記載の音声認識装置。
【請求項４】
前記辞書管理部は、前記認識部が主記憶装置へ読み込まれた前記語頭辞書を用いて単語の語頭の一部を前記音声と照合した時点で、前記照合した結果に基づいて前記語末辞書および／または語頭辞書の読み込みを開始する、請求項１に記載の音声認識装置。
【請求項５】
前記語順データは、前記語末辞書において、単語の語末それぞれに対応して、その単語の後に続く可能性のある単語群の語頭を含む語頭辞書または該単語群の語末を含む語末辞書を示す辞書識別データとして記録されており、
前記辞書管理部は、認識部が認識した単語の語末に対応する辞書識別データに基づいて、語頭辞書または語末辞書を読み込む、請求項１に記載の音声認識装置。
【請求項６】
前記辞書データは、語頭辞書を複数含み、
前記認識部は、認識した単語の語末に対応する辞書識別データに基づいて、前記認識した単語の次に続く可能性のある単語群の語頭を含む語頭辞書を前記複数の語頭辞書から選択し、選択した語頭辞書を用いて、前記認識した単語の後に続く単語を認識する、請求項５に記載の音声認識装置。
【請求項７】
前記辞書管理部は、主記憶装置に読み込んだ語末辞書および語頭辞書のうち、前記認識部による単語の認識に用いられた後に不要になった語末辞書または語頭辞書を主記憶装置から削除する、請求項１に記載の音声認識装置。
【請求項８】
前記辞書データは、音声に含まれる可能性のある単語群が、音素数、音節数、モーラ数、単語の出現頻度および使用可能なメモリ容量の少なくとも１つに応じて語頭と語末に分割され、それぞれが前記語頭辞書と前記語末辞書群に含められて記録された辞書データである、請求項１に記載の音声認識装置。
【請求項９】
入力された音声に含まれる複数の連続して対応づけられた単語をコンピュータが認識し、その認識結果を出力する音声認識方法であって、
前記コンピュータが、補助記憶装置に予め記録された音響モデルを主記憶装置に読み込む音響モデル読み込む工程と、
補助記憶装置に予め記録された、認識する単語の候補となる単語群の語頭を表す語頭辞書と、前記単語群の語末を表す語末辞書と、単語の語順を表す語順データと、語頭辞書と語末辞書の対応を表す対応データとを含む辞書データから、前記コンピュータが、前記語順データ、前記対応データ、前記語頭辞書および前記語末辞書を前記主記憶装置へ読み込む辞書管理工程と、
前記コンピュータが、前記主記憶装置へ読み込まれた音響モデルおよび対応データを用いて、前記主記憶装置へ読み込まれた語頭辞書および語末辞書が表す単語群と、入力された前記音声とを照合することで、前記入力音声に含まれる複数の連続して対応づけられた単語を順次認識する認識工程とを含み、
前記辞書データは、複数の単語の語頭を示すデータが記録された少なくとも１つの語頭辞書と、前記語頭辞書が示す語頭群に対応する語末群を示すデータが複数の語末辞書として記録された語末辞書群とを含んでおり、
前記辞書管理工程において、前記コンピュータは、前記語順データと、前記入力音声に含まれる単語のうち少なくとも１つの単語の候補となる単語群の語頭を含む語頭辞書とを主記憶装置へ読み込んでおき、前記認識工程で、主記憶装置へ読み込まれた前記語頭辞書を用いて単語を認識している間に、前記語順データに基づいて、認識中の単語に対する前記語末辞書あるいは、認識中の単語に対する前記語末辞書および後続する単語の語頭辞書を読み込む、音声認識方法。
【請求項１０】
入力された音声に含まれる複数の連続して対応づけられた単語を認識し、その認識結果を出力する処理をコンピュータに実行させる音声認識プログラムであって、
補助記憶装置に予め記録された音響モデルを主記憶装置に読み込む音響モデル読み込む処理と、
補助記憶装置に予め記録された、認識する単語の候補となる単語群の語頭を表す語頭辞書と、前記単語群の語末を表す語末辞書と、単語の語順を表す語順データと、語頭辞書と語末辞書の対応を表す対応データとを含む辞書データから、前記語順データ、前記対応データ、前記語頭辞書および前記語末辞書を前記主記憶装置へ読み込む辞書管理処理と、
前記主記憶装置へ読み込まれた音響モデルおよび対応データを用いて、前記主記憶装置へ読み込まれた語頭辞書および語末辞書が表す単語群と、入力された前記音声とを照合することで、前記入力音声に含まれる複数の連続して対応づけられた単語を順次認識する認識処理とをコンピュータに実行させ、
前記辞書データは、複数の単語の語頭を示すデータが記録された少なくとも１つの語頭辞書と、前記語頭辞書が示す語頭群に対応する語末群を示すデータが複数の語末辞書として記録された語末辞書群とを含み、
前記辞書管理処理において、前記語順データと、前記入力音声に含まれる単語のうち少なくとも１つの単語の候補となる単語群の語頭を含む語頭辞書とを主記憶装置へ読み込んでおき、前記認識処理で、主記憶装置へ読み込まれた前記語頭辞書を用いて単語を認識している間に、前記語順データに基づいて、認識中の単語に対する前記語末辞書あるいは、認識中の単語に対する前記語末辞書および後続する単語の語頭辞書を読み込む処理をコンピュータに実行させる、音声認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、利用者の発声する連続単語を認識する音声認識装置、音声認識方法、音声認識プログラムに関する。
【背景技術】
【０００２】
音声認識装置は、大量の単語が格納された単語辞書データをＣＰＵが直接読み書きできる主記憶装置（メインメモリ（以下メモリと称する））に展開して音声認識処理に用いている。従来の音声認識装置は、単語辞書を複数のファイルに分割してＨＤＤやＤＶＤやＲＯＭなどの補助記憶装置に記録しておき、補助記憶装置から必要なファイルのみをメモリ上に読み込んで認識処理を行っていた。これにより、音声認識処理に使用するメモリ容量を抑えることができる。しかし、補助記憶装置からメモリへの単語辞書データの読み込み（ロード）を行っている間は、認識処理を進めることができない。そのため、音声認識処理の遅延が生じる問題があった。
【０００３】
例えば、住所認識装置では、県名辞書と市名辞書とがそれぞれファイルとして補助記憶装置に記録されている。この住所認識装置が、例えば、「愛知県、名古屋市」のように、県名と市名とが連続に発声された音声を認識するとき、県名「愛知県」を認識した後に、その県名に対応する市名辞書をメモリ上に読み込む。住所認識装置は、市名辞書を読み込んでいる間、読み込みが完了するまで認識処理を進めることができない。その結果、住所認識処理の遅延が生じていた。
【０００４】
このような遅延への対策を施した音声認識装置が提案されている（例えば、特許文献１参照）。この音声認識装置は、ＤＶＤなどの補助記憶装置から辞書データを読み込んでいる間に、ＲＡＭから読み込んだ照合データを用いた照合処理を先行して行う。読み込んだ辞書データは、遅延照合データ記録手段に記録され、読み込み終了後に、遅延照合データ記録手段に記録されたデータを用いた照合処理が行われる。その後、前記遅延照合データと前記照合データとが統合される。
【特許文献１】特開平２００２−２６８６７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記音声認識装置は、照合中の結果と遅延して照合を行った結果とを統合（マージ）する必要が生じる。そのため、上記音声認識装置とは異なる方法で、補助記憶装置から辞書データを読み込む際の待ち時間による処理の遅延を削減する方法が求められていた。
【０００６】
上記課題に鑑み、本発明は、補助記憶装置から辞書データを読み込む際の待ち時間による音声認識処理の遅延を削減することができる音声認識装置、音声認識プログラム、音声認識方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明にかかる音声認識装置は、入力された音声に含まれる複数の連続して対応づけられた単語を認識し、その認識結果を出力する音声認識装置であって、補助記憶装置に予め記録された音響モデルを主記憶装置に読み込む音響モデル読み込み部と、補助記憶装置に予め記録された、認識する単語の候補となる単語群の語頭を表す語頭辞書と、前記単語群の語末を表す語末辞書と、単語の語順を表す語順データと、語頭辞書と語末辞書の対応を表す対応データとを含む辞書データから、前記語順データ、前記対応データ、前記語頭辞書および前記語末辞書を前記主記憶装置へ読み込む辞書管理部と、前記主記憶装置へ読み込まれた音響モデルおよび対応データを用いて、前記主記憶装置へ読み込まれた語頭辞書および語末辞書が表す単語群と、入力された前記音声とを照合することで、前記入力音声に含まれる複数の連続して対応づけられた単語を順次認識する認識部とを備え、前記辞書データは、複数の単語の語頭を示すデータが記録された少なくとも１つの語頭辞書と、前記語頭辞書が示す語頭群に対応する語末群を示すデータが複数の語末辞書として記録された語末辞書群とを含み、前記辞書管理部は、前記語順データと、前記入力音声に含まれる単語のうち少なくとも１つの単語の候補となる単語群の語頭を含む語頭辞書とを主記憶装置へ読み込んでおき、前記認識部が、主記憶装置へ読み込まれた前記語頭辞書を用いて単語を認識している間に、前記語順データに基づいて前記語末辞書および／または語頭辞書を読み込む。
【０００８】
補助記憶装置は、音響モデル読み込み部、辞書管理部および認識部が高速にデータを読み書きすることができない記憶装置であり、例えば、ハードディスク、ＤＶＤ、ＭＯ、ＣＤ、フレキシブルディスク、磁気テープ、ＲＯＭ等である。なお、補助記憶装置は、外部記憶装置と呼ばれることもある。
【０００９】
辞書管理部または音響モデル読み込み部がデータを読み込むという動作は、補助記憶装置に記録された辞書データを、主記憶装置（メインメモリ以下、単にメモリと称する）に記録する動作を指す。メモリは、音響モデル読み込み部、辞書管理部および認識部が直接かつ高速に読み書きすることができる記憶装置である。メモリには、例えば、半導体素子を利用して電気的にデータを記録する記録媒体が用いられる。メモリの例として、ＲＡＭ等が挙げられる。
【００１０】
語頭辞書は、複数の単語の語頭を示すデータが、論理的にまとめて記録されたデータである。語末辞書は、複数の単語の語末を示すデータが論理的にまとめて記録されたデータである。例えば、１つの語頭辞書または１つの語末辞書は、１のファイルで構成されてもよいし、データベースにおける１つのテーブルで構成されてもよい。または、例えば、１つのファイルの中に複数の語頭辞書または語末辞書が含まれる構成であってもよい。
【００１１】
前記辞書管理部は、前記語順データと、前記入力音声に含まれる単語のうち少なくとも１つの単語の候補となる単語群の語頭を含む語頭辞書とをメモリへ読み込んでおくので、認識部は、入力された音声に含まれる単語の語頭に相当する部分を、メモリの語頭辞書と照合することができる。辞書管理部は、認識部が単語の語頭を認識をしている時間に、語末辞書または語頭辞書を語順データに基づいて読み込むことができる。そのため、音声認識のための辞書データの補助記憶装置からの読み込みによる音声認識処理の遅延が削減される。特に、メモリに制約があるために音声認識のための辞書データを全て主記憶装置上に記録できない音声認識装置において、辞書データの補助記憶装置からの読み込みによる音声認識処理の遅延が削減される。
【００１２】
本発明にかかる音声認識装置において、前記語頭辞書には、認識対象となる複数の連続して対応づけられた単語の候補となる全ての単語群についての語頭が記録されており、前記辞書管理部は、前記認識部による入力された音声の認識開始前に、前記語頭辞書と、前記音声に含まれる単語のうち１番目の単語の候補となる単語群の語末辞書とを読み込み、前記認識部によりＮ番目（Ｎ＝１，２，３，・・・）の単語が認識されると、（Ｎ＋１）番目の単語の候補となる単語群の語末を含む語末辞書を、Ｎ番目の単語と前記語順データとに基づき前記複数の語末辞書の中から選択して読み込みを開始し、当該読み込みの間に前記認識部は、（Ｎ＋１）番目の単語の語頭を前記語頭辞書を用いて認識することが好ましい。
【００１３】
前記語頭辞書には、認識対象となる複数の連続する単語の候補となる全ての単語群についての語頭が記録されている。そのため、辞書管理部がＮ番目の単語と語順データとに基づいて（Ｎ＋１）番目の単語の候補となる単語群を含む語末辞書を読み込む間に、認識部は、語頭辞書を用いて（Ｎ＋１）番目の単語の認識処理を行うことができる。これにより、辞書管理部は、認識部が認識した単語に応じて、必要な語末辞書を適切なタイミングで読み込むことができる。そのため、メモリ上の語末辞書のデータ量を抑えつつも、効率のよい音声認識が可能になる。
【００１４】
本発明にかかる音声認識装置において、前記辞書管理部は、前記認識部による認識開始前に、前記入力音声に含まれる単語のうち１番目の単語の候補となる単語群の語末を含む語末辞書と、１番目と２番目の単語の候補となる単語群の語頭を含む語頭辞書とを読み込み、前記認識部によりＮ番目（Ｎ＝１，２，３，・・・）の単語が認識されると、（Ｎ＋１）番目の単語の候補となる単語群の語末を含む語末辞書と、（Ｎ+２）番目の単語の候補となる単語群の語頭を含む語頭辞書とを読み込むことが好ましい。
【００１５】
これにより、辞書管理部は、１番目の単語の候補となる単語群の語末を含む語末辞書と、１番目と２番目の単語の候補となる単語群の語頭を含む語頭辞書と読み込んでおくので、認識部がこの連続する１番目の単語を認識した時点で、２番目の単語を認識する処理を開始することが可能となる。また、辞書管理部は、認識部がＮ番目の単語を認識した時点で、（Ｎ＋１）番目の単語の候補となる単語群を含む語末辞書と（Ｎ＋２）番目の単語の候補となる単語群の語頭を含む語頭辞書を読み込む。これにより、認識部は、２番目以降の単語を認識した場合も同様に、次の単語の認識を開始することができる。すなわち、辞書管理部は、認識部が認識した単語に応じて、認識部が必要とする語末辞書および語頭辞書を適切なタイミングで読み込むことができる。
【００１６】
本発明にかかる音声認識装置において、前記辞書管理部は、前記認識部が主記憶装置へ読み込まれた前記語頭辞書を用いて単語の語頭の一部を前記音声と照合した時点で、前記照合した結果に基づいて前記語末辞書および／または語頭辞書の読み込みを開始することが好ましい。
【００１７】
これにより、辞書管理部は、照合結果が示す語頭の一部に対応した語末辞書を読み込むことができる。これにより、適切な語末辞書を効率よく読み込むことができる。
【００１８】
本発明にかかる音声認識装置では、前記語末辞書において、単語の語末それぞれに対応して、その単語の後に続く可能性のある単語群の語頭を含む語頭辞書または該単語群の語末を含む語末辞書を示す辞書識別データが記録されており、前記辞書管理部は、認識部が認識した単語の語末に対応する辞書識別データに基づいて、語頭辞書または語末辞書を読み込むことが好ましい。
【００１９】
辞書管理部は、認識部が認識した単語の語末に対応付けられた辞書識別データを用いることによって、その単語の後に続く可能性のある単語群の語頭を含む語頭辞書または、該単語群の語末を含む語頭辞書を読み込むことができる。
【００２０】
本発明にかかる音声認識装置において、前記辞書データは、語頭辞書を複数含み、前記認識部は、認識した単語の語末に対応する辞書識別データに基づいて、前記認識した単語の次に続く可能性のある単語群の語頭を含む語頭辞書を前記複数の語頭辞書から選択し、選択した語頭辞書を用いて、前記認識した単語の後に続く単語を認識することが好ましい。
【００２１】
認識部は、すでに認識した単語の語末に対応付けられた辞書識別データに基づいて、次の認識した単語の後に続く可能性のある単語群の語頭を含む語頭辞書を選択することができる。そのため、適切な語頭辞書を用いて、認識された単語の後に続く単語の認識処理を効率よく行うことができる。
【００２２】
本発明にかかる音声認識装置において、前記辞書管理部は、主記憶装置に読み込んだ語末辞書および語頭辞書のうち、前記認識部による単語の認識に用いられた後に不要になった語末辞書または語頭辞書を主記憶装置から削除することが好ましい。メモリ上の不要なデータが削除されるので、使用メモリ容量を削減することができる。
【００２３】
本発明にかかる音声認識装置において、前記辞書データは、音声に含まれる可能性のある単語群が、音素数、音節数、モーラ数、単語の出現頻度および使用可能なメモリ容量の少なくとも１つに応じて語頭と語末に分割され、それぞれが前記語頭辞書と前記語尾辞書群に含められて記録された辞書データであることが好ましい。
【００２４】
本発明にかかる音声認識方法は、入力された音声に含まれる複数の連続して対応づけられた単語をコンピュータが認識し、その認識結果を出力する音声認識方法であって、前記コンピュータが、補助記憶装置に予め記録された音響モデルを主記憶装置に読み込む音響モデル読み込む工程と、補助記憶装置に予め記録された、認識する単語の候補となる単語群の語頭を表す語頭辞書と、前記単語群の語末を表す語末辞書と、単語の語順を表す語順データと、語頭辞書と語末辞書の対応を表す対応データとを含む辞書データから、前記コンピュータが、前記語順データ、前記対応データ、前記語頭辞書および前記語末辞書を前記主記憶装置へ読み込む辞書管理工程と、前記コンピュータが、前記主記憶装置へ読み込まれた音響モデルおよび対応データを用いて、前記主記憶装置へ読み込まれた語頭辞書および語末辞書が表す単語群と、入力された前記音声とを照合することで、前記入力音声に含まれる複数の連続して対応づけられた単語を順次認識する認識工程とを含み、前記辞書データは、複数の単語の語頭を示すデータが記録された少なくとも１つの語頭辞書と、前記語頭辞書が示す語頭群に対応する語末群を示すデータが複数の語末辞書として記録された語末辞書群とを含んでおり、前記辞書管理工程において、前記コンピュータは、前記語順データと、前記入力音声に含まれる単語のうち少なくとも１つの単語の候補となる単語群の語頭を含む語頭辞書とを主記憶装置へ読み込んでおき、前記認識工程で、主記憶装置へ読み込まれた前記語頭辞書を用いて単語を認識している間に、前記語順データに基づいて前記語末辞書および／または語頭辞書を読み込む。
【００２５】
本発明にかかる音声認識プログラムは、入力された音声に含まれる複数の連続して対応づけられた単語をが認識し、その認識結果を出力する処理をコンピュータに実行させる音声認識プログラムであって、補助記憶装置に予め記録された音響モデルを主記憶装置に読み込む音響モデル読み込む処理と、補助記憶装置に予め記録された、認識する単語の候補となる単語群の語頭を表す語頭辞書と、前記単語群の語末を表す語末辞書と、単語の語順を表す語順データと、語頭辞書と語末辞書の対応を表す対応データとを含む辞書データから、前記語順データ、前記対応データ、前記語頭辞書および前記語末辞書を前記主記憶装置へ読み込む辞書管理処理と、前記主記憶装置へ読み込まれた音響モデルおよび対応データを用いて、前記主記憶装置へ読み込まれた語頭辞書および語末辞書が表す単語群と、入力された前記音声とを照合することで、前記入力音声に含まれる複数の連続して対応づけられた単語を順次認識する認識処理とをコンピュータに実行させ、前記辞書データは、複数の単語の語頭を示すデータが記録された少なくとも１つの語頭辞書と、前記語頭辞書が示す語頭群に対応する語末群を示すデータが複数の語末辞書として記録された語末辞書群とを含み、前記辞書管理処理において、前記語順データと、前記入力音声に含まれる単語のうち少なくとも１つの単語の候補となる単語群の語頭を含む語頭辞書とを主記憶装置へ読み込んでおき、前記認識処理で、主記憶装置へ読み込まれた前記語頭辞書を用いて単語を認識している間に、前記語順データに基づいて前記語末辞書および／または語頭辞書を読み込む処理をコンピュータに実行させる。
【発明の効果】
【００２６】
本発明によれば、補助記憶装置から辞書データを読み込む際の待ち時間による音声認識処理の遅延を削減することができる音声認識装置、音声認識プログラム、音声認識方法を提供することができる。
【発明を実施するための最良の形態】
【００２７】
（実施の形態１）
図１は、本実施形態における音声認識装置の構成の一例を示す機能ブロック図である。図１に示す音声認識装置１は、入力された音声に含まれる複数の連続する単語を認識し、その認識結果を出力する。音声認識装置１は、例えば、マイクロフォン等の入力装置で入力された音声を認識し、認識結果をディスプレイ、スピーカ、プリンタ等の出力装置に出力してもよい。また、別の例として、音声認識装置１は、上位アプリケーションから音声データを受け取って、その音声データの認識結果を上位アプリケーションに返してもよい。
【００２８】
音声認識装置１は、音声分析部３、音響モデル読み込み部５、認識部７、メモリ８、辞書管理部９を備える。音声認識装置１は、補助記憶装置２に接続されている。本実施形態において、補助記憶装置２には、音響モデル１１と辞書データ１２が記録されている。
【００２９】
音声認識装置１は、少なくともＣＰＵおよびメモリ８を有するコンピュータによって構成される。音声分析部３、音響モデル読み込み部５、認識部７、辞書管理部９の各機能は、ＣＰＵがメモリ８にロードされた所定のプログラムを実行することによって実現される。なお、図１には、１つのメモリ８に対して音響モデル読み込み部５、認識部７、メモリ８、辞書管理部９が読み書きを行う構成を例示しているが、メモリ８は複数設けられても良い。
【００３０】
補助記憶装置２は、例えば、音声認識装置１のＣＰＵにバスを介して接続された記憶装置でもよいし、ネットワークを介して音声認識装置１と接続されている記憶装置でもよい。
【００３１】
音声認識装置１は、例えば、パーソナルコンピュータのような汎用コンピュータで構成されてよい。また、音声認識装置１は、カーナビゲーション装置、携帯電話、ＰＤＡ、ディスプレイ等の電子機器に組み込まれたコンピュータにより構成することもできる。
【００３２】
辞書管理部９は、辞書データ１２のうち必要なデータを読み込む。すなわち、辞書管理部９は、辞書データ１２の中から認識処理に必要なデータのみを随時読み出して、音声認識装置１のコンピュータが備えるメモリ８上に展開する。辞書データ１２は、認識する単語の候補となる単語群を表すデータである。辞書データ１２には、例えば、各単語の文字列データ、各単語の読みを示す情報および各単語の語順を表す文法の情報等が含まれる。各単語の読みを示す情報の例として、例えば、音素列、音節列、発音記号列等のデータが挙げられる。また、単語の語順を表す文法の例として、例えば、文脈自由文法、有限状態文法等のデータが挙げられる。
【００３３】
辞書データには、少なくとも１つの語頭辞書と複数の語末辞書とが含まれる。語頭辞書は、複数の単語の語頭を示すデータである。語末辞書は、語頭辞書が示す語頭群に対応する語末群を示すデータである。語末群は、複数の語末辞書に分けて記録されている。なお、辞書データの具体例は後述する。
【００３４】
音響モデル１１は、例えば、音声の特徴を、音素ごとに統計的にモデル化したデータである。音響モデル１１の例として、ＨＭＭ（Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌ）が挙げられる。音響モデル読み込み部は、音響モデル１１を補助記憶装置２から主記憶装置上に読み込む。
【００３５】
認識部７は、辞書管理部９から、認識する単語の候補となる単語群の語頭および語末の音素列を受け取る。認識部７は、受け取った語頭および語末の音素列に対応するデータを音響モデル１１から抽出し、語頭の音響モデル列と語末の音響モデル列を生成する。
【００３６】
音声認識装置１へ音声が入力されると、音声分析部３は、入力された音声を分析して音声特徴量に変換する。音声特徴量は、認識部７へ渡される。
【００３７】
認識部７は、入力音声の音声特徴量と、語頭群の音響モデル列および語末群の音響モデル列とを照合することにより、候補となる各単語の語頭および語末について類似度を計算する。これらの類似度に基づいて、音声に含まれる単語が認識される。認識部７は、入力音声の前から順に、音声が終了するまで順次単語を認識していく。認識部７は、認識した単語を示すデータを辞書管理部９に渡す。
【００３８】
辞書管理部９は、認識部７が認識した単語に従って、次に発声されうる単語の候補となる単語群の語頭または語末の音素列を、補助記憶装置２から読み出して認識部７に渡す。認識部７および辞書管理部９は、入力音声が終了するまで、上記の認識処理を繰り返す。入力音声が終了した場合、認識部７は、認識した単語列を認識結果として出力する。認識結果は、例えば、文字列データで出力される。
【００３９】
（辞書データの具体例）
図２は、辞書データ１２に含まれる語頭辞書および語末辞書の具体例を示す図である。図２に示す例は、音声認識装置１に日本国内の住所が音声で入力された場合に、その住所を認識する場合に用いられる辞書データの例である。住所を表す音声は、例えば、県名を表す単語→市名を表す単語→区名を表す単語→町域名を表す単語、のように連続する複数の単語を含む。ここで、町域名は、市区町村名の後に続く地名であって丁目および番地を除く部分とする。
【００４０】
図２に示す語頭辞書１０は、音声に含まれうる全ての単語群の語頭を示すデータである。語頭辞書１０では、語頭の音素列と、その語頭と語末とを対応付けるためのデータとが、各語頭について記録されている。例えば、語頭辞書１０の初めのデータ“ａｉ→１”は、単語「愛知県」の語頭「あい」の音素列“ａｉ”と、語頭「あい」を語末の「ちけん」と対応付けるための番号“１”とが対応付けられたデータである。なお、図２では、語頭辞書１０の内容の表示を一部省略している。
【００４１】
語末辞書２０ａ、２０ｂ−１、２０ｂ−２、２０ｃ−１、２０ｃ−２は、語頭辞書１０で表される語頭に対応する語末を示すデータである。語末辞書２０ｂ−１、２０ｂ−２、２０ｃ−１、２０ｃ−２は、それぞれの語末辞書を識別するための辞書識別データ“Ｃ１”、“Ｃ２”、“Ｅ１”、“Ｅ１１”を含む。
【００４２】
語末辞書２０ａ、２０ｂ−１、２０ｂ−２、２０ｃ−１、２０ｃ−２では、語末の音素列と、その語末と語頭とを対応付けるためのデータと、その語末が表す単語の文字列と、その語末に対応付けられた辞書識別データとが、各語末について記録されている。その語末に対応付けられた辞書識別データは、例えば、その語末の次に続く単語の候補となる単語群を含む語末辞書を示すデータである。
【００４３】
例えば、語末辞書２０ａには、県名の語末を示すデータが集められている。語末辞書２０ａの初めのデータ“１．ｔｉｋｅｎ→愛知県：Ｃ１”は、語末の音素列“ｔｉｋｅｎ”と、語末「ちけん」を語頭「あい」と対応付けるための番号“１”と、単語を示す文字列“愛知県”と、辞書識別データ“Ｃ１”とを含んでいる。辞書識別データ“Ｃ１”は、「愛知県」の次に続く単語の候補となる単語群が含まれる語末辞書（ここでは、愛知県の市名の語末辞書２０ｂ−１）を示す。
【００４４】
語末辞書２０ｂ−１は、語末辞書を識別するための識別データ“Ｃ１”と、愛知県内の市（町、村も含む）の名前の語末を示すデータを含んでいる。同様に、語末辞書２０ｂ−２は、識別データ“Ｃ２”と、青森県内の市（町、村、群も含む）の名前の語末を示すデータを含んでいる。語末辞書２０ｃ−１は識別データ“Ｅ１”と名古屋市内の区の名前を示すデータを、語末辞書２０ｃ−２は識別データ“Ｅ１１”と青森市内の町域名の語末を示すデータをそれぞれ含んでいる。
【００４５】
語頭辞書１０および語末辞書語末辞書２０ａ、２０ｂ−１、２０ｂ−２、２０ｃ−１、２０ｃ−２は、例えば、辞書ごとのファイルとして記録されてもよいし、辞書ごとのテーブルとして記録されてもよい。また、複数の辞書を１つのファイルで記録してもよいし、１つの辞書を複数のファイルに分割して記録してもよい。また、例えば、語頭辞書１０と県名の語末辞書２０ａとの組み合わせのように、同時に読み込まれる可能性がある辞書群を１つのファイルまたはテーブルに記録することもできる。つまり、辞書データの形態は、辞書管理部９が辞書データ１２から必要なデータを読み出す際に、データを辞書ごとに識別できる形態であればよい。
【００４６】
このように、音声に含まれ得る単語群の語末は、単語の持つ意味を考慮して、複数の語末辞書に分けて記録される。なお、図２に示した例では、語頭辞書１０に対応する語末辞書を全て示しておらず、一部を省略している。また、各語末辞書に含まれるデータの表示も一部省略している。また、語末辞書および語頭辞書のデータ構成は、図２に示した例に限られない。
【００４７】
（単語を語頭と語末に区切る方法）
図２に示すような、語頭辞書と語末辞書を作成するには、１つの単語を語頭と語末とに分けて記録する必要がある。ここで、単語を語頭と語末に区切る方法の例を説明する。１つの方法として、音響モデルの単位（音素、音節またはモーラ数）で単語を区切り、その区切り位置のいずれかを、語頭と語末の区切り位置とすることができる。例えば、単語を音節で区切った場合、単語の先頭から２音節を語頭、３音節目以降を語末とすることができる。先頭の何個分の音節を語頭にするかは、例えば、利用可能なメモリ８の容量、外部記録装置からの読み込み時間、出現頻度等に応じて計算により決めてもよい。また、使用可能メモリ容量が十分にある場合は、語頭を長くすることで、処理の遅延の削減量を多くすることができる。例えば、発声頻度が他の単語と比べて高い単語は、他の単語よりも語頭の長さを長くすることができる。
【００４８】
（音声認識装置の動作例）
図３は、音声認識装置１が音声を認識する処理の一例を示すフローチャートである。本動作例では、日本国内の住所が音声で入力され、その住所を認識する場合を具体例に挙げて説明する。本動作例で音声認識装置１は、入力された音声に含まれる最初の単語は県名を表す単語であり、次の単語はその県に含まれる市、町、群または村の名前を表す単語であり、その後の単語は、その市、町、群または村に含まれる区または町域の名前を表す単語であることを前提として音声を認識する。このように、本実施形態において、認識の対象となる連続する複数の単語それぞれの候補となる単語群は、単語の語順を表す文法等により関連付けられていることが前提である。この関連付けの具体例として、以下説明するのは、日本国内の県、愛知県内の市、名古屋市内の区等である。
【００４９】
音声認識装置１に音声が入力される前に、まず、辞書管理部９は、語頭辞書を補助記憶装置２から主記憶装置であるメモリ８に読み込んでおく（Ｏｐ１）。ここで読み込まれる語頭辞書には、音声に含まれ得る全ての単語の語頭を示すデータが含まれている。
【００５０】
辞書管理部９は、入力音声の先頭に発声され得る単語の候補となる単語群の語末を含む語末辞書も読み込んでおく（Ｏｐ２）。先頭に発声され得る単語の候補となる単語群は、音声認識装置１の仕様によって予め決められる。例えば、音声認識装置１の仕様が住所を認識する仕様である場合、先頭に発声され得る単語は県名と決められる。Ｏｐ１とＯｐ２の具体例としては、図２に示した、全ての単語の語頭を示す語頭辞書１０と、県名の語末を示す語末辞書２０ａが辞書管理部９によってまず読み込まれる。
【００５１】
音響モデル読み込み部５は、音響モデル１１を補助記憶装置２からメモリ８へ読み込んでおく（Ｏｐ３）。これにより、認識部７は、少なくとも先頭の単語の語頭および語末については、メモリ８に読み込まれた音響モデル、語頭辞書および語末辞書を用いて認識処理ができる。また先頭の単語の後に続く単語の語頭については、メモリ８に読み込まれた音響モデル、および語頭辞書を用いて認識処理ができるようになる。
【００５２】
音声入力が開始されると（Ｏｐ４）、音声分析部３が、入力された音声を分析して音声特徴量に変換する（Ｏｐ５）。ここで、音声分析部３は、入力された音声を時間軸に沿って幾つかのフレームに分割し、各フレームに対して音声特徴量を計算する。音声特徴量の例としては、スペクトルやケプストラム等が挙げられる。
【００５３】
認識部７は、変数ｉを“１”に初期化する（Ｏｐ６）。認識部７は、Ｏｐ１でメモリ８に読み込まれた語頭辞書が表す単語の語頭と、入力音声の先頭からｉ番目の単語の語頭に相当するフレームの音声特徴量とを照合する（Ｏｐ７）。この照合の際には、Ｏｐ３で読み込まれた音響モデルが用いられる。
【００５４】
語頭辞書においては、各語頭が音素列で表されている。認識部７は、語頭辞書に含まれる各音素列に対応する音響モデル列を、音響モデル１１を用いて生成する。図２に示す例においては、語頭辞書１０に含まれる各音素列“ａｉ”、“ａｏ”、“ａｋ”、“ｎａ”・・・（以下の音素列省略）のそれぞれに対応する音響モデル列が生成される。認識部７は、この各音素列に対応する音響モデル列と、入力音声の先頭からｉ番目の単語の語頭に相当するフレームの音声特徴量とを照合して、各音素列に対応する音響モデル列と音声特徴量との類似度を計算する。ｉ＝１の場合、認識部７は、入力音声の先頭部分に相当するフレームの特徴量と音響モデル列との類似度を計算する。
【００５５】
次に、認識部７は、音響モデルを用いて、メモリ８に読み込まれている語末辞書が表す単語の語末と、入力音声の先頭からｉ番目の単語の語末に相当するフレームの音声特徴量とを照合する（Ｏｐ８）。ここで照合に用いられる語末辞書は、認識部７がｉ番目に認識する単語の候補となる単語群の語末を含む語末辞書（以下、「ｉ番目の単語の語末辞書」と称する）である。ｉ番目の単語の語末辞書がメモリ８に読み込まれていなければ、辞書管理部９が読み込み完了するまで、認識部７は待機する。ｉ＝１の場合は、１番目の単語の語末辞書２０ａはＯｐ２で既に読み込まれている。そのため、認識部７は待機することなく、その語末辞書２０ａを用いて１番目の単語の語末を認識することができる。図２に示す例においては、既に読み込まれている県名の語末辞書２０ａの各音素列“ｔｉｋｅｎ”、“ｍｏｒｉｋｅｎ”、“ｉｔａｋｅｎ”、・・・（以下の音素列省略）のそれぞれに対応する音響モデル列が生成され、これらの音響モデル列と、１番目の単語の語末に相当するフレームの音声特徴量との類似度が計算される。
【００５６】
認識部７は、Ｏｐ７で計算された語頭辞書の各音素列についての類似度と、Ｏｐ８で計算された語末辞書の各音素列についての類似度とから、入力音声の先頭からｉ番目の単語を認識する（Ｏｐ９）。認識部７は、例えば、語頭辞書に含まれる複数の語頭と、語末辞書に含まれる複数の語末とを組み合わせてできる単語のうち、語頭の類似度と語末の類似度との和が最も高い音素列の単語をｉ番目の単語と認識することができる。
【００５７】
図２に示す例においては、ｉ＝１の場合、認識部７は、語頭辞書１０に含まれる語頭と、県名の語末辞書２０ａに含まれる語末とを組み合わせて県名の音素列を生成する。ここで、例えば、語頭辞書１０の音素列“ａｉ”には、語頭と語末とを対応付けるためのデータ“１”が記録されているので、認識部７は、語頭辞書１０の語頭“ａｉ”と語末辞書２０ａの語末“１．ｔｉｋｅｎ”と組み合わせて県名の音素列“ａｉｔｉｋｅｎ”を生成することができる。
【００５８】
このようにして生成される県名の音素列“ａｉｔｉｋｅｎ”、“ａｏｍｏｒｉｋｅｎ”、“ａｋｉｔａｋｅｎ”、“ｎａｇａｎｏｋｅｎ”、・・・（以下の音素列省略）それぞれについて、語頭の音響モデル列の類似度と語末の音響モデル列の類似度の和を計算し、、最も類似度が高い音素列の県名を、入力音声の１番目の単語と認識する。
【００５９】
なお、語頭の音響モデル列と語末の音響モデル列とを連結した連結音響モデル列と、入力音声との類似度を計算し、最も類似度が高い連結音響モデル列に対応する単語を、入力音声の単語と認識することもできる。
【００６０】
認識部７は、上記のように認識した単語を辞書管理部９に渡す。辞書管理部９は、渡された単語に基づいて、（ｉ＋１）番目の単語の候補となる単語群が含まれる語末辞書を決定する（Ｏｐ１０）。辞書管理部９は、すでに読み込まれている語末辞書中の、渡された単語の語末に対応付けられた辞書識別データを基に、（ｉ＋１）番目の語末辞書を決定することができる。辞書識別データは、語末辞書において、各語末に対応付けられて記録されたデータであり、語末の次に続く単語の候補となる単語群を含む語末辞書を示すデータである。
【００６１】
例えば、図２に示す県名の語末辞書２０ａにおいて、語末の音素列“ｔｉｋｅｎ”、“ｍｏｒｉｋｅｎ”・・・（以下の音素列省略）にそれぞれ対応する辞書識別データ“Ｃ１”、“Ｃ２”が記録されている。図２に示す例では、これら辞書識別データ“Ｃ１”、“Ｃ２”は、語末辞書２０ｂ−１、２０ｂ―２をそれぞれ示している。例えば、ｉ番目の単語として“ａｉｔｉｋｅｎ”が辞書管理部９へ渡された場合、辞書管理部９は、語末辞書２０ａの音素列“ｔｉｋｅｎ”に対応付けられた辞書識別データ“Ｃ１”を参照する。これにより、辞書管理部９は、辞書識別データとして“Ｃ１”を持つ語末辞書２０ｂ−１（愛知県の市名を含む語末辞書）が、次に続く（ｉ＋１）番目の単語の候補となる単語群が含まれる語末辞書（すなわち、（ｉ＋１）番目の単語の語末辞書）であると決定する。このように、次に来る単語の認識に用いる語末辞書を決定することで、適切なタイミングで単語の認識に必要な語末辞書のみ読み込むことが可能となる。
【００６２】
また、例えば、図２に示す語末辞書２０ｃ−１、２０ｃ−２のように、辞書識別データがなく、次の辞書の指定がない場合がある。この場合、認識するべき単語は全て認識したと判断して、音声認識処理は終了する。すなわち、（ｉ＋1）番目の単語の語末辞書がない場合（Ｏｐ１１でＮｏ）、音声認識処理は終了する。
【００６３】
（ｉ＋１）番目の単語の語末辞書が決定すると（Ｏｐ１１でＹｅｓ）、辞書管理部９は、ｉ番目の単語の照合に使用した語末辞書をメモリ８上から削除する。このように使わなくなった辞書をメモリ８上から削除することで、使用メモリ量を抑えることができる。例えば、ｉ＝１の場合に、入力音声の１番目の単語として県名が認識されると、辞書管理部９は、県名の語末辞書２０ａをメモリ８上から削除する。
【００６４】
Ｏｐ１１の後、変数ｉに１が足される（Ｏｐ１２）。その後、辞書管理部９は、Ｏｐ１０で決定した語末辞書、すなわちｉ番目の単語の語末辞書の読み込みを開始する（Ｏｐ１３）。この語末辞書読み込み（Ｏｐ１３）と略同時に、認識部７は、語頭辞書が表す単語の語頭を、ｉ番目の単語に相当するフレームの音声特徴量と照合する（Ｏｐ７）。
【００６５】
ｉ＝２の場合であって、図２に示す例において、１番目の単語として“ａｉｔｉｋｅｎ”（愛知県）という県名が認識された場合について説明する。この場合、辞書管理部９は、語末辞書２０ａの“ｔｉｋｅｎ”の辞書識別データ“Ｃ１”が示す語末辞書２０ｂ−１を補助記憶装置２からメモリ８へ読み込む。これと略同時に、認識部７は、語頭辞書１０の音素列と、入力音声の先頭から２番目の単語に相当するフレームの音声特徴量とを照合する。これにより、辞書管理部９が、認識部７で認識された県名を基に、その県名の次に発声されうる市名の語末辞書２０ｂ−１を読み込む処理と並行して、認識部７が市名の語頭を照合する処理が行われる。
【００６６】
Ｏｐ７〜Ｏｐ１３の処理は、Ｏｐ１１で後に続く辞書がなくなったと判断されるまで繰り返される。これにより、音声に含まれる連続する単語の列が順次認識される。例えば、ｉ＝２の時に、入力音声の先頭から２番目の単語が、語頭“ｎａ”（図２の語頭辞書１０参照）と語末“ｇｏｙａｓｉ”（語末辞書２０ｂ−１参照）との組み合わせの単語“ｎａｇｏｙａｓｉ”と認識された場合、辞書管理部９は、名古屋市内の区名を表す語末辞書２０ｃ−１を読み込む。これと同時に、認識部７は語頭辞書１０を基に区名の語頭を照合する。また、認識部７は、読み込まれた語末辞書２０ｃ−１を用いて、区名の語末を照合する。認識結果として例えば、“ｎａｋａｋｕ”が得られるとする。ここで区名に続く単語の候補となる単語群を含む語末辞書がない場合（Ｏｐ１１でＮｏ）、認識結果として「愛知県  名古屋市  中区」が出力される。このようにして、音声に含まれる県名、市名、区名を表す単語が順次認識される。
【００６７】
図４は、図３に示す処理の実行状況を時間軸上に表した図である。図４において、Ｔ軸は時間を表す。図４においては、図３に示したＯｐ７〜１３の処理を実行している時間がそれぞれ矢印で示されている。一例として、ｉ＝１におけるＯｐ７、８、９、１０〜１２の処理と、ｉ＝２におけるＯｐ１３、７、８の処理の実行時間がそれぞれ矢印で示されている。ｉ＝１において、Ｏｐ７、８、９およびＯｐ１０〜１２の処理が順次実行されてＴ１でＯｐ１２の処理が終了する。Ｔ１から、Ｏｐ１３の２番目の単語の語末辞書をメモリ８へ読み込む処理と、Ｏｐ７の２番目の単語の語頭を照合する処理とが同時に開始される。ここで、Ｏｐ１３の語末辞書読み込み処理の間にも、Ｏｐ７の処理が進められているので、処理の遅延が削減される。Ｏｐ１３の処理は時刻Ｔ２に終了する、すなわち、時刻Ｔ２に語末辞書の読み込みが完了する。時刻Ｔ２より、Ｏｐ１３で読み込まれた語末辞書を用いて、Ｏｐ８の照合処理が行われる。
【００６８】
なお、図４に示す処理の実行時間は、一例であって、音声認識装置１の動作はこれに限定されない。例えば、図４では、ｉ＝２においてＯｐ１３の処理よりＯｐ７の処理の方が早く終了しているが、Ｏｐ１３の処理がＯｐ７の処理より早く終了する場合もあり得る。
【００６９】
また、図３に示す上記処理も、音声認識装置１の動作の一例を示す処理であって、本発明にかかる音声認識装置の動作は、これに限られるものではない。例えば、図３に示す処理においては、認識部７は、語頭辞書を用いて計算された類似度と、語末辞書を用いて計算された類似度との和に基づいて単語を認識しているが、語頭辞書を用いて語頭だけを認識し、語末辞書を用いて語末だけを認識して、認識した語頭と語末を組み合わせた単語を認識結果としてもよい。
【００７０】
また、辞書データ１２に含まれる語頭辞書と語末辞書の構成も図２に示す構成に限られない。図２に示す語末辞書は、ある１つの上位概念に含まれる下位概念を表す単語を１つの語末辞書に集めた構造を有する。すなわち、図２に示す例では、県名を表す単語の語末が設けられ、さらに各県に含まれる市を表す単語の語末辞書が県ごとに設けられている。しかし、概念の異なる単語が１つの辞書に含まれる構成であってもよい。例えば、ある単語の次に続く候補となる単語群を１つの辞書に含ませ、その辞書を前記単語に対応付けるデータとともに記録してもよい。
【００７１】
（語末辞書の変形例）
また、図２に示す語末辞書の変形例として、１つの上位概念に含まれる下位概念を表す単語を、その単語の語頭によってさらに複数の語末辞書に分けて記録することもできる。図５は、図２に示す語末辞書２０ｂ−１に含まれる語末を、複数の語末辞書に分けた場合の例を示す図である。図５では、語末辞書２０ｂ−１に含まれる語末が、語頭“ｎ”に対応する語末“ｇｏｙａｓｉ”、“ｇａｋｕｔｅｃｈｏ”・・・を含む語末辞書２０ｂ−１１と、語頭“ｔ”に対応する語末“ｙｏｔａｓｉ”、“ｙｏｈａｓｉｓｉ”、“ｙｏｋａｗａｓｉ”・・・を含む語末辞書２０ｂ−１２およびその他（図示せず）の語末辞書に分けて記録されている。
【００７２】
このように、各語頭に対応した語末を集めた語末辞書を記録することにより、辞書管理部９は、認識部７が単語の語頭の一部の照合した時点で、その照合結果に基づいて、読み込む語末辞書を選択することができる。例えば、認識部７が市名を表す単語の語頭の最初の一音素を“ｎ”と認識した場合、辞書管理部９は、図５に示す語末辞書２０ｂ−１１を読み込む語末辞書として選択することができる。これにより、読み込む語末辞書のサイズが小さくなる。その結果、語末辞書を読み込む時間が短縮し、かつ使用メモリ量を節約することができる。
【００７３】
図６は、上記の単語の語頭の照合結果を基に読み込む語末辞書を選択する場合の図３に示す処理の実行状況を時間軸上に表した図である。図６に示す実行状況では、ｉ＝１におけるＯｐ１０〜１２が終了した時刻Ｔ１で、ｉ＝２におけるＯｐ７の処理が開始されているが、Ｏｐ１３の処理が開始されていない。Ｏｐ１３は、時刻Ｔ１´に開始されている。時刻Ｔ１´は、Ｏｐ７の照合処理により、２番目の単語の語頭の照合結果が得られた時刻である。Ｏｐ１３の語末辞書読み込み処理は、２番目の照合結果に基づいて実行される。
【００７４】
（実施の形態２）
実施の形態１では、辞書データに１つの語頭辞書のみが含まれる場合の音声認識処理について説明した。実施の形態２では、辞書データに複数の語頭辞書が含まれる場合の音声認識処理について説明する。本実施形態において認識部１は、複数の語頭辞書の中から適切な語頭辞書を適宜選んで音声認識処理を行う。なお、本実施形態における音声認識装置の構成は、図１に示す音声認識装置１の構成と同様である。
【００７５】
図７は、実施の形態２における辞書データに含まれる語頭辞書および語末辞書の具体例を示す図である。図７において、図２に示す辞書と同じ内容の辞書には同じ番号を付し説明を省略する。図７に示す辞書データにおける語頭辞書には、複数の語頭辞書１００−１、１００−２、１００−３、１００−４が含まれている。これらの語頭辞書は、入力音声に含まれる可能性のある全ての単語の語頭が、複数の語頭辞書に分けて記録されたデータである。ここでは、一例として、県名を表す単語の語頭を含む語頭辞書１００−１、各県に含まれる市町村の名前を表す単語の語頭を含む語頭辞書１００−２、１００−３、・・・、各市に含まれる区名または町域名を表す単語の語頭を含む語頭辞書１００−４、・・・に分けて単語群の語頭が記録されている。
【００７６】
このように単語群の語頭を複数の語頭辞書に分けて記録するのは、後述するように、認識部７が、認識する単語の候補に応じて必要な語頭群のみを参照することを可能にするためである。したがって、語頭辞書は、認識対象となる連続する単語それぞれの候補となる単語群に対応して設けられることが好ましい。
【００７７】
なお、複数の語頭辞書１００−１、１００−２、１００−３、１００−４は、例えば、辞書ごとのファイルとして記録されてもよいし、辞書ごとのテーブルとして記録されてもよい。また、複数の辞書を１つのファイルで記録してもよいし、１つの辞書を複数のファイルに分割して記録してもよい。また、例えば、県名の語頭辞書１００−１と県名の語末辞書２０ａとの組み合わせのように、同時に読み込まれる可能性がある辞書群を１つのファイルまたはテーブルに記録することもできる。
【００７８】
図８は、実施の形態２における音声認識装置が音声を認識する処理の一例を示すフローチャートである。図８において、図２に示す処理と同じ処理には同じ番号を付し、詳細な説明を省略する。
【００７９】
図８に示すように、辞書管理部９は、まず、辞書データ１２に含まれる複数の語頭辞書全てをメモリ８へ読み込む（Ｏｐ１ａ）。入力音声に含まれる可能性のある全ての単語の語頭が、ここで読み込まれた複数の語頭辞書に分けて記録されている。読み込まれる複数の語頭辞書の一部の具体例が、図７に示す語頭辞書１００−１、１００−２、１００−３、１００−４である。
【００８０】
Ｏｐ２〜６の処理は、図２と同様である。Ｏｐ７ａにおいて、認識部７は、音響モデルを用いて、語頭辞書が表す単語の語頭と、入力音声の先頭からｉ番目の単語の語頭に相当するフレームの音声特徴量とを照合する。ここで照合に用いられる語頭辞書は、ｉ番目の単語の候補となる単語群の語頭を含む語頭辞書（以下、ｉ番目の単語の語頭辞書と称する）である。。認識部７は、このｉ番目の語頭辞書に含まれる各音素列に対応する音響モデル列と、入力音声の先頭からｉ番目の単語の語頭に相当するフレームの音声特徴量とを照合して、両者の類似度を計算する。
【００８１】
ｉ＝１の場合、１番目の語頭辞書の具体例は、図７に示す語頭辞書１００−１である。語頭辞書１００−１は、音声の初めに発声されうる県名を表す単語の語頭の音素列“ａｉ”、“ａｏ”、“ａｋ”、・・・（以下、音素列省略）を含む。認識部７は、これらの各音素列に対応する音響モデル列と、音声の冒頭部分に相当するフレームの特徴量との類似度を計算する。
【００８２】
次に、認識部７は、音響モデルを用いて、語末辞書が表す単語の語末と、ｉ番目の単語の語末に相当するフレームの音声特徴量とを照合する（Ｏｐ８）。ここで照合に用いられる語末辞書は、ｉ番目の単語の語末辞書である。
【００８３】
認識部７は、Ｏｐ７ａで計算された語頭辞書の各音素列について類似度と、Ｏｐ８で計算された語末辞書の各音素列についての類似度とから、入力音声の先頭からｉ番目の単語を認識する（Ｏｐ９）
ｉ番目の単語が認識されると、辞書管理部９は、ｉ番目の単語に基づいて、（ｉ＋１）番目の単語の候補となる単語群の語末が含まれる語末辞書（以下、「（ｉ＋１）番目の単語の語末辞書」と称する）を決定する（Ｏｐ１０）。（ｉ＋１）番目の単語の語末辞書がある場合（Ｏｐ１１でＹｅｓ）さらに、辞書管理部９は、（ｉ＋１）番目の単語の候補となる単語群の語頭が含まれる語頭辞書（以下、「（ｉ＋１）番目の単語の語頭辞書」と称する）も決定する（Ｏｐ１０ａ）。辞書管理部９は、すでに読み込まれている語末辞書中の、渡された単語の語末に対応付けられた辞書識別データを基に、（ｉ＋１）番目の語頭辞書および（ｉ＋１）番目の語末辞書を決定することができる。
【００８４】
例えば、図７に示す県名の語末辞書２０ａにおいて、語末の音素列“ｔｉｋｅｎ”・・・（以下の音素列省略）に対応する辞書識別データ“Ｃ１”が記録されている。図７に示す例では、辞書識別データ“Ｃ１”は、語末辞書２０ｂ−１および語頭辞書１００−２を示している。例えば、１番目の単語として“ａｉｔｉｋｅｎ”が辞書管理部９へ渡された場合、辞書管理部９は、“Ｃ１”を辞書識別データに持つ語頭辞書１００−２が、次に続く（ｉ＋１）番目の単語の語頭辞書であると決定することができる。また、辞書管理部９は、“Ｃ１”を辞書識別データに持つ語末辞書２０ｂ−１が、（ｉ＋１）番目の語頭辞書であると決定する。このようにして次に来る単語の認識に用いる語頭辞書および語末辞書を決定することで、適切なタイミングで単語の認識に必要な語末辞書のみメモリ８へ読み込むことが可能となるとともに、認識に必要な語頭辞書のみを参照して単語を認識することが可能になる。
【００８５】
Ｏｐ１０の後、辞書管理部９は、ｉ番目の単語の照合に使用した語末辞書をメモリ８上から削除する。ｉ＝１の場合、１番目の単語についてＯｐ１０の処理が終了すると、辞書管理部９は、県名の語頭辞書１００−１および県名の語末辞書２０ａをメモリ８上から削除する。このように、認識部７が既に認識した単語の語頭辞書および語末辞書をメモリ８から削除することで、使用メモリ量を節約することができる。
【００８６】
その後、変数ｉに１が足され（Ｏｐ１２）、辞書管理部９による語末辞書読み込み（Ｏｐ１３）と略同時に、認識部７は、Ｏｐ１０ａで決定した語頭辞書、すなわちｉ番目の単語の語頭辞書が表す単語の語頭を、ｉ番目の単語に相当するフレームの音声特徴量と照合する（Ｏｐ７ａ）。
【００８７】
ｉ＝２で、図７に示す例において、１番目の単語として“ａｉｔｉｋｅｎ”（愛知県）という県名が認識された場合について説明する。この場合、辞書管理部９は、語末辞書２０ａの“ｔｉｋｅｎ”の辞書識別データ“Ｃ１”が示す語末辞書２０ｂ−１を補助記憶装置２からメモリ８へ読み込む。これと略同時に、認識部７は、辞書識別データ“Ｃ１”が示す語頭辞書１００−２の音素列と、２番目の単語に相当するフレームの音声特徴量とを照合する。これにより、認識部７が認識した県名を基に、その県名の次に発声されうる市名の語末辞書２０ｂ−１を読み込む処理が行われる。さらにこれと並行して、認識部７が、その県名の次に発声されうる市名の語頭辞書１００−２と、県名に続く音声に相当するフレームの音声特徴量とを照合する。その結果、認識部７は、複数ある語頭辞書のうち、認識に必要な語頭辞書についてのみ照合処理（Ｏｐ７ａ）を行うことができる。そのため、音声認識処理にかかる時間が短縮される。
【００８８】
Ｏｐ７ａ〜Ｏｐ１３の処理は、Ｏｐ１１で後に続く辞書がなくなったと判断されるまで繰り返される。これにより、音声に含まれる連続する単語の列が順次認識される。
【００８９】
（実施の形態３）
実施の形態１、２では、全ての単語の語頭を含む語頭辞書が予め読み込まれる場合の音声認識処理について説明した。実施の形態３では、辞書管理部９は、辞書データ１２に含まれる複数の語頭辞書のうち、一部を予め読み込んでおく。すなわち、本実施形態は、辞書管理部９が認識部７の処理に応じて随時適切な語頭辞書を読み込む形態である。本実施形態における音声認識装置の構成は、図１に示す音声認識装置１の構成と同様である。
【００９０】
図９は、実施の形態３における辞書データに含まれる語頭辞書および語末辞書の具体例を示す図である。図９において、図７に示す辞書と同じ内容の辞書には同じ番号を付し詳細な説明を省略する。図９に示す辞書データにおける語頭辞書には、複数の語頭辞書１００−１、１００−２、１００−３、１００−４、１００−５が含まれている。
【００９１】
これらのうち、辞書管理部９が、音声が入力される前に予め読み込んでおく語頭辞書は、県名の語頭辞書１００−１と、それぞれの県における市名（町名も含む）の語頭辞書１００−２、１００−３である。このように、辞書管理部９は、２つの連続する単語（例えば、県名を表す単語と市名を表す単語）の候補となる単語群の語頭を含む語頭辞書を読み込んでおく。
【００９２】
図１０は、実施の形態３における音声認識装置が音声を認識する処理の一例を示すフローチャートである。図１０において、図８に示す処理と同じ処理には同じ番号を付し、詳細な説明を省略する。
【００９３】
図１０に示すように、辞書管理部９は、まず、２つの連続する単語の候補となる単語群を含む語頭辞書をメモリ８へ読み込む（Ｏｐ１ｂ）。入力音声の先頭の単語と、２番目の単語の候補となる全ての単語の語頭が、ここでメモリ８に読み込まれた複数の語頭辞書に分けて記録されている。読み込まれる複数の語頭辞書の具体例は、図９に示す語頭辞書１００−１、１００−２、１００−３である。図９に示す例では、音声の先頭の県名を表す単語の候補となる単語群の語頭を含む語頭辞書１００−１と、音声の先頭から２番目の市、町、群または村の名前を表す単語の候補となる単語群の語頭を含む語頭辞書１００−１、１００−２、・・・がメモリ８へ読み込まれる。
【００９４】
Ｏｐ２〜１１の処理は、図８と同様である。ｉ＋１番目の語末辞書がある場合（Ｏｐ１１でＹｅｓ）、Ｏｐ１０ｂにおいて、辞書管理部９は、（ｉ＋１）番目の語頭辞書を決定する。さらに、辞書管理部９は、（ｉ＋２）番目の単語の候補となる単語群の語頭が含まれる語頭辞書（以下、（ｉ＋２）番目の単語の語頭辞書と称する）も決定する。辞書管理部９は、すでに読み込まれている語末辞書中の、渡された単語の語末に対応付けられた辞書識別データを基に、（ｉ＋２）番目の語頭辞書を決定することができる。
【００９５】
例えば、図９に示す県名の語末辞書２０ａにおいて、語末の音素列“ｔｉｋｅｎ”・・・（以下の音素列省略）に対応付けられた辞書識別データ“Ｃ１”が記録されている。図９に示す例では、辞書識別データ“Ｃ１”は、語末辞書２０ｂ−１および語頭辞書１００−２を示している。例えば、１番目の単語として“ａｉｔｉｋｅｎ”が辞書管理部９へ渡された場合、辞書管理部９は、“Ｃ１”を辞書識別データに有する語頭辞書１００−２が、次に続く（ｉ＋１）番目の語頭辞書であると決定することができる。また、辞書管理部９は、“Ｃ１”を辞書識別データに有する語末辞書２０ｂ−１が、（ｉ＋１）番目の語頭辞書であると決定する。
【００９６】
そしてさらに、辞書管理部９は、語末辞書２０ｂ−１に含まれる語末の各音素列に対応付けられた辞書識別データ“Ｅ１”、“Ｅ２”を参照する。これらの辞書識別データにより、辞書管理部９は、（ｉ＋２）番目の単語の語頭辞書を決定する。この場合、（ｉ＋２）番目の単語の語頭辞書は、辞書識別データ“Ｅ１”、“Ｅ２”が示す語頭辞書１００−４、１００−５である。なお、語末辞書２０ｂ−１に含まれる語末は、紙面の制約のため、“ｇｏｙａｓｉ”“ｇａｋｕｔｅ”の２つだけ表示し、残りの表示は省略している。
【００９７】
Ｏｐ１０ｂの後、辞書管理部９は、ｉ番目の単語の照合に使用した語頭辞書および語末辞書をメモリ８上から削除する。図９に示す例において、ｉ＝１の場合であって、１番目の単語として県名が認識された場合、辞書管理部９は、県名の語頭辞書１００−１および県名の語末辞書２０ａをメモリ８上から削除する。
【００９８】
Ｏｐ１０ｂの後、変数ｉに１が足され（Ｏｐ１２）、辞書管理部９は、Ｏｐ１０で決定した語末辞書、すなわちｉ番目の単語の語末辞書の読み込みを開始する（Ｏｐ１３ｂ）。また、Ｏｐ１３ｂにおいて辞書管理部９は、Ｏｐ１０ｂで決定した（ｉ＋１）番目の単語の語頭辞書の読み込みも開始する。
【００９９】
この語末辞書および語末辞書の読み込み（Ｏｐ１３ｂ）と略同時に、認識部７は、Ｏｐ１０ｂで決定した語頭辞書、すなわちｉ番目の単語の語頭辞書が表す単語の語頭を、ｉ番目の単語に相当するフレームの音声特徴量と照合する（Ｏｐ７ａ）。
【０１００】
ｉ＝２で、図９に示す例において、１番目の単語として“ａｉｔｉｋｅｎ”（愛知県）という県名が認識された場合について説明する。この場合、辞書管理部９は、語末辞書２０ａの“ｔｉｋｅｎ”に対応付けられた辞書識別データ“Ｃ１”が示す語末辞書２０ｂ−１を補助記憶装置２からメモリ８へ読み込む。さらに、辞書管理部９は、語頭辞書１００−４、１００−５もメモリ８へ読み込む。これと略同時に、認識部７は、辞書識別データ“Ｃ１”が示す語頭辞書１００−２の音素列と、２番目の単語に相当するフレームの音声特徴量とを照合する。
【０１０１】
これにより、認識部７が認識した県名を基に、その県名の次に発声されうる市名の語末辞書２０ｂ−１を読み込む処理が行われる。また、その市名の次に発声されうる単語の語頭辞書１００−４、１００−５を読み込む処理も行われる。さらにこれらの処理と並行して、認識部７が、その県名の次に発声されうる市名の語頭辞書１００−２と、県名に続く音声に相当するフレームの音声特徴量とを照合する。
【０１０２】
このように、本実施形態によれば、語末辞書に加えて語頭辞書も、認識処理に合わせて随時読み込まれるので、辞書管理部９は、全ての単語の候補についての語頭辞書を予め読み込んでおく必要はない。少なくとも２つの連続する単語の候補について語頭辞書を読み込んでおくだけで、随時、必要に応じて語頭辞書が読み込まれる。これにより、メモリ使用量を節約することができる。
【０１０３】
なお、本実施形態では、２つの連続する単語の候補について語頭辞書を読み込む例を説明したが、読み込む語頭辞書は、２つの連続する単語の候補分に限られない。辞書管理部９は、少なくとも２つの連続する単語の候補となる単語群の語頭を含む語頭辞書をメモリへ読み込んでおけば、認識部７は、入力された音声に含まれる少なくとも２つの連続する単語の語頭に相当する部分を、メモリに読み込まれた語頭辞書と照合することができる。したがって、認識部７が１つの単語を認識した後に、辞書管理部９がその認識された単語に応じて語末辞書および／または語頭辞書を読み込む間に、その単語の次に続く音声を、その単語の次に続く単語の候補となる単語の語頭を含む語頭辞書と照合することができる。
【０１０４】
上記実施の形態１〜３にかかる音声認識装置は、組み込み機器のようにリソース（ＣＰＵ、メモリ）の少ないプラットフォームで構成された場合に、レスポンス（発声が終了してから認識結果を提示するまでの時間）が削減される効果を特に奏する。
【０１０５】
なお、上記の実施形態１〜３においては、住所を認識する例を説明したが、本発明にかかる音声認識装置の対象となる音声内容は住所に限られない。それぞれの単語の候補となる単語群が１つ前の単語と関連付けられているような連続する単語を含む音声を認識する音声認識装置に本発明を適用できる。このような連続する単語が発声される場合の例として、アーティスト名、アルバム名、曲名が続いて発声される場合、会社名、所属部署名、役職名、氏名が続けて発声される場合、所要時間または距離、施設名が続けて発声される場合等があげられる。
【０１０６】
また、上記実施の形態１〜３においては、単語を１つずつ認識することにより、複数の単語を認識する場合について説明したが、連続する単語を認識する処理は、このような処理に限られない。
【０１０７】
（語順を表すデータの変形例）
また、上記実施の形態１〜３では、語順を表すデータは、語末辞書において、各語末に対応付けられた辞書識別データとして記録されていた。しかし、語順を表すデータは、必ずしも語末辞書に含まれて記録される必要はない。例えば、語順を表すデータが記録された文法ファイルが設けられてもよい。
【０１０８】
図１１は、語頭辞書、語末辞書およびそれらに含まれる単語の語順を表す文法ファイル３０の例を示す図である。図１１に示す語頭辞書には、それぞれ辞書識別データとして“０”、“２３”、“１２”、“１３”、“２３０１”が記録されている。また、これらの語頭辞書に対応する語末辞書にも、辞書識別データとして“１”、“２３”、“１２”、“１３”、“２３０１”が記録されている。
【０１０９】
文法ファイル３０には、1行目に、入力された音声において最初に認識する単語の候補となる単語群が含まれる辞書の辞書識別データ“０”が記録されている。すなわち、最初に読み込むべき辞書の辞書識別データが記録されている。２行目の“０-１”は、辞書識別データ“０”が示す辞書の１番目の単語を表している。図２において“０-１”は、語頭辞書 “０”の一番目の語頭“ａｉ”と、語末辞書“０”の一番目の語末“ｔｉｋｅｎ”からなる単語“ａｉｔｉｋｅｎ”を表す。この“０-１” の“→”を隔てて隣の“２３”は、“ａｉｔｉｋｅｎ”の次に続く単語の候補となる単語群が含まれる辞書の辞書識別データである。
【０１１０】
文法ファイル３０の３〜５行目は、２行目と同様に、単語を表すデータと、その単語に続く単語の候補となる単語群を含む辞書の辞書識別データとが対応付けられて記録されている。６行目の“２３０１-１  →  −１”は、辞書識別データ“２３０１”で示される辞書の1番目単語“ｎａｋａｋｕ”の後に続く単語はなく、認識するべき単語が終了したことを意味している。これにより、例えば、認識部７は、“ａｉｔｉｋｅｎ”、“ｎａｇｏｙａｓｉ”、“ｎａｋａｋｕ”の順で発声された音声を認識することができる。
【０１１１】
このような文法ファイル３０を参照することにより、辞書管理部９は、最初に読み込む辞書、認識部７が単語を認識した後に次に読み込む辞書、および、認識すべき単語が終了したことを示す情報を得ることができる。また、文法ファイル３０の内容を書き換えれば、同じ語頭辞書および同じ語末辞書を用いて、異なる発声を認識することができる。例えば、単語“ｎａｋａｋｕ”が１番目に発声され、その次に“ｎａｇｏｙａｓｉ”が発声される可能性がある場合は、文法ファイル３０の1行目に“ｎａｋａｋｕ”を含む辞書の辞書識別データ “２３０１”を記録するとよい。2行目以降に、“ｎａｋａｋｕ”の後に続く単語の候補となる辞書が“ｎａｇｏｙａｓｉ”を含む辞書となるように、 “２３０１-１  →  ２３”と記録することによって、“ｎａｋａｋｕ  ｎａｇｏｙａｓｉ”という発声を識別することが可能になる。
【産業上の利用可能性】
【０１１２】
本発明は、音声認識辞書を全て主記憶装置上に置けない、メモリに制約のある、利用者の発声する連続単語を認識する音声認識処理において、単語認識のための単語辞書がある補助記憶装置からのロードの待ち時間による認識時間の遅延を削減することができる音声認識装置、音声認識プログラム、音声認識方法およびこれらに用いられる辞書データを記録した記録媒体として有用である。
【図面の簡単な説明】
【０１１３】
【図１】実施の形態１における音声認識装置の構成の一例を示す機能ブロック図
【図２】辞書データに含まれる語頭辞書および語末辞書の具体例を示す図
【図３】音声認識装置が音声を認識する処理の一例を示すフローチャート
【図４】図３に示す処理の実行状況を時間軸上に表した図
【図５】図２に示す語末辞書２０ｂ−１に含まれる語末を、複数の語末辞書に分けた場合の例を示す図
【図６】図３に示す処理の他の実行状況を時間軸上に表した図
【図７】実施の形態２における語頭辞書および語末辞書の具体例を示す図
【図８】実施の形態２における音声を認識する処理の一例を示すフローチャート
【図９】実施の形態３における語頭辞書および語末辞書の具体例を示す図
【図１０】実施の形態３における音声を認識する処理の一例を示すフローチャート
【図１１】語頭辞書、語末辞書および文法ファイルの例を示す図
【符号の説明】
【０１１４】
１      音声認識装置
２      補助記憶装置
３      音声分析部
５      音響モデル読み込み部
７      認識部
９      辞書管理部
１０    語頭辞書
１１    音響モデル
１２    辞書データ
２０    語末辞書
【図１】
0004671898.tif 000002
【図２】
0004671898.tif 000003
【図３】
0004671898.tif 000004
【図４】
0004671898.tif 000005
【図５】
0004671898.tif 000006
【図６】
0004671898.tif 000007
【図７】
0004671898.tif 000008
【図８】
0004671898.tif 000009
【図９】
0004671898.tif 000010
【図１０】
0004671898.tif 000011
【図１１】
0004671898.tif 000012