(57)【要約】      （修正有）【課題】影響の少ない単語を削除して辞書サイズを効果的に減少させることができる辞書・言語モデル圧縮方法を提供する。【解決手段】辞書・言語モデル圧縮方法は、エントロピー変化量計算過程Ｓ１０と、言語モデル圧縮処理過程Ｓ２０と、辞書圧縮処理過程Ｓ３０とを備え、エントロピー変化量計算過程Ｓ１０は、言語モデルの言語エントリを削除した場合のエントロピー変化量を１−ｇｒａｍ確率にまで拡張して求め、辞書を構成する単語の１−ｇｒａｍ確率に関するエントロピー変化量がしきい値以下の場合に該当する言語エントリを削除対象言語エントリとし、該当する単語を削除対象単語とする。そして言語モデル圧縮処理過程Ｓ２０は、削除対象言語エントリを言語モデルから削除する。辞書圧縮処理過程Ｓ３０は、削除対象単語を辞書から削除する。【選択図】図２
2014098760.tif 000002
【特許請求の範囲】
【請求項１】
言語モデルの言語エントリを削除した場合のエントロピー変化量を１-ｇｒａｍ確率にまで拡張して求め、辞書を構成する単語の１-ｇｒａｍ確率に関するエントロピー変化量がしきい値以下の場合に該当する言語エントリを削除対象言語エントリとし、該当する単語を削除対象単語とするエントロピー変化量計算過程と、
上記削除対象言語エントリを上記言語モデルから削除する言語モデル圧縮処理過程と、
上記削除対象単語を上記辞書から削除する辞書圧縮処理過程と、
を備える辞書・言語モデル圧縮方法。
【請求項２】
請求項１に記載した辞書・言語モデル圧縮方法において、
上記エントロピー変化量計算過程は、
言語モデルを参照してＮ-ｇｒａｍ確率における或る言語エントリを削除した場合のエントロピー変化量を、上記言語エントリに対応する（Ｎ−１）-ｇｒａｍの言語エントリの確率にバックオフ係数αを乗じた確率を代用した場合の変化量として求め、当該エントロピー変化量が、しきい値以下である上記言語エントリを削除対象言語エントリとして言語モデル圧縮処理部に出力する処理を全ての言語エントリに対して行う言語エントリ削除ステップと、
辞書を参照し、上記言語モデルの１-ｇｒａｍ確率の或る言語エントリを削除した場合のエントロピー変化量を、上記辞書の単語数の逆数を確率値として代用した場合の変化量として求め、当該エントロピー変化量が、しきい値以下である１-ｇｒａｍ確率の言語エントリを上記削除対象言語エントリとすると共に、該当する単語を削除対象単語として辞書圧縮処理部に出力する処理を全ての１-ｇｒａｍ確率に対して行う辞書単語削除ステップと、
を含むことを特徴とする辞書・言語モデル圧縮方法。
【請求項３】
言語モデルの言語エントリを削除した場合のエントロピー変化量を１-ｇｒａｍ確率にまで拡張して求め、辞書を構成する単語の１-ｇｒａｍ確率に関するエントロピー変化量がしきい値以下の場合に該当する言語エントリを削除対象言語エントリとし、該当する単語を削除対象単語とするエントロピー変化量計算部と、
上記削除対象言語エントリを上記言語モデルから削除する言語モデル圧縮処理過程と、
上記削除対象単語を上記辞書から削除する辞書圧縮処理部と、
を具備する辞書・言語モデル圧縮装置。
【請求項４】
請求項３に記載した辞書・言語モデル圧縮装置において、
上記エントロピー変化量計算部は、
言語モデルを参照してＮ-ｇｒａｍ確率における或る言語エントリを削除した場合のエントロピー変化量を、上記言語エントリに対応する（Ｎ−１）-ｇｒａｍの言語エントリの確率にバックオフ係数αを乗じた確率を代用した場合の変化量として求め、当該エントロピー変化量が、しきい値以下である上記言語エントリを削除対象言語エントリとして言語モデル圧縮処理部に出力する処理を全ての言語エントリに対して行う言語エントリ削除手段と、
辞書を参照し、上記言語モデルの１-ｇｒａｍ確率の或る言語エントリを削除した場合のエントロピー変化量を、上記辞書の単語数の逆数を確率値として代用した場合の変化量として求め、当該エントロピー変化量が、しきい値以下である１-ｇｒａｍ確率の言語エントリを上記削除対象言語エントリとすると共に、該当する単語を削除対象単語として辞書圧縮処理部に出力する処理を全ての１-ｇｒａｍ確率に対して行う辞書単語削除手段と、
を備えることを特徴とする辞書・言語モデル圧縮装置。
【請求項５】
請求項３又は４に記載した辞書・言語モデル圧縮装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、辞書及び言語モデルのデータ量を圧縮する辞書・言語モデル圧縮方法とその装置とプログラムに関する。
【背景技術】
【０００２】
近年、音声認識の分野では、認識対象となる語彙を格納する「辞書」と、辞書に登録された語彙間の連鎖確率を表す「言語モデル」とを用いて連続音声認識の精度向上を図る方法が盛んに検討されている。
【０００３】
言語モデルは、辞書に登録された単語に対して、単語連鎖の前のＮ-１単語から次のＮ個目の単語への遷移確率を表すＮ-ｇｒａｍ（エヌグラム）が主流である。しかし、Ｎ-ｇｒａｍは、求めるべき確率の数が語彙サイズのＮ乗個存在し、パラメータ数が膨大である。このため、新聞記事やＷｅｂのデータ等の膨大なテキストを用いて各パラメータを推定することが提案されている。
【０００４】
しかし、パラメータ数が膨大になると、計算機に情報を保持するために膨大なメモリ容量が必要となり、実用的な計算機では実現できなくなる問題がある。そのため、できるだけ精度を落とさず、言語モデルのサイズを圧縮する方法が提案されている。
【０００５】
特許文献１には、各ｋ（１≦ｋ≦Ｎ）単語列の出現頻度にしきい値を設け、各ｋ-ｇｒａｍでしきい値以下の出現頻度のパラメータを削除することによりモデルサイズを圧縮する単純な方法が開示されている。非特許文献１には、エントロピー変化量を尺度として、削除すべきパラメータを決定する方法が開示されている。この方法はパラメータ毎に削除の是非を判定するため、特許文献１の方法よりも精度の高いパラメータの削除が行える。
【０００６】
図７に、非特許文献１に開示された言語モデル圧縮装置９００の機能構成を示してその動作を簡単に説明する。言語モデル圧縮装置９００は、言語モデル構築部９０１、言語モデル９０２、言語モデル圧縮部９０３、圧縮された言語モデル９０４、辞書構築部９０５、辞書９０６、を備える。
【０００７】
言語モデル構築部９０１は、Ｎ-ｇｒａｍ言語モデルを対象とし、外部から入力される大量のテキストデータから最尤推定等によりその遷移確率を求め、遷移確率とその単語連鎖とから成る言語モデルを構築する。言語モデルを構築する際に、大量のテキストを用いても確率が求まらないパラメータが存在するため、１-ｇｒａｍ，２-ｇｒａｍ，…，（Ｎ−１）-ｇｒａｍ，Ｎ-ｇｒａｍと、それぞれの遷移確率を求めておき、Ｎ-ｇｒａｍで求まらない確率は、それより低い次数のｋ-ｇｒａｍ（ｋ＜Ｎ）により補うスムージングと呼ばれる手法が一般的に用いられる。言語モデル構築部９０１で構築された言語モデルは、計算機の例えばハードディスク等の記憶装置に言語モデル９０２として蓄えられる。
【０００８】
言語モデル圧縮部９０３は、言語モデル９０２を元に、元々の言語モデルのエントロピー量と、２〜Ｎ-ｇｒａｍの各パラメータを削除した場合のエントロピー量を計算し、その変化量を求める。そして、そのエントロピー変化量が予め設定されているしきい値よりも小さい場合は、そのパラメータを言語モデルから削除する。エントロピー変換量の計算について詳しくは後述する。一部のパラメータが削除された言語モデルは、圧縮された言語モデル９０４として言語モデル９０２とは別にハードディスク等の記憶装置に蓄えられる。
【０００９】
辞書構築部９０５は、外部から入力されるテキストデータ内に出現した単語を辞書に登録する処理を行う。テキストデータが膨大な場合は辞書のサイズも膨大になる。そのため通常は、登録する語彙のサイズの上限を予め設定するか、若しくは出現頻度のしきい値を設けてテキストデータ内のある単語の出現頻度がしきい値以下の場合に、辞書登録をしないという単純な方法が用いられる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平１０−３０１５９６号公報
【非特許文献】
【００１１】
【非特許文献１】A.Stolcke, “Entropy-based Pruning of Backoff Language Models”, DARPA Broadcast News Transcription and Understanding Workshop, 1998.
【発明の概要】
【発明が解決しようとする課題】
【００１２】
従来、上記した方法で一度作成した辞書のサイズを、改めて削減しようとする考えが無かった。また、言語モデルの圧縮と辞書データの削除とが、お互いに連動することが無かった。つまり、言語モデルのパラメータが削減できても、そのパラメータに関連する辞書データがそのまま残存してしまい、辞書の圧縮が不十分であるという課題があった。
【００１３】
本発明は、この課題に鑑みてなされたものであり、言語モデルの圧縮と辞書データ削除とを連動させて辞書から不要な単語を削除できるようにした辞書・言語モデル圧縮方法とその装置とプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の辞書・言語モデル圧縮方法は、エントロピー変化量計算過程と、言語モデル圧縮過程と、辞書圧縮過程と、を備える。エントロピー変化量計算過程は、言語モデルの言語エントリを削除した場合のエントロピー変化量を１-ｇｒａｍ確率にまで拡張して求め、辞書を構成する単語の１-ｇｒａｍ確率に関するエントロピー変化量がしきい値以下の場合に該当する言語エントリを削除対象言語エントリとし、該当する単語を削除対象単語とする。言語モデル圧縮処理過程は、削除対象言語エントリを言語モデルから削除する。辞書圧縮処理過程は、削除対象単語を辞書から削除する。
【発明の効果】
【００１５】
本発明の辞書・言語モデル圧縮方法によれば、エントロピー変化量を１-ｇｒａｍ（各単語の出現確率）にまで拡張し、各単語の１-ｇｒａｍに関するエントロピー変化量がしきい値以下の場合に該当する単語を辞書から削除する。従って、削除しても影響の少ない単語を削除できるので、辞書のサイズを効果的に減少させることが可能になる。
【図面の簡単な説明】
【００１６】
【図１】この発明の辞書・言語モデル圧縮装置１００の機能構成例を示す図。
【図２】辞書・言語モデル圧縮装置１００の動作フローを示す図。
【図３】言語モデルと辞書を圧縮する方法を説明する図。
【図４】エントロピー変化量計算部１０の機能構成例を示す図。
【図５】言語エントリ削除手段１１の動作フローを示す図。
【図６】辞書単語削除手段１２の動作フローを示す図。
【図７】従来の言語モデル圧縮装置９００の機能構成を示す図。
【発明を実施するための形態】
【００１７】
以下、この発明の実施の形態を図面を参照して説明する。複数の図面中同一のものには同じ参照符号を付し、説明は繰り返さない。
【実施例１】
【００１８】
図１に、この発明の辞書・言語モデル圧縮装置１００の機能構成例を示す。その動作フローを図２に示す。辞書・言語モデル圧縮装置１００は、エントロピー変化量計算部１０と、言語モデル圧縮処理部２０と、辞書圧縮処理部３０と、制御部４０と、を具備する。辞書・言語モデル圧縮装置１００は、例えばＲＯＭ、ＲＡＭ、ＣＰＵ等で構成されるコンピュータに所定のプログラムが読み込まれて、ＣＰＵがそのプログラムを実行することで実現されるものである。
【００１９】
エントロピー変化量計算部１０は、言語モデル１１０の言語エントリを削除した場合のエントロピー変化量を１-ｇｒａｍ確率にまで拡張して求め、辞書を構成する単語の１-ｇｒａｍ確率に関するエントロピー変化量がしきい値以下の場合に該当する言語エントリを削除対象言語エントリとし、該当する単語を削除対象単語とする（ステップＳ１０）。ここで言語エントリとは、上記したＮ-ｇｒａｍの各パラメータのことであり、例えば３-ｇｒａｍ確率のパラメータである言語エントリはｐ（ｗｎ｜ｗｎ−２，ｗｎ−１）と表される。例えば、「今日は晴れ」のテキストの場合、ｗｎは「晴れ」、ｗｎ−１は「は」、ｗｎ−２は「今日」のそれぞれの形態素（単語）に対応する。このステップ１０の処理は、１-ｇｒａｍ確率の全ての言語エントリが終了するまで繰り返される（ステップＳ４０のＹｅｓ）。この繰り返し動作の制御は制御部４０が行う。制御部４０は、辞書・言語モデル圧縮装置１００の各部の時系列的な動作を制御する。
【００２０】
言語モデル圧縮処理部２０は、エントロピー変化量計算部１０で求めた削除対象言語エントリを、言語モデル１１０から削除する（ステップＳ２０）。削除する方法は、削除対象言語エントリそのものを出力して外部で言語モデル１１０から削除しても良し、削除対象言語エントリを出力せずそれ以外の言語エントリを出力して、例えばハードディスク等の記憶装置に圧縮された言語モデル１１０′として蓄えるようにしても良い。
【００２１】
辞書圧縮処理部３０は、エントロピー変化量計算部１０で求めた削除対象単語を、辞書１２０から削除する（ステップＳ３０）。削除方法は削除対象言語エントリと同じである。削除対象単語を辞書から削除した圧縮された辞書１２０′として記憶しても良い。
【００２２】
ステップＳ２０とＳ３０の処理は、削除対象の全ての言語エントリと単語について終了するまで繰り返される（ステップＳ４１のＮｏ）。以上の動作の結果、言語モデル１１０から削除しても影響の少ない言語エントリが削除されると共に、辞書１２０から削除しても影響の少ない単語が削除されることになる。
【００２３】
図３を参照して言語モデルと辞書を圧縮する方法について説明する。言語モデル１１０の１-ｇｒａｍ確率はその単語が現れる確率、２-ｇｒａｍ確率はその２個の単語が現れる確率、３-ｇｒａｍ確率はその２個の単語が現れる確率、である。例えば、「今日は晴れ」のテキストの場合、１-ｇｒａｍ確率の言語エントリはｐ（今日）、２-ｇｒａｍ確率の言語エントリはｐ（は｜今日）、３-ｇｒａｍ確率の言語エントリはｐ（晴れ｜今日，の）となる。これ以外の単語列としては、例えば「今日は曇り」、「今日は雨」等があり、３-ｇｒａｍ確率の他の言語エントリがｐ（曇り｜今日，は）やｐ（雨｜今日，は）となる。
【００２４】
例えば３-ｇｒａｍ確率の言語エントリｐ（曇り｜今日，は）を削除して、２-ｇｒａｍ確率の言語エントリのｐ（曇天｜今日）で代用できると仮定した場合のエントロピー変化量は式（１）で計算することができる。
【００２５】
【数１】
2014098760.tif 000003
【００２６】
ここでｈはhistoryであり、上記した例ではｐ′（ｗｉ｜ｈ）＝α×ｐ（曇天｜今日）、ｐ（ｗｉ｜ｈ）＝ｐ（曇り｜今日，は）に対応する。αはバックオフ係数であり、全体の確率が１になるように調整（平滑化）する係数である。式（１）及びバックオフ係数等は従来技術であり、例えば非特許文献１に記載されている。
【００２７】
式（１）で計算したエントロピー変化量Ｄ（ｐ‖ｐ′）がしきい値θ以下であれば、ｐ（ｗｉ｜ｈ）＝ｐ（曇り｜今日，は）の言語エントリを３-ｇｒａｍ確率から削除する。つまり、エントロピー変化量Ｄ（ｐ‖ｐ′）が小さいということは、削除しても単語連鎖を探索する上での影響が小さいことを意味している。この処理を２-ｇｒａｍ確率まで行って言語モデルを圧縮する考えは、上記したように従来技術である。
【００２８】
この発明は、上記した考えを１-ｇｒａｍ確率まで拡張した点に特徴がある。１-ｇｒａｍ確率の言語エントリｐ（ｗ２）を削除すると仮定した場合、その確率を０-ｇｒａｍ確率である辞書１２０の単語数の逆数１÷ｖ（単語数）で代用する。つまり、式（１）のｐ′（ｗｉ｜ｈ）＝１/ｖとし、ｐ（ｗｉ｜ｈ）＝ｐ（ｗ２）として計算したエントロピー変化量Ｄ（ｐ‖ｐ′）がしきい値θ以下であれば、言語モデルの１-ｇｒａｍ確率から言語エントリｐ（ｗ２）を削除すると共に、辞書１２０の単語ｗ２も削除する。
【００２９】
このように、エントロピー変化量Ｄ（ｐ‖ｐ′）に基づいて言語モデル１１０の１-ｇｒａｍ確率の言語エントリと、辞書１２０の対応する単語とを削除するので、削除しても影響の少ない単語を効率的に削除することができる。
【００３０】
図４に、この発明の要部であるエントロピー変化量計算部１０のより具体的な機能構成例を示して更に詳しく説明する。エントロピー変化量計算部１０は、言語エントリ削除手段１１と、辞書単語削除手段１２と、を備える。
【００３１】
言語エントリ削除手段１１は、言語モデル１１０を参照してＮ-ｇｒａｍ確率における或る言語エントリを削除した場合のエントロピー変化量を、その言語エントリに対応する（Ｎ−１）-ｇｒａｍの言語エントリの確率にバックオフ係数αを乗じた確率を代用した場合の変化量として求め、当該エントロピー変化量が、しきい値θ以下である言語エントリを削除対象言語エントリｐ（ｗｉ｜＊）として言語モデル圧縮処理部に出力する処理を、全ての言語エントリに対して行う。＊は、任意のhistoryを意味する。
【００３２】
図５に、言語エントリ削除手段１１の動作フローを示す。言語エントリ削除手段１１は、言語モデル１１０の、Ｎ-ｇｒａｍ確率の言語エントリを特定する（ステップＳ１１ａ）。そして、（Ｎ−１）-ｇｒａｍ確率の代用する言語エントリの確率にバックオフ係数αを乗じた確率ｐ′を求め（ステップＳ１１ｂ）、式（１）でエントロピー変化量Ｄ（ｐ‖ｐ′）を計算する（ステップＳ１１ｃ）。
【００３３】
エントロピー変化量Ｄ（ｐ‖ｐ′）がしきい値θ以下（ステップＳ１１ｄのＹｅｓ）であれば対象としているＮ-ｇｒａｍ確率の言語エントリを削除対象言語エントリとして特定する（ステップＳ１１ｅ）。ステップＳ１１ａ〜１１ｅの処理は、２-ｇｒａｍ確率の全ての言語エントリについて終了するまで繰り返される（ステップＳ４０ａのＮｏ）。
【００３４】
辞書単語削除手段１２は、辞書１２０を参照し、言語モデル１１０の１-ｇｒａｍ確率の或る言語エントリを削除した場合のエントロピー変化量を、辞書１２０の単語数ｖの逆数を確率値として代用した場合の変化量として求め、当該エントロピー変化量が、しきい値θ以下である１-ｇｒａｍ確率の言語エントリを削除対象言語エントリｐ（ｗｉ）とすると共に、該当する単語を削除対象単語ｗｉとして辞書圧縮処理部に出力する処理を全ての１-ｇｒａｍ確率に対して行う。
【００３５】
図６に、辞書単語削除手段１２の動作フローを示す。辞書単語削除手段１２は、言語モデル１１０の、１-ｇｒａｍ確率の言語エントリを特定する（ステップＳ１２ａ）。そして、０-ｇｒａｍ確率、つまり辞書１２０の単語数ｖの逆数を確率値ｐ′として求め（ステップＳ１２ｂ）、式（１）でエントロピー変化量Ｄ（ｐ‖ｐ′）を計算する（ステップＳ１２ｃ）。
【００３６】
エントロピー変化量Ｄ（ｐ‖ｐ′）がしきい値θ以下（ステップＳ１２ｄのＹｅｓ）であれば対象としている１-ｇｒａｍ確率の言語エントリを削除対象言語エントリとして特定すると共に、該当する単語ｗｉを削除対象単語として特定する（ステップＳ１２ｅ）。ステップＳ１２ａ〜１２ｅの処理は、１-ｇｒａｍ確率の全ての言語エントリについて終了するまで繰り返される（ステップＳ４０ｂのＮｏ）。
【００３７】
以上説明したようにこの発明の辞書・言語モデル削減方法によれば、エントロピー変化量の値に基づいて、削除しても影響の少ない１-ｇｒａｍ確率の言語エントリと対応する単語を削除するので、辞書のサイズを効果的に減少させることが可能である。また、このように辞書の語彙を削除することで、例えば音声認識処理の処理速度を高速化できると共に、同音異義語や発音の近い単語に関する認識誤りを削減する効果も奏する。
【００３８】
なお、エントロピー変化量には、上記した式（１）以外にも、例えば参考文献１（K. Seymore and R. Rosenfeld. Scalablebackofflanguagemodel. In H. T. Bunnell and W. Idsardi, editors, Proc. ICSLP, vol. 1, pp. 232-235, Philadelphia, 1996.）に記載された式を用いることも可能である。このように、エントロピー変化量に基づく言語モデル圧縮方法に関する式であればこの発明に適用することが可能であり、上記した式に限定されない。
【００３９】
上記装置における処理手段をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、各装置における処理手段がコンピュータ上で実現される。
【００４０】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD（Digital Versatile Disc）、DVD-RAM（Random Access Memory）、CD-ROM（Compact Disc Read Only Memory）、CD-R（Recordable）/RW（ReWritable）等を、光磁気記録媒体として、MO（Magneto Optical disc）等を、半導体メモリとしてEEP-ROM（Electronically Erasable and Programmable-Read Only Memory）等を用いることが出来る。
【００４１】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記録装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００４２】
また、各手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
2014098760.tif 000004
【図２】
2014098760.tif 000005
【図３】
2014098760.tif 000006
【図４】
2014098760.tif 000007
【図５】
2014098760.tif 000008
【図６】
2014098760.tif 000009
【図７】
2014098760.tif 000010