(57)【要約】【課題】音声による検索や受付けなどの際の入力音声を認識するために用いる言語モデル（記号連鎖確率）を、その認識用タスクのテキストデータベースを作成することなく簡単に生成することを可能とする。【解決手段】認識対象タスク用キーワードリスト１５０に含まれるキーワードの集合ＫＷ、リスト１５０中のキーワードＡの出現確率がＰｔ（Ａ）、認識対象タスクと直接関係しない複数のテキストデータベース１６０−ｎ（ｎ＝１，…，Ｎ）中の単語Ａの出現確率がＰｎ（Ａ）、出現数がＣｎ（Ａ）、全単語数がΣｋＣｎ（ｋ）のとき、【数１】2004053745.tif 000004を最大とするｗ１　，…，ｗＮ　を最尤推定し、例えばＣ（Ａ）＝ｗ１　・Ｃ１（Ａ）＋…＋ｗＮ　・ＣＮ（Ａ），ΣｋＣ（ｋ）、より単語Ａの出現確率Ｐ（Ａ）＝Ｃ（Ａ）／ΣｋＣ（ｋ）により求める。【選択図】　　　図２
2004053745.tif 000002
【特許請求の範囲】
【請求項１】
認識対象のタスクに関するキーワードを格納した認識タスク用キーワードリストと、互いに異なる種類のテキストデータをそれぞれ格納した複数のテキストデータベース（以下、一般用テキストデータベースという）とを用い、
上記認識対象タスクに対する上記各一般用テキストデータベースの関連を示す重みを求め、
上記複数の一般的なテキストデータベースを用いて、注目する記号（単語）についてそれを含むテキストデータが格納されているデータベースの上記関連を示す重みを与えて、記号および記号列の出現頻度を計算して記号連鎖確率（言語モデル）を生成することを特徴とする言語モデル生成方法。
【請求項２】
上記認識タスク用キーワードリストから得られる情報に基づいて、各一般用テキストデータベースのテキストデータの関連性を検証し、認識タスク用キーワードリストとの関連性の大きい一般用テキストデータベースに大きな重みを与えることを特徴とする請求項１記載の言語モデル生成方法。
【請求項３】
上記関連性の検証には、各一般用テキストデータベースについて認識タスク用キーワードリストのキーワードの出現頻度を求め、この出現頻度をすべての一般用テキストデータベースについて、重み付きで加算し、すべてのキーワードについてキーワードリストにおける出現確率を乗じて加算した値が最大となるように最尤推定を用いて、上記重みを計算することを特徴とする請求項２記載の言語モデル生成方法。
【請求項４】
上記関連性の検証には、各一般用テキストデータベースについて認識タスク用キーワードリストのキーワードの属性（クラス）の出現頻度を求め、この出現頻度をすべての一般用テキストデータベースについて、重み付きで加算し、すべてのキーワードの属性（クラス）についてキーワードリストにおける出現確率を乗じて加算した値が最大となるように最尤推定を用いて、上記重みを計算することを特徴とする請求項２記載の言語モデル生成方法。
【請求項５】
上記複数の各一般用テキストデータベースは上記認識対象タスクと直接関係しないテキストデータが格納されていることを特徴とする請求項１〜４の何れかに記載の言語モデル生成方法。
【請求項６】
認識対象のタスクに関するキーワードが格納された認識タスク用キーワードリストと、
上記認識対象タスクと直接関係しない一般的なテキストデータが格納された複数の一般用テキストデータベースと、
上記認識対象タスクに対する上記各一般用テキストデータベースの関連を示す重みを求める重み決定部と、
注目する記号（単語）が入力され、上記複数の一般的なテキストデータベースにおける記号および記号列の出現頻度を、各データベースに上記関連を示す重みを与えて計算して記号連鎖確率（言語モデル）を生成する記号連鎖確率生成部とを具備する言語モデル生成装置。
【請求項７】
上記重み決定部は、上記認識タスク用キーワードリストの各キーワードについて各一般用テキストデータベースにおけるそのキーワードの出現頻度を、すべてのテキストデータベースについて、重み付きで加算し、すべてのキーワードについてキーワードリストにおける出現確率を乗じて加算した値が最大となるように最尤推定を用いて、上記重みを計算する手段であることを特徴とする請求項６記載の言語モデル生成装置。
【請求項８】
上記重み決定部は、上記認識タスク用キーワードリストの各キーワードの属性（クラス）について各一般用テキストデータベースにおけるその属性（クラス）の出現頻度を、すべてのテキストデータベースについて重み付きで加算し、すべてのキーワードの属性（クラス）についてキーワードリストにおける出現確率を乗じて加算した値が最大となるように最尤推定を用いて上記重みを計算する手段であることを特徴とする請求項６記載の言語モデル生成装置。
【請求項９】
請求項１乃至５の何れかに記載の言語モデル生成方法の各手順をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、例えば人が発声した文章などの音声を入力信号とし、その音声を音響モデルおよび記号連鎖確率（言語モデル）を用いて認識し、その結果を記号列として出力する音声認識方法に用いられる、前記言語モデルの生成方法、その装置及びプログラムに関するものである。
【０００２】
【従来の技術】
音声入力を音声認識により記号列（単語列）に変換する場合、大規模なテキストデータベースから記号（単語）の出現連鎖に関する記号連鎖確率（言語モデル）を生成し、それを利用することで音声認識性能を向上させる手法が従来から知られている。しかし、認識タスク（発声内容）が、記号連鎖確率の生成に用いた大規模なテキストデータベースのタスクと異なったりする場合には有効性が低かった。
そこで、このような問題点を解決するため、特開平０４−２９１３９９号公報に示すように、認識タスクに類似したテキストデータベースから作成した学習用記号連鎖確率を用いて、大規模なテキストデータベースから生成した記号連鎖確率を適応化し、この適応化された記号連鎖確率を利用して音声認識を行うようにした技術も従来から提案されている。
【０００３】
また、特開２００２−８２６９０号公報に示すように、認識タスクに関するテキストデータベースに基づいて、大規模なテキストデータベース中の各データに認識タスクとの関連の高さに応じた重みを与えて記号連鎖確率を作成し、この作成された記号連鎖確率を利用して音声認識を行うようにした技術も従来から提案されている。
【０００４】
【発明が解決しようとする課題】
上述した認識タスクに関するテキストデータベースを用いる従来の技術は、大規模なテキストデータベースから生成した記号連鎖確率のみを用いる技術に比較して、高い認識性能を実現できるが、この発明の第１の目的は更に高い認識性能を実現可能とする言語モデル生成方法、その装置およびプログラムを提供することにある。
また従来の方法は認識タスクに関するテキストデータベースを用意できない（既存のものがない）場合には利用できないという問題があった。例えば天気予報の問合せに対する音声応答システムを構築する場合に、その天気予報の問合せ音声（認識タスク）に関する各種の問合せ文に関するテキストデータを作成または収集して認識タスクテキストデータベースを作ることになるが、その認識タスクが新しい場合にその認識タスクテキストデータベースを作るのが大変な作業となる。
【０００５】
そこで、この発明の第２の目的は、認識タスクに関するテキストデータベースを用いることなく、複数の一般（既存）のテキストデータベースを用いて、記号連鎖確率を生成し、それを認識に用いることにより認識タスクに対して高精度な認識をすることができる言語モデルの生成方法、その装置及びプログラムを提供することにある。
【０００６】
【課題を解決するための手段】
この発明の言語モデル生成方法によれば、認識対象のタスク（発声内容）に関するキーワードを格納した認識タスク用キーワードリストを用意し、互いに認識対象を異にする複数のテキストデータベース（以下一般用テキストデータベースという）と、前記キーワードリストを用い、認識タスク用キーワードリストに対する各一般用テキストデータベースの関連（類似性）を示す重みを求め、一般用テキストデータベースを用い、注目する記号（単語）についてそれが属するデータベースの重みを与えて記号連鎖確率を生成する。一般用テキストデータベースは認識対象タスクとは直接関係しなくても構わない。
【０００７】
各一般用テキストデータベースの重みを求めるには、例えば認識タスク用キーワードリストから得られる情報に基づいて、各一般用テキストデータベースのテキストデータの関連性（類似度）を検証し、認識タスク用キーワードリストとの関連性の大きい一般用テキストデータベースに大きな重みを与える。認識タスク用キーワードリストと一般用テキストデータベータの関連性（類似度）の検証には、例えば各一般用テキストデータベースについて、認識タスク用キーワードリストのキーワードの出現確率、または認識タスク用キーワードリストのキーワードの属性と同じ属性の単語の出現確率を求めて用いる。
【０００８】
この発明の言語モデル生成装置によれば、認識対象のタスクに関するキーワードが格納された認識タスク用キーワードリストと、上記認識対象タスクに限らず様々なタスクに関する一般的なテキストデータが格納された複数の一般用テキストデータベースと、上記認識対象タスクに対する上記各一般用テキストデータベースの関連を示す重みを求める重み決定部と、注目する記号（単語）が入力され、上記複数の一般的なテキストデータベースにおける記号および記号列の出現頻度を、各データベースに上記関連を示す重みを与えて計算して記号連鎖確率（言語モデル）を生成する記号連鎖確率生成部とを具備する。
【０００９】
好ましくは上記重み決定部は、上記認識タスク用キーワードリストの各キーワードについて各一般用テキストデータベースにおけるそのキーワードの出現頻度を、すべてのテキストデータベースについて、重み付きで加算し、すべてのキーワードについてキーワードリストにおける出現確率を乗じて加算した値が最大となるように最尤推定を用いて、上記重みを計算するものである。あるいは上記重み決定部は、上記認識タスク用キーワードリストの各キーワードの属性（クラス）について各一般用テキストデータベースにおけるその属性（クラス）の出現頻度を、すべてのテキストデータベースについて重み付きで加算し、すべてのキーワードの属性（クラス）についてキーワードリストにおける出現確率を乗じて加算した値が最大となるように最尤推定を用いて上記重みを計算するものである。
【００１０】
【発明の実施の形態】
この発明の実施の形態について図面を参照して詳細に説明する。図１にこの発明により生成された言語モデルを用いる音声認識装置の構成例を示す。
音声認識部１１０と、記号連鎖確率（言語モデル）データベース１２０と、音声標準パタンデータベース１３０と、認識タスク用記号連鎖確率生成部１４０と、認識タスク用キーワードリスト１５０と、複数の一般用テキストデータベース１６０−１〜１６０−Ｎとを備えている。
音声標準パタンデータベース１３０は、予め分析された音声の標準パタンを複数保持している。認識タスク用キーワードリスト１５０には認識対象タスク（発声内容）と関連したキーワードが含まれる。認識対象タスクが例えばレストラン検索の場合、音声認識技術を用いたレストラン検索システムに対して発声される発話文に含まれるキーワード「日本」「フランス」「中華」…，「新宿」「横浜」「浦和」…が認識タスク用キーワードリスト１５０にコンピュータにより読み取り可能に格納される。一般用テキストデータベース１６０−１〜１６０−Ｎは、例えば新聞記事データベース、小説データベース、天気予報問合せシステム向け発話テキストデータベース、株価問合せシステム向け発話テキストデータベースなど既存のものが用いられ、対象タスクごとに一つの一般用テキストデータベース１６０−ｎ（ｎ＝１，２，…，Ｎ）を構成してもよいし、発話テキスト一文ごとにそれぞれ一つの一般用テキストデータベース１６０−ｎ（ｎ＝１，２，…，Ｎ）を構成してもよい。これら一般用テキストデータベース１６０−１〜１６０−Ｎはそのテキストデータがそのまま又は単語の区切を付けてコンピュータにより読み取り可能に記憶部に格納されている。
【００１１】
認識タスク用記号連鎖確率生成部１４０は、この発明による記号連鎖確率（言語モデル）生成方法を実行するものであって、認識処理に先立って、認識タスク用キーワードリスト１５０と、一般用テキストデータベース１６０−１〜１６０−Ｎとから、認識タスクに対する関連性の大きいテキストデータを含む一般用テキストデータベースにより大きな重みを付けて、これら認識タスク用キーワードリストと一般用テキストデータベースを用いて、認識タスクに対して高精度な絞り込みをすることが可能な記号連鎖確率（言語モデル）を生成してそれを記号連鎖確率データベース１２０にコンピュータにより読み取り可能に格納する。音声認識部１１０は、入力音声に対して、記号連鎖確率データベース１２０の記号連鎖確率および音声標準パタンデータベース１３０の音声標準パタンなどから得られる情報に基づいて記号列候補の絞り込みを行い、認識結果である記号列を出力する。通常、音声標準パタンを用いて、音素、単語などの認識候補をまず求め、これら候補について言語モデルを用いて、最も大きな確率が得られるものを認識記号列とする。
【００１２】
図２に、認識タスク用記号連鎖確率生成部１４０の構成例を示し、この図２を参照してこの発明による言語モデル、つまり記号連鎖確率の生成方法及びその装置の実施例を説明する。重み決定部２１０では、認識タスク用キーワードリスト１５０中のキーワードと各一般用テキストデータベース１６０−ｎの各テキストデータとを入力し、認識タスクのキーワードと各一般用テキストデータベース１６０−ｎのテキストデータとの関連性の大きさからその一般用テキストデータベース１６０−ｎに対する重みｗｎ　を決定する。この重みｗｎ　は関連性の大きいもの程大きくするが、具体的決定手法は後で説明する。複数の一般用テキストデータベース１６０−１〜１６０−Ｎに重みｗ１　〜ｗＮ　をそれぞれ格納し、又は重み記憶部２１１に格納する。
【００１３】
記号連鎖確率生成部２２０では、重み決定部２１０が出力した重み付きの複数の一般用テキストデータベース１６０−１〜１６０−Ｎの各テキストデータを入力し、記号連鎖確率（言語モデル）を生成して記号連鎖確率データベース１２０に格納する。この記号連鎖確率、つまり、ユニグラム、バイグラム、トライグラム、一般的にはＭグラム（Ｍは１以上の整数）の生成の基本的な手法は従来の手法と同様であるが、複数の一般的テキストデータベース１６０−１〜１６０−Ｎを１つのテキストデータベースとして、このテキストデータベースから記号連鎖確率を生成するが、その際に、各記号（単語）について、それが属するテキストデータベースの重みを考慮する。例えば単語Ａについて、一般用テキストデータベース１６０−１〜１６０−Ｎにおける各出現回数をＣ１（Ａ）〜ＣＮ（Ａ）とすると、これらに対し、そのデータベースの重みを乗じて加算し、
Ｃ（Ａ）＝ｗ１　・Ｃ１（Ａ）＋ｗ２　・Ｃ２（Ａ）＋…＋ｗＮ　・ＣＮ（Ａ）　（１）
を単語Ａの出現回数とし、同様にして他の単語の出現回数を求める。単語Ａの出現確率（ユニグラム）Ｐ（Ａ）は、単語Ａの出現回数Ｃ（Ａ）をすべての単語の出現回数ΣｋＣ（ｋ）で割った。
【００１４】
Ｐ（Ａ）＝Ｃ（Ａ）／ΣｋＣ（ｋ）　　　　　　　　　　　　　　　（２）
となり、同様にして他の単語の出現確率を求めて記号連鎖確率データベース１２０に格納する。
あるいは、例えば単語Ａの次に単語Ｂが生じる確率であるバイグラムの場合、単語Ａに続いて単語Ｂが出現する回数について、一般用テキストデータベース１６０−１〜１６０−Ｎにおける各出現回数をＣ１（Ａ，Ｂ）〜ＣＮ（Ａ，Ｂ）とすると、これらについてそれぞれのデータベースの重みを乗じて加算した
Ｃ（Ａ，Ｂ）＝ｗ１　・Ｃ１（Ａ，Ｂ）＋ｗ２　・Ｃ２（Ａ，Ｂ）＋…＋ｗＮ　・ＣＮ（Ａ，Ｂ）　　　　　　（３）
を単語連鎖Ａ，Ｂの出現回数とし、それを単語Ａの出現回数Ｃ（Ａ）で割った
Ｐ（Ｂ｜Ａ）＝Ｃ（Ａ，Ｂ）／Ｃ（Ａ）　　　　　　　　　　　　　（４）
を単語Ａの次に単語Ｂが生じるバイグラム確率として、同様にして他の単語連鎖の確率を求めて記号連鎖確率データベース１２０に格納してもよい。
【００１５】
つまり記号連鎖確率生成部２２０では例えば、出現回数計数部２２１で、各データベース１６０−１〜１６０−Ｎにおける各出現回数Ｃ１（Ａ）〜ＣＮ（Ａ）（あるいはＣ１（Ａ，Ｂ）〜ＣＮ（Ａ，Ｂ））をそれぞれ計数し、これら各出現回数Ｃｎ（Ａ）（あるいはＣｎ（Ａ，Ｂ））（ｎ＝１，…，Ｎ）に対応するデータベース１６０−ｎの重みｗｎ　をそれぞれ重み乗算部２２２で乗算し、その各乗算結果ｗｎ　・Ｃｎ（Ａ）（あるいはｗｎ　・Ｃｎ（Ａ，Ｂ））を累積加算部２２３で累積加算して、Ｃ（Ａ）（あるいはＣ（Ａ，Ｂ））を求め、これら累積加算値はバッファ部２２４に一時格納され、加算部２２５ですべての単位についての累積加算値Ｃ（ｋ）（ｋ＝Ａ，Ｂ，…）を加算して、すべての単語の出現回数ΣＣ（ｋ）を求める。
【００１６】
出現確率計算部２２６で各単語についての式（２）や各単語連鎖についての式（４）をそれぞれ計算する。
次に、認識タスク用記号連鎖確率生成部１４０中の重み決定部２１０における処理手順を説明する。例えば、認識タスク用キーワードリスト１５０に含まれるキーワードの集合がＫＷで、認識タスク用キーワードリスト１５０中におけるキーワードＡの出現確率がＰｔ（Ａ）で、一般用テキストデータベース１６０−ｎにおける単語Ａの出現確率（ユニグラム）がＰｎ（Ａ）、そのデータベース１６０−ｎのすべての単語数がΣｋＣｎ（ｋ）のとき、
【００１７】
【数１】
2004053745.tif 000003
【００１８】
を最大とするようなｗ＝ｗ１　，ｗ２　，…，ｗＮ　を最尤推定により求める。キーワードの集合ＫＷのキーワードの数を｜ＫＷ｜とするとキーワードＡの出現確率Ｐｔ（Ａ）＝１／｜ＫＷ｜となり、認識用タスク用キーワードリスト１５中のすべてのキーワードのそれぞれの出現確率は１／｜ＫＷ｜となる。
以上の説明より、重み決定部２１０は出現回数計数部２１２で各データベース１６０−ｎにおける各単語ｋ（ｋ＝Ａ，Ｂ，…）の数が計数Ｃｎ（ｋ）が計数され、これがバッファ部２１３に格納され、すべてのデータベース１６０−１〜１６０−Ｎにおけるすべての単語の出現回数Ｃｎ（ｋ）の計数が終了すると、最尤推定部２１４で式（５）を最大にする重みｗ１　，ｗ２　，…，ｗＮ　が最尤推定法により推定される。最尤推定部２１４には１／｜ＫＷ｜も入力されている。なお出現回数計数部２１２では各単語ｋの各データベースごとの出現回数Ｃｎ（ｋ）を計数しているためこの計数結果を、記号連鎖確率生成部２２０内の出現回数計数部２２１でのＣｎ（ｋ）の計数に利用できる。
【００１９】
以上述べたようにこの実施例では、認識タスク用キーワードリスト１５０と各一般用データベース１６０−１〜１６０−Ｎとの関連性を求めて、各データベース１６０−１〜１６０−Ｎの重みｗ１　〜ｗＮ　を求めているため認識タスク用テキストデータベースと一般用データベースとの関連性を求める場合より、キーワードとの関連性が直接的になり、従来技術より関連性をより正確に求めることができ、それだけ認識率を高めることが可能となる。しかも認識タスク用キーワードリスト１５０の作成は、認識タスク用テキストデータベースを作成する場合と比較して頗る簡単であり、それだけ言語モデルを簡単に作成できることになる。
【００２０】
なお、認識タスク用のテキストデータベースが利用可能の場合には、認識タスク用のテキストデータベースを一般用テキストデータベース１６０−１〜１６０−Ｎに含め、認識タスク用キーワードリスト１５０および認識タスク用のテキストデータベースに含まれる単語の集合をＫＷとすることで、上記Ｌ（ｗ）を最大とするようなｗ＝ｗ１　，ｗ２　，…，ｗＮ　を最尤推定により求めてもよい。この場合は各キーワードｋの出現確率Ｐｔ（ｋ）がキーワードにより異なってくる場合が多い。この場合も認識タスク用キーワードリストと各テキストデータベースとの関連性を求めているため、従来よりも正確に重みを決定できる。
【００２１】
上述の重みｗ＝ｗ１　，ｗ２　，…，ｗＮ　の推定において、キーワードの代わりにキーワードの属性（クラス）を用いてもよい。例えば、キーワードリスト内の「東京」「神奈川」「大阪」…という単語の属性を「都道府県名」と定義しておき、一般用テキストデータベース１６０−１〜１６０−Ｎに出現する「都道府県名」属性の単語の出現回数について、上述の方法で重みを推定してもよい。このようにすれば、例えばキーワードとして「横須賀」があるが、データベース１６０−１〜１６０−Ｎ中に単語「横須賀」がないものがあると、そのデータベースが有効に利用できなくなる可能性があるが、属性により重みを推定すればそのようなおそれはなくなる。
【００２２】
また、認識タスクと関連性の低いデータを排除する（重みを０とする）ことにより、保持する情報を削減して、記号連鎖確率（言語モデル）を格納する記号連鎖確率データベース１２０の記憶容量を小さくすることができる。
上述した言語モデルの生成及び音声認識はコンピュータによりプログラムを実行させて行うこともできる。例えば図３に示すように各部がバス３７０に接続され、メモリ３４０に言語モデル生成プログラムがＣＤ−ＲＯＭ、ハードディスクなどからあるいは通信回線を介してインストールされてあり、ＣＰＵ３６０がこの言語モデル生成プログラムを実行することにより、認識タスク用キーワードリスト１５０、一般用テキストデータベース１６０−１〜１６０−Ｎを用いて、重みｗ＝ｗ１　，ｗ２　，…，ｗＮ　を上述の方法で求め、その後、重みｗ＝ｗ１　，ｗ２　，…，ｗＮ　を用いて一般用テキストデータベース１６０−１〜１６０−Ｎの単語について記号連鎖確率（言語モデル）を生成して記号連鎖確率データベース１２０に格納する。
【００２３】
その後、音声認識を行うが、メモリ３５０に音声認識プログラムを前述と同様にインストールしておき、入力部３１０に音声が入力されると、ＣＰＵ３６０が音声認識プログラムを実行し、記号連鎖確率データベース１２０、音声標準パタンデータベース１３０を参照して音声認識を行い、その結果の記号列を出力部３３０から出力する。なお入力部３１０で入力される音声は例えば線形予測分析されたＬＰＣケプストラム、ＬＰＣデルタケプストラム、対数パワーなどの特徴パラメータのベクトルデータ時系列とされたものである。記憶部３２０は言語モデル生成や、音声認識時に一時にデータを記憶するためなどに用いられる。
【００２４】
なおこの発明の言語モデル生成方法は音声認識に利用する場合に限らず、手書文字データの認識にも利用できる。
【００２５】
【発明の効果】
以上述べたようにこの発明によれば下記の効果を得ることができる。
一般の大規模データベース群から、認識タスク用キーワードリストに関連したデータに重み付けをすることにより、より正確に関連性と対応した重みを求めることができ、それだけ言語モデルも正しいものとなる。
特に認識タスクに関するテキストデータを用いずに、認識タスクに対して高精度な記号連鎖確率を生成することができ、認識タスクのテキストデータベースが存在しない場合にこれを作る必要がなく、それだけ簡単に言語モデルを作ることができる。
【００２６】
重み付けの際に、認識タスク用キーワードリストに対して関連性（類似度）の低いデータに対する重みを０にすれば、高精度かつ記憶容量の小さい記号連鎖確率を生成することができる。
【図面の簡単な説明】
【図１】この発明の言語モデル生成方法を用いた音声認識方法が適用される装置の機能構成例を示すブロック図。
【図２】この発明の言語モデル（記号連鎖確率）生成方法が適用される言語モデル生成装置の機能構成例を示すブロック図。
【図３】この発明による言語モデル生成方法、これを用いる音声認識方法をコンピュータにより実行される場合の機能構成例を示す図。
【図１】
2004053745.tif 000005
【図２】
2004053745.tif 000006
【図３】
2004053745.tif 000007