(57)【要約】【課題】認識対象タスクや言語モデル学習データの性質に合わせた高精度な言語モデルを生成することにある。【解決手段】言語モデル種類記憶部と、言語モデル組み合わせ選択部とを具備する言語モデル生成システムによって解決できる。言語モデル種類記憶部は、言語モデルのスムージングに利用可能な言語モデルの種類と、その依存関係とを記憶する。言語モデル組み合わせ選択部は、言語モデルの種類と、その依存関係とを参照し、所定の組み合わせ選択基準に従い、スムージングに用いる言語モデルの組み合わせを選択する。【選択図】図１
2009145775.tif 000002
【特許請求の範囲】
【請求項１】
言語モデルのスムージングに利用可能な言語モデルの種類と、その依存関係とを記憶する言語モデル種類記憶手段と、
前記言語モデルの種類と、その依存関係とを参照し、所定の組み合わせ選択基準に従い、スムージングに用いる言語モデルの組み合わせを選択する言語モデル組み合わせ選択手段とを具備する
言語モデル生成システム。
【請求項２】
前記言語モデル種類記憶手段は、
言語モデルの種類をノードにて表し、その依存関係をアークにて表した言語モデル種類グラフのデータ形式にて、前記言語モデルの種類と、その依存関係とを記憶し、
前記言語モデル組み合わせ選択手段は、
前記言語モデル種類グラフを参照し、一つ目のノードから、アークにて結合された二つ目のノードへ、前記言語モデル種類グラフを辿ることによって、スムージングに用いる言語モデルの組み合わせを選択する
請求項１記載の言語モデル生成システム。
【請求項３】
前記言語モデル種類記憶手段は、
前記言語モデルの種類と、その依存関係として、Ｎ−ｇｒａｍの種類と、その依存関係とを記憶し、Ｎ−ｇｒａｍの種類をノードにて表し、その依存関係をアークにて表したＮ−ｇｒａｍ種類グラフのデータ形式にて、前記Ｎ−ｇｒａｍの種類と、その依存関係とを記憶し、
前記言語モデル組み合わせ選択手段は、
前記Ｎ−ｇｒａｍ種類グラフを辿ることによって、スムージングに用いる言語モデルの組み合わせを選択する
請求項２記載の言語モデル生成システム。
【請求項４】
言語モデルを作成するための学習コーパスを記憶すると共に、前記学習コーパスについて、少なくとも大きさ又は偏りのいずれかを示す属性を含む一つ又は複数の属性を記憶するコーパス記憶手段を更に具備し、
前記言語モデル組み合わせ選択手段は、
前記コーパス記憶手段を参照し、前記組み合わせ選択基準として、前記属性を用いる
請求項３記載の言語モデル生成システム。
【請求項５】
前記コーパス記憶手段は、
前記学習コーパスの大きさを示す属性であるコーパスの総単語数、又は、前記学習コーパスの偏りを示す属性であるＮ（但し、Ｎは複数）単語連鎖のヒストグラムの偏りの少なくとも一つを含む複数の属性を記憶し、
前記言語モデル組み合わせ選択手段は、
前記コーパス記憶手段を参照し、前記組み合わせ選択基準として、前記属性を複数用いる
請求項４記載の言語モデル生成システム。
【請求項６】
言語モデルを評価するためのテキストデータを記憶するテストセット記憶手段と、
前記学習コーパスを読み込み、言語モデル生成に必要な単語連鎖の頻度を計数する単語連鎖頻度計数手段と、
前記単語連鎖頻度計数手段によって計数された単語連鎖の頻度と、前記言語モデル組み合わせ選択手段によって選択された言語モデルの組み合わせを元に、単語接続の確率値を計算する単語接続確率計算手段とを更に具備し、
前記言語モデル組み合わせ選択手段は、
前記テストセット記憶手段を参照し、前記組み合わせ選択基準として、前記確率値を前記テキストデータに適用して得られる情報を用いる
請求項４又は５記載の言語モデル生成システム。
【請求項７】
前記学習コーパスを読み込み、言語モデル学習に用いる部分とテストに用いる部分とに分割するコーパス分割手段を更に具備し、
前記単語連鎖頻度計数手段は、
前記言語モデル学習に用いる部分を読み込んで、前記単語連鎖の頻度を計数し、
前記言語モデル組み合わせ選択手段は、
前記テストに用いる部分を参照し、前記組み合わせ選択基準として、前記確率値を前記テストに用いる部分に適用して得られる情報を用いる
請求項６記載の言語モデル生成システム。
【請求項８】
語彙が有限個のクラスに分類される言語モデルに現れる語彙について、各単語が属するクラス情報を記憶する単語クラス情報記憶手段を更に具備し、
前記言語モデル組み合わせ選択手段は、
前記クラス情報を参照し、それぞれのクラス毎に、スムージングに用いる言語モデルの組み合わせを選択する
請求項２ないし７いずれか１項に記載の言語モデル生成システム。
【請求項９】
請求項１ないし８いずれか１項に記載の言語モデル生成システムと、
前記言語モデル生成システムによって生成される言語モデルを用いる音声認識システムとを具備する
言語モデル生成及び音声認識を行うシステム。
【請求項１０】
言語モデルのスムージングに利用可能な言語モデルの種類と、その依存関係とを記憶することと、
前記言語モデルの種類と、その依存関係とを参照し、所定の組み合わせ選択基準に従い、スムージングに用いる言語モデルの組み合わせを選択することとを具備する
言語モデル生成方法。
【請求項１１】
前記その依存関係とを記憶することは、
言語モデルの種類をノードにて表し、その依存関係をアークにて表した言語モデル種類グラフのデータ形式にて、前記言語モデルの種類と、その依存関係とを記憶することを含み、
前記選択することは、
前記言語モデル種類グラフを参照し、一つ目のノードから、アークにて結合された二つ目のノードへ、前記言語モデル種類グラフを辿ることによって、スムージングに用いる言語モデルの組み合わせを選択することを含む
請求項１０記載の言語モデル生成方法。
【請求項１２】
前記その依存関係とを記憶することは、
前記言語モデルの種類と、その依存関係として、Ｎ−ｇｒａｍの種類と、その依存関係とを記憶し、Ｎ−ｇｒａｍの種類をノードにて表し、その依存関係をアークにて表したＮ−ｇｒａｍ種類グラフのデータ形式にて、前記Ｎ−ｇｒａｍの種類と、その依存関係とを記憶することを含み、
前記選択することは、
前記Ｎ−ｇｒａｍ種類グラフを辿ることによって、スムージングに用いる言語モデルの組み合わせを選択することを含む
請求項１１記載の言語モデル生成方法。
【請求項１３】
言語モデルを作成するための学習コーパスを記憶すると共に、前記学習コーパスについて、少なくとも大きさ又は偏りのいずれかを示す属性を含む一つ又は複数の属性を記憶することを更に具備し、
前記選択することは、
前記組み合わせ選択基準として、前記属性を用いることを含む
請求項１２記載の言語モデル生成方法。
【請求項１４】
前記属性を記憶することは、
前記学習コーパスの大きさを示す属性であるコーパスの総単語数、又は、前記学習コーパスの偏りを示す属性であるＮ（但し、Ｎは複数）単語連鎖のヒストグラムの偏りの少なくとも一つを含む複数の属性を記憶することを含み、
前記選択することは、
前記組み合わせ選択基準として、前記属性を複数用いることを含む
請求項１３記載の言語モデル生成方法。
【請求項１５】
言語モデルを評価するためのテキストデータを記憶することと、
前記学習コーパスを読み込み、言語モデル生成に必要な単語連鎖の頻度を計数することと、
前記単語連鎖頻度計数手段によって計数された単語連鎖の頻度と、前記言語モデル組み合わせ選択手段によって選択された言語モデルの組み合わせを元に、単語接続の確率値を計算することとを更に具備し、
前記選択することは、
前記組み合わせ選択基準として、前記確率値を前記テキストデータに適用して得られる情報を用いることを含む
請求項１３又は１４記載の言語モデル生成方法。
【請求項１６】
前記学習コーパスを読み込み、言語モデル学習に用いる部分とテストに用いる部分とに分割することを更に具備し、
前記計数することは、
前記言語モデル学習に用いる部分を読み込んで、前記単語連鎖の頻度を計数することを含み、
前記選択することは、
前記テストに用いる部分を参照し、前記組み合わせ選択基準として、前記確率値を前記テストに用いる部分に適用して得られる情報を用いることを含む
請求項１５記載の言語モデル生成方法。
【請求項１７】
語彙が有限個のクラスに分類される言語モデルに現れる語彙について、各単語が属するクラス情報を記憶することを更に具備し、
前記選択することは、
前記クラス情報を参照し、それぞれのクラス毎に、スムージングに用いる言語モデルの組み合わせを選択することを含む
請求項１１ないし１６いずれか１項に記載の言語モデル生成方法。
【請求項１８】
言語モデルのスムージングに利用可能な言語モデルの種類と、その依存関係とを記憶する言語モデル種類記憶手段と、
前記言語モデルの種類と、その依存関係とを参照し、所定の組み合わせ選択基準に従い、スムージングに用いる言語モデルの組み合わせを選択する言語モデル組み合わせ選択手段ととしてコンピュータを機能させるための
言語モデル生成用プログラム。
【請求項１９】
前記言語モデル種類記憶手段は、
言語モデルの種類をノードにて表し、その依存関係をアークにて表した言語モデル種類グラフのデータ形式にて、前記言語モデルの種類と、その依存関係とを記憶し、
前記言語モデル組み合わせ選択手段は、
前記言語モデル種類グラフを参照し、一つ目のノードから、アークにて結合された二つ目のノードへ、前記言語モデル種類グラフを辿ることによって、スムージングに用いる言語モデルの組み合わせを選択する
請求項１８記載の言語モデル生成用プログラム。
【請求項２０】
前記言語モデル種類記憶手段は、
前記言語モデルの種類と、その依存関係として、Ｎ−ｇｒａｍの種類と、その依存関係とを記憶し、Ｎ−ｇｒａｍの種類をノードにて表し、その依存関係をアークにて表したＮ−ｇｒａｍ種類グラフのデータ形式にて、前記Ｎ−ｇｒａｍの種類と、その依存関係とを記憶し、
前記言語モデル組み合わせ選択手段は、
前記Ｎ−ｇｒａｍ種類グラフを辿ることによって、スムージングに用いる言語モデルの組み合わせを選択する
請求項１９記載の言語モデル生成用プログラム。
【請求項２１】
更に、前記コンピュータを、言語モデルを作成するための学習コーパスを記憶すると共に、前記学習コーパスについて、少なくとも大きさ又は偏りのいずれかを示す属性を含む一つ又は複数の属性を記憶するコーパス記憶手段としても機能させると共に、
前記言語モデル組み合わせ選択手段は、
前記コーパス記憶手段を参照し、前記組み合わせ選択基準として、前記属性を用いる
請求項２０記載の言語モデル生成用プログラム。
【請求項２２】
前記コーパス記憶手段は、
前記学習コーパスの大きさを示す属性であるコーパスの総単語数、又は、前記学習コーパスの偏りを示す属性であるＮ（但し、Ｎは複数）単語連鎖のヒストグラムの偏りの少なくとも一つを含む複数の属性を記憶し、
前記言語モデル組み合わせ選択手段は、
前記コーパス記憶手段を参照し、前記組み合わせ選択基準として、前記属性を複数用いる
請求項２１記載の言語モデル生成用プログラム。
【請求項２３】
更に、前記コンピュータを、言語モデルを評価するためのテキストデータを記憶するテストセット記憶手段と、
前記学習コーパスを読み込み、言語モデル生成に必要な単語連鎖の頻度を計数する単語連鎖頻度計数手段と、
前記単語連鎖頻度計数手段によって計数された単語連鎖の頻度と、前記言語モデル組み合わせ選択手段によって選択された言語モデルの組み合わせを元に、単語接続の確率値を計算する単語接続確率計算手段ととしても機能させると共に、
前記言語モデル組み合わせ選択手段は、
前記テストセット記憶手段を参照し、前記組み合わせ選択基準として、前記確率値を前記テキストデータに適用して得られる情報を用いる
請求項２１又は２２記載の言語モデル生成用プログラム。
【請求項２４】
更に、前記コンピュータを、前記学習コーパスを読み込み、言語モデル学習に用いる部分とテストに用いる部分とに分割するコーパス分割手段としても機能させると共に、
前記単語連鎖頻度計数手段は、
前記言語モデル学習に用いる部分を読み込んで、前記単語連鎖の頻度を計数し、
前記言語モデル組み合わせ選択手段は、
前記テストに用いる部分を参照し、前記組み合わせ選択基準として、前記確率値を前記テストに用いる部分に適用して得られる情報を用いる
請求項２３記載の言語モデル生成用プログラム。
【請求項２５】
更に、前記コンピュータを、語彙が有限個のクラスに分類される言語モデルに現れる語彙について、各単語が属するクラス情報を記憶する単語クラス情報記憶手段としても機能させると共に、
前記言語モデル組み合わせ選択手段は、
前記クラス情報を参照し、それぞれのクラス毎に、スムージングに用いる言語モデルの組み合わせを選択する
請求項１９ないし２４いずれか１項に記載の言語モデル生成用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、言語モデル生成システム、言語モデル生成方法および言語モデル生成用プログラムに関し、特にＮ−ｇｒａｍ（単語Ｎ個連鎖の組み合わせ。音声認識でよく使うのは２グラム、３グラム、すなわち、２単語組、３単語組である。）に基づく統計的言語モデルの生成において、利用可能な複数の言語モデルの中から、その依存関係を考慮して最適な組み合わせを選択して用いる言語モデル生成システム、言語モデル生成方法および言語モデル生成用プログラムに関する。
【背景技術】
【０００２】
特開２００２−２２９５８８号公報（特許文献１参照）に、言語モデル生成システムの一例が記載されている。一般的に統計的言語モデルにおいては学習データの不足により、場合によって単語間の結合確率として０を返してしまうことがある。これに対し、より下位の統計的言語モデル（例えば、前者がｂｉｇｒａｍであれば後者はｕｎｉｇｒａｍ等）を用いて確率を補間するスムージングという処理が行われる。しかし、スムージングに用いる下位の統計的言語モデルの性質によって全体の性能が損なわれる場合がある。
【０００３】
特許文献１に示される言語モデル生成システムは、コーパス記憶手段と、コーパス入力手段と、単語連鎖頻度計数手段と、単語接続確率計算手段と、単語接続確率再計算手段と、言語モデル生成手段とから構成されている。
【０００４】
このような構成を有する言語モデル生成システムはつぎのように動作する。すなわち、コーパス記憶手段に記憶されたコーパスから、単語連鎖頻度計数手段により単語連鎖の頻度を計数する。例えば、単語ｂｉｇｒａｍモデルを用いる場合には、単語２つ組及び単語単独（１つ組）の頻度をそれぞれ計数する。計数された単語連鎖頻度から単語接続確率手段によって単語接続確率が計算される。得られた単語接続確率に対し、単語接続確率再計算手段によって、単調増加する関数で確率を変換し、特に下位のＮ−ｇｒａｍ確率についてダイナミックレンジが小さくなるよう再計算を行う。再計算された単語接続確率は言語モデル生成手段によって言語モデルとして生成される。これにより、下位のＮ−ｇｒａｍが不当に大きいような単語について、確率値のダイナミックレンジを小さくすることでスムージング後の接続確率が不当に大きくなることを抑えることができる。
【０００５】
この言語モデル生成システムにおける第１の問題点は、認識対象タスクや言語モデル学習データの性質によっては、高精度な言語モデルが得られないという点である。その理由は、スムージングの際に下位のＮ−ｇｒａｍモデルの確率値を調整するのみであり、そもそも別のＮ−ｇｒａｍモデルを用いた方がより適切なスムージングが得られるような場合（例えば単語ｕｎｉｇｒａｍモデルの代わりにクラスｂｉｇｒａｍモデルを用いるべき場合等）に対処ができないためである。
【０００６】
【特許文献１】特開２００２−２２９５８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、認識対象タスクや言語モデル学習データの性質に合わせた高精度な言語モデルを生成することにある。
【課題を解決するための手段】
【０００８】
本発明の一つ目のアスペクトによる言語モデル生成システムは、言語モデル種類記憶部と、言語モデル組み合わせ選択部とを具備する。言語モデル種類記憶部は、言語モデルのスムージングに利用可能な言語モデルの種類と、その依存関係とを記憶する。言語モデル組み合わせ選択部は、言語モデルの種類と、その依存関係とを参照し、所定の組み合わせ選択基準に従い、スムージングに用いる言語モデルの組み合わせを選択する。
【０００９】
本発明の二つ目のアスペクトによる言語モデル生成方法は、その依存関係とを記憶することと、選択することとを具備する。記憶することは、言語モデルのスムージングに利用可能な言語モデルの種類と、その依存関係とを記憶する。選択することは、言語モデルの種類と、その依存関係とを参照し、所定の組み合わせ選択基準に従い、スムージングに用いる言語モデルの組み合わせを選択する。
【００１０】
本発明の三つ目のアスペクトによる言語モデル生成用プログラムは、コンピュータを、言語モデル種類記憶部と、言語モデル組み合わせ選択部ととして機能させる。言語モデル種類記憶部は、言語モデルのスムージングに利用可能な言語モデルの種類と、その依存関係とを記憶する。言語モデル組み合わせ選択部は、言語モデルの種類と、その依存関係とを参照し、所定の組み合わせ選択基準に従い、スムージングに用いる言語モデルの組み合わせを選択する。
【発明の効果】
【００１１】
本発明によれば、統計的言語モデルにおいて適切なスムージングを実現できることにある。その理由は、利用可能な言語モデルの中から、学習データやテストデータを参照し、適切な言語モデルの組み合わせを、その依存関係を考慮して選択できるためである。
【発明を実施するための最良の形態】
【００１２】
発明を実施するための最良の形態の一つについて図面を参照して詳細に説明する。図１を参照すると、本発明による第１の実施の形態における言語モデル生成システム１００は、コーパス記憶部１０１と、単語連鎖頻度計数部１０２と、Ｎ−ｇｒａｍ種類記憶部１０３と、Ｎ−ｇｒａｍ組み合わせ選択部１０４と、単語接続確率計算部１０５と、言語モデル生成部１０６とを有している。
【００１３】
コーパス記憶部１０１は、言語モデルを作成するための学習データであるコーパスを記憶する。コーパスは音声認識が対象とする言語（例えば日本語）のテキストであり、手作業や自動形態素解析により単語単位に分割されているものとする。また、品詞等の文法的情報や、統計的手法による自動クラスタリングの結果等、各単語にその単語が属するクラス情報、学習データの属性（大きさ、偏り等）が付与されていてもよい。
【００１４】
単語連鎖頻度計数部１０２は、コーパス記憶部１０１に格納されているコーパスを読み込み、言語モデル生成に必要な単語連鎖の頻度を計数する。例えば単語ｔｒｉｇｒａｍモデルを生成する場合、３単語連鎖、２単語連鎖、１単語のそれぞれの頻度を計数する。コーパスにクラス情報が付与されている場合、クラス連鎖頻度やクラス内の単語出現頻度を計数する。
【００１５】
Ｎ−ｇｒａｍ種類記憶部１０３は言語モデルのスムージングに用いることができる言語モデル（Ｎ−ｇｒａｍ）の種類を記憶する。例えば単語ｔｒｉｇｒａｍのスムージングに、単語ｂｉｇｒａｍ、クラスｂｉｇｒａｍ、単語ｕｎｉｇｒａｍを用いることができる場合、単語ｔｒｉｇｒａｍを含めて４種類のＮ−ｇｒａｍが利用可能であるということを記憶する。この時、各Ｎ−ｇｒａｍの依存関係も記憶される。例えば先の例では単語ｔｒｉｇｒａｍのスムージングには単語ｂｉｇｒａｍ、クラスｂｉｇｒａｍ、単語ｕｎｉｇｒａｍを使用することができること、単語ｂｉｇｒａｍのスムージングにはクラスｂｉｇｒａｍ、単語ｕｎｉｇｒａｍを用いることができること、クラスｂｉｇｒａｍ及び単語ｕｎｉｇｒａｍはそれぞれ単独で（スムージングなしに）用いることができることが記述される。このような依存関係は人手で事前に与えることができる。また、包含関係等の規則に従い自動的に生成することもできる。Ｎ−ｇｒａｍ以外にも文法規則や共起関係等も用いることが可能である。
【００１６】
Ｎ−ｇｒａｍ組み合わせ選択部１０４はＮ−ｇｒａｍ種類記憶部１０３に記憶されているＮ−ｇｒａｍの種類の中から得られる情報、および、コーパス記憶部１０１に記憶されているコーパスから得られる情報に基づいて、スムージングに用いる最適なＮ−ｇｒａｍの組み合わせを依存関係に従い選択する。コーパスから得られる情報とは具体的には例えば、コーパスの総単語数である。コーパスの総単語数が所定の閾値より小さい場合、スムージングにクラスｂｉｇｒａｍを使用せず単語ｕｎｉｇｒａｍのみを用いるといった判断が可能である。コーパスから得られる情報の他の例としては、各単語連鎖のヒストグラムがある。例えば、２単語連鎖のヒストグラムの偏りが非常に大きい場合は単語ｂｉｇｒａｍをスムージングに用いないといった判断が可能である。コーパスの総単語数や各Ｎ−ｇｒａｍの種類数、ヒストグラムといった情報を統合的に扱い、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）やＣＲＦ（Ｃｏｎｄｉｔｉｏｎａｌ  Ｒａｎｄｏｍ  Ｆｉｌｅｄｓ）といったモデルを用いてスムージングに使用するＮ−ｇｒａｍの選択を行うことも可能である。
【００１７】
単語接続確率計算部１０５は、単語連鎖頻度計数部１０２で計数された単語連鎖の頻度と、Ｎ−ｇｒａｍ組み合わせ選択部１０４によって選択されたＮ−ｇｒａｍの組み合わせを元に単語接続確率を計算する。具体的には例えば最尤推定を用いることができる。この場合、それぞれのＮ−ｇｒａｍについて、Ｎ−ｇｒａｍの頻度と、先行するＮ−１単語の頻度から、前者を後者で割り算することで接続確率を求めることができる。具体的なＮ−ｇｒａｍの組み合わせ方としては例えばバックオフスムージングを用いることができる。
【００１８】
言語モデル生成部１０６は単語接続確率計算部１０５で得られた単語接続確率を言語モデルとして生成する。
【００１９】
次に、図２のフローチャートを参照して第１の実施の形態における言語モデル生成システム１００の全体の動作について詳細に説明する。言語モデル生成システム１００において、まず、コーパス記憶部１０１に記憶されているコーパスについて、先頭から一単語ずつスキャンする（図２のステップＡ１）。次に、Ｎ−ｇｒａｍ種類記憶部１０３に記憶されている情報を元に、必要なＮ個組みの個数を数える（ステップＡ２）。例えば、単語ｔｒｉｇｒａｍが必要であれば、単語３つ組みのコーパスにおける出現頻度を数える。さらに、コーパス記憶部１０１に記憶されているコーパスの性質に応じて組み合わせるＮ−ｇｒａｍの種類を決定する（ステップＡ３）。ここで決定された結果をもとに、言語モデル生成に使用するＮ−ｇｒａｍについて、確率値を計算する（ステップＡ４）。最後に、計算された確率値を言語モデルとして生成する（ステップＡ５）。
【００２０】
第１の実施の形態においてポイントとなるＮ−ｇｒａｍの組み合わせの決定プロセス（ステップＡ３）について、図３のＮ−ｇｒａｍ種類木説明図及び図４のフローチャートを参照して更に詳しく説明する。図３はＮ−ｇｒａｍ種類記憶部１０３に記憶されたＮ−ｇｒａｍの種類と依存関係を示す例である。これをＮ−ｇｒａｍ種類グラフと呼ぶこととする。図３のＮ−ｇｒａｍ種類グラフは、Ｎ−ｇｒａｍの種類として、単語ｔｒｉｇｒａｍ、単語ｂｉｇｒａｍ、クラスｂｉｇｒａｍ、単語ｕｎｉｇｒａｍがあることを示し、また、Ｎ−ｇｒａｍの依存関係として、単語ｔｒｉｇｒａｍのスムージングには単語ｂｉｇｒａｍ、クラスｂｉｇｒａｍ、単語ｕｎｉｇｒａｍを使用することができること、単語ｂｉｇｒａｍのスムージングにはクラスｂｉｇｒａｍ、単語ｕｎｉｇｒａｍを用いることができること、クラスｂｉｇｒａｍ及び単語ｕｎｉｇｒａｍはそれぞれ単独で（スムージングなしに）用いることができることが示されている。
【００２１】
図４に示すように、Ｎ−ｇｒａｍ組み合わせ選択部１０４は、Ｎ−ｇｒａｍの組み合わせを決定するために、まず、Ｎ−ｇｒａｍ種類グラフを下位ノードからたどる（ステップＢ１）。Ｎ−ｇｒａｍ種類グラフは非巡回有向グラフであり、上位下位の順序付けを行うことができる。注目したノードに、複数のアークが入るかどうかを判定する（ステップＢ２）。複数のアークが入る場合、コーパスの性質に応じてそのどれを選択するかを判定する（ステップＢ３）。コーパスの性質とは先にも述べたように、例えばコーパスの総単語数や、注目したノードに入るＮ−ｇｒａｍの種類数、ヒストグラム等である。注目したノードについて処理が済んだことを示すチェックをつける（ステップＢ４）。Ｎ−ｇｒａｍ種類グラフのノードの全てにチェックがついているかどうかを判定する（ステップＢ５）。全てチェックがついていれば選択されたアークをもとにＮ−ｇｒａｍの組み合わせを決定し（ステップＢ６）、処理を終了する。
【００２２】
次に、第１の実施の形態の効果について説明する。第１の実施の形態では、利用可能なＮ−ｇｒａｍの中から、学習データを参照して適切なＮ−ｇｒａｍの組み合わせを選択できる。特に取捨選択の際に比較すべき言語モデルを、依存関係という形で記述してあるので、それに基づき選択できる。このため、統計的言語モデルにおいて適切なスムージングを実現できる。
【００２３】
具体的には、単語ｕｎｉｇｒａｍとクラスｂｉｇｒａｍは状況に応じて使い分けることができる言語モデルであるが、例えばコーパスの量に応じてスムージングに用いる言語モデル（Ｎ−ｇｒａｍ）としてこの２つを適切に使い分けることができる。一方このとき、これらのモデルと単語ｔｒｉｇｒａｍの比較は不適切であり、そういった組み合わせでは取捨選択は行われず、最終的に精度の高い言語モデルを得ることができる
【００２４】
他には例えば、単語ｂｉｇｒａｍがあまり意味のないようなタスク（例えば○○を○○する、のように、キーワードの間の助詞にあまり意味がないような場合）においては、単語ｂｉｇｒａｍの偏りと単語ｕｎｉｇｒａｍの偏りを比較して、単語ｔｒｉｇｒａｍのスムージングに単語ｕｎｉｇｒａｍを採用することにより適切なスムージングを実現できる。
【００２５】
次に、本発明による第２の発明を実施するための最良の形態について図面を参照して詳細に説明する。図５を参照すると、第２の実施の形態は、第１の実施の形態におけるＮ−ｇｒａｍ組み合わせ選択部１０４に代えて、Ｎ−ｇｒａｍ組み合わせ選択部２０４及びテストセット記憶部２０７を設けている。コーパス記憶部１０１、単語連鎖頻度計数部１０２、Ｎ−ｇｒａｍ種類記憶部１０３、単語接続確率計算部１０５、言語モデル生成部１０６の各機能は、第１の実施の形態と同様である。
【００２６】
テストセット記憶部２０７は言語モデルを評価するためのテキストデータを記憶する。コーパス記憶部１０１同様、単語単位に分割されたテキストとなっている。このテキストデータは、一般に学習コーパスに含まれない認識対象タスクの文によって構成される。
【００２７】
Ｎ−ｇｒａｍ組み合わせ選択部２０４はＮ−ｇｒａｍ種類記憶部１０３に記憶されているＮ−ｇｒａｍの中から、スムージングに用いる最適なＮ−ｇｒａｍの組み合わせを依存関係に従い選択する。この選択は、単語接続確率計算部１０５により得られる確率値をテストセット記憶部２０７に記憶されているテキストデータに適用することにより得られる情報に基づいて行う。確率値をテキストデータに適用することで得られる情報とは例えば、テストセットパープレキシティ等である。複数のＮ−ｇｒａｍの中から最適なものを選択する際にテストセットパープレキシティが最小となる組み合わせを用いることが可能である。
【００２８】
第２の実施の形態を用いることで、確率値に基づくスムージングの最適化が可能となり、また、音声認識対象タスクの性質に応じた最適化も可能となる。
【００２９】
次に、本発明による第３の発明を実施するための最良の形態について図面を参照して詳細に説明する。図６を参照すると、第３の実施の形態は、第１の実施の形態におけるＮ−ｇｒａｍ組み合わせ選択部１０４に代えて、Ｎ−ｇｒａｍ組み合わせ選択部３０４及びコーパス分割部３０８を設けている。コーパス記憶部１０１、単語連鎖頻度計数部１０２、Ｎ−ｇｒａｍ種類記憶部１０３、単語接続確率計算部１０５、言語モデル生成部１０６の各機能は、第１の実施の形態と同様である。
【００３０】
コーパス分割部３０８はコーパス記憶部１０１に格納されているコーパスを読み込み、言語モデル学習に用いる部分とテストに用いる部分とに分割する。通常、言語モデル学習に用いる部分の方を大きくする（例えば９：１で学習に用いる方を大きくする）。単語連鎖頻度計数部１０２は、コーパス記憶部１０１に格納されているコーパスのうち、コーパス分割部３０８で分割された、言語モデル学習に用いる部分を読み込むことになる。
【００３１】
Ｎ−ｇｒａｍ組み合わせ選択部３０４はＮ−ｇｒａｍ種類記憶部１０３に記憶されているＮ−ｇｒａｍの中から、スムージングに用いる最適なＮ−ｇｒａｍの組み合わせを依存関係に従い選択する。この選択は、単語接続確率計算部１０５により得られる確率値を、コーパス記憶部１０１に格納されているコーパスのうち、コーパス分割部３０８で分割されたテストに用いる部分に適用することにより得られる情報に基づいて行う。確率値をテストに用いる部分に適用することで得られる情報とは例えば第２の実施の形態同様、テストセットパープレキシティ等である。
【００３２】
第３の実施の形態を用いることで、テストデータを用いずに確率値に基づくスムージングの最適化が可能となる。また、コーパス記憶部１０１に記憶されたコーパスについて、異なる分割を複数繰り返し上記操作を適用することで更によりよいスムージングを得ることができる。
【００３３】
次に、本発明による第４の発明を実施するための最良の形態について図面を参照して詳細に説明する。図７を参照すると、第４の実施の形態は、第１の実施の形態におけるＮ−ｇｒａｍ組み合わせ選択部１０４に代えて、Ｎ−ｇｒａｍ組み合わせ選択部４０４及び単語クラス情報記憶部４０９を設けている。コーパス記憶部１０１、単語連鎖頻度計数部１０２、Ｎ−ｇｒａｍ種類記憶部１０３、単語接続確率計算部１０５、言語モデル生成部１０６の各機能は、第１の実施の形態と同様である。
【００３４】
単語クラス情報記憶部４０９は言語モデルに現れる語彙について、各単語が属するクラスが記憶されている。一つの単語は一つのクラスに属する。クラスとしては例えば、名詞や動詞といった品詞や、飲み物や食べ物といった意味的なクラス、統計的クラスタリングにより得られるクラス等がある。
【００３５】
Ｎ−ｇｒａｍ組み合わせ選択部４０４は、単語クラス情報記憶部４０９に記憶されている異なるクラス全てについて、Ｎ−ｇｒａｍ種類記憶部１０３に記憶されているＮ−ｇｒａｍの中から、スムージングに用いる最適なＮ−ｇｒａｍの組み合わせを依存関係に従い選択する。この選択は、第１の実施の形態同様、コーパス記憶部１０１に記憶されているコーパスから得られる情報に基づいて行う。
【００３６】
第４の実施の形態を用いることで、語彙の分類毎に異なるスムージングの最適化が可能となる。例えば、認識対象タスクにおいて意味があるキーワードクラスに属する単語については単語ｂｉｇｒａｍを用いずに直接クラスｂｉｇｒａｍをスムージングに使用し、それ以外のクラスに属する単語については単語ｂｉｇｒａｍを用いたスムージングを行うといった切替が可能となる。
【００３７】
第４の実施の形態は第１の実施の形態の拡張となっているが、同様の拡張を第２の実施の形態、第３の実施の形態にも適用可能である。
【００３８】
コンピュータを、第１の実施の形態におけるコーパス記憶部１０１、単語連鎖頻度計数部１０２、Ｎ−ｇｒａｍ種類記憶部１０３、Ｎ−ｇｒａｍ組み合わせ選択部１０４、単語接続確率計算部１０５、言語モデル生成部１０６として機能させるための言語モデル生成用プログラムによって、言語モデル生成システム１００を構築することができる。第２〜第４の実施の形態においても、同様の言語モデル生成用プログラムによって、言語モデル生成システム２００，３００，４００を構築することができる。コンピュータは、例えば、コンピュータ読み取り可能な記録媒体に記録された言語モデル生成用プログラムを読み込むことによって、言語モデル生成システム１００，２００，３００，４００として機能することができる。
【００３９】
言語モデルを用いる音声認識システムは、第１〜第４の実施の形態による言語モデル生成システム１００，２００，３００，４００によって生成された言語モデルを用いて、音声認識を行うことができる。
【００４０】
本発明は、音声認識のための言語モデルの作成といった用途に適用できる。また、文字認識といった用途にも適用可能である。
【図面の簡単な説明】
【００４１】
【図１】本発明による第１の発明を実施するための最良の形態における言語モデル生成システムを示すブロック図である。
【図２】第１の発明を実施するための最良の形態における言語モデル生成システムの動作を説明する流れ図である。
【図３】Ｎ−ｇｒａｍ種類木の具体例を説明する図である。
【図４】第１の発明を実施するための最良の形態におけるＮ−ｇｒａｍ組み合わせ選択部の動作を説明する流れ図である。
【図５】本発明による第２の発明を実施するための最良の形態における言語モデル生成システムを示すブロック図である。
【図６】本発明による第３の発明を実施するための最良の形態における言語モデル生成システムを示すブロック図である。
【図７】本発明による第４の発明を実施するための最良の形態における言語モデル生成システムを示すブロック図である。
【符号の説明】
【００４２】
１００，２００，３００，４００  言語モデル生成システム
１０１  コーパス記憶部
１０２  単語連鎖頻度計数部
１０３  Ｎ−ｇｒａｍ種類記憶部
１０４，２０４，３０４，４０４  Ｎ−ｇｒａｍ組み合わせ選択部
１０５  単語接続確率計算部
１０６  言語モデル生成部
２０７  テストセット記憶部
３０８  コーパス分割部
４０９  単語クラス情報記憶部
【図１】
2009145775.tif 000003
【図２】
2009145775.tif 000004
【図３】
2009145775.tif 000005
【図４】
2009145775.tif 000006
【図５】
2009145775.tif 000007
【図６】
2009145775.tif 000008
【図７】
2009145775.tif 000009