(57)【要約】【課題】  サブワード単位の複雑度が反映されるサブワード言語モデルの複雑度を測定すること。【解決手段】  サブワード言語モデルＭＳＬおよびテキストラインｗ１Ｔを記憶する記憶手段と、サブワード言語モデルＭＳＬにおいて、テキストラインｗ１Ｔおよびこのテキストラインｗ１Ｔに対応するサブワード系列ｓ１Ｚに対する複雑度を演算して、この演算結果を条件付複雑度Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）として出力する条件付複雑度演算手段と、サブワード言語モデルＭＳＬ自体の複雑度を演算して、この演算結果を自己複雑度Ｕ（ＭＳＬ）として出力する自己複雑度演算手段と、条件付複雑度演算手段によって出力された条件付複雑度Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）および自己複雑度演算手段によって出力された自己複雑度Ｕ（ＭＳＬ）を入力値とする関数ｆ（Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ），Ｕ（ＭＳＬ））を演算して、この演算結果を出力する複雑度演算手段とを備える。【選択図】  図２
2006236150.tif 000002
【特許請求の範囲】
【請求項１】
単語列〔単語の場合も含む。〕とサブワード系列〔サブワードの場合も含む。〕との同時確率を与えるサブワード言語モデルＭＳＬおよび、テキストデータであるテキストラインｗ１Ｔ≡ｗ１ｗ２ｗ３・・・ｗＴ〔ｗｔ（ｔ＝１、２、・・・、Ｔ）は単語を、Ｔは単語数を表す。〕を記憶する記憶手段と、
上記サブワード言語モデルＭＳＬにおいて、上記テキストラインｗ１Ｔおよびこのテキストラインｗ１Ｔに対応するサブワード系列ｓ１Ｚ≡ｓ１ｓ２ｓ３・・・ｓＺ〔ｓｒ（ｒ＝１、２、・・・、Ｚ）はサブワードを、Ｚはサブワード数を表す。〕に対する複雑度を演算して、この演算結果を条件付複雑度Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）として出力する条件付複雑度演算手段と、
サブワード言語モデルＭＳＬ自体の複雑度を演算して、この演算結果を自己複雑度Ｕ（ＭＳＬ）として出力する自己複雑度演算手段と、
条件付複雑度演算手段によって出力された条件付複雑度Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）および自己複雑度演算手段によって出力された自己複雑度Ｕ（ＭＳＬ）を入力値とする関数ｆ（Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ），Ｕ（ＭＳＬ））を演算して、この演算結果を出力する複雑度演算手段と
を備えたことを特徴とするサブワード言語モデル複雑度測定装置。
【請求項２】
条件付複雑度演算手段が、負の対数尤度−ｌｏｇＰ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）〔但しＰ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）は、サブワード言語モデルＭＳＬにおける、テキストラインｗ１Ｔとこのテキストラインｗ１Ｔに対応するサブワード系列ｓ１Ｚとの同時確率を表す。〕に基づいた条件付複雑度Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）を出力するものであって、
複雑度演算手段が、条件付複雑度Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）および自己複雑度Ｕ（ＭＳＬ）をそれぞれ重み付けしたものの和である関数ｆ（Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ），Ｕ（ＭＳＬ））
【数１】
2006236150.tif 000079
〔但し、記号＊および・は演算子を表し、記号δとλはそれぞれ条件付複雑度と自己複雑度の重み付け調節をする調節パラメータを表す。〕を演算して、この演算結果を出力するものである
ことを特徴とする請求項１に記載のサブワード言語モデル複雑度測定装置。
【請求項３】
テキストラインが、
学習データｗ１Ｒ≡ｗ１ｗ２ｗ３・・・ｗＲ〔ｗｔ（ｔ＝１、２、・・・、Ｒ）は単語を、Ｒは単語数を表す。〕であって、
サブワード言語モデルＭＳＬにおいて、学習データｗ１Ｒに対応する全てのサブワード系列ｓ１Ｇ≡ｓ１ｓ２ｓ３・・・ｓＧ〔ｓｒ（ｒ＝１、２、・・・、Ｇ）はサブワードを、Ｇはサブワード数を表す。〕に対する、学習データｗ１Ｒとサブワード系列ｓ１Ｇとの同時確率Ｐ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）の総和
【数２】
2006236150.tif 000080
を演算して、この結果を確率総和として出力する確率総和演算手段と、
サブワード言語モデルＭＳＬにおいて、学習データｗ１Ｒに対応する全てのサブワード系列ｓ１Ｇの総数
【数３】
2006236150.tif 000081
を計量して、この結果をサブワード系列総数として出力するサブワード系列総数計量手段とを備え、
複雑度演算手段が、
確率総和演算手段によって出力された確率総和とサブワード系列総数計量手段によって出力されたサブワード系列総数とから、
【数４】
2006236150.tif 000082
〔但し記号δ１、δ２およびλはそれぞれ調節パラメータを表し、Ａは、サブワード言語モデルＭＳＬが確率的な有限状態オートマンで表現されている場合の状態遷移のアーク数を表す。〕
を演算して、この演算結果ＵＭＤＬ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）を出力するものである
ことを特徴とする請求項２に記載のサブワード言語モデル複雑度測定装置。
【請求項４】
テキストラインが、
テストセットｗ１Ｎ≡ｗ１ｗ２ｗ３・・・ｗＮ〔ｗｔ（ｔ＝１、２、・・・、Ｎ）は単語を、Ｎは単語数を表す。〕であって、
複雑度演算手段が、
サブワード言語モデルＭＳＬにおいて、上記テストセットｗ１Ｎおよびこのテストセットｗ１Ｎに対応するサブワード系列ｓ１Ｋ≡ｓ１ｓ２ｓ３・・・ｓＫ（ｓｒ〔ｒ＝１、２、・・・、Ｋ〕はサブワードを、Ｋはサブワード数を表す。）に対する１サブワード当たりのクロスエントロピーＨ
【数５】
2006236150.tif 000083
〔但しＰ（ｗ１Ｎ，ｓ１Ｋ｜ＭＳＬ）は、サブワード言語モデルＭＳＬにおける、テストセットｗ１Ｎとこのテストセットｗ１Ｎに対応するサブワード系列ｓ１Ｋとの同時確率を表す。〕
を演算して、この演算結果を出力するものである
ことを特徴とする請求項２に記載のサブワード言語モデル複雑度測定装置。
【請求項５】
サブワード言語モデルＭＳＬにおいて、テストセットｗ１Ｎに対応する全てのサブワード系列ｓ１Ｋに対する、テストセットｗ１Ｎとサブワード系列ｓ１Ｋとの同時確率の総和
【数６】
2006236150.tif 000084
を演算して、この結果を確率総和として出力する確率総和演算手段と、
サブワード言語モデルＭＳＬにおいて、テストセットｗ１Ｎに対応する全てのサブワード系列ｓ１Ｋの総数
【数７】
2006236150.tif 000085
を計量して、この結果をサブワード系列総数として出力するサブワード系列総数計量手段とを備え、
複雑度演算手段が、
確率総和演算手段によって出力された確率総和とサブワード系列総数計量手段によって出力されたサブワード系列総数とから、１サブワード当たりのクロスエントロピーＨａ
【数８】
2006236150.tif 000086
を演算して、この演算結果を出力するものである
ことを特徴とする請求項４に記載のサブワード言語モデル複雑度測定装置。
【請求項６】
単語列〔単語の場合も含む。〕とサブワード系列〔サブワードの場合も含む。〕との同時確率を与えるサブワード言語モデルＭＳＬにおいて、テキストデータであるテキストラインｗ１Ｔ≡ｗ１ｗ２ｗ３・・・ｗＴ〔ｗｔ（ｔ＝１、２、・・・、Ｔ）は単語を、Ｔは単語数を表す。〕およびこのテキストラインｗ１Ｔに対応するサブワード系列ｓ１Ｚ≡ｓ１ｓ２ｓ３・・・ｓＺ〔ｓｒ（ｒ＝１、２、・・・、Ｚ）はサブワードを、Ｚはサブワード数を表す。〕に対する複雑度を演算して、この演算結果を条件付複雑度Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）として出力する条件付複雑度演算ステップと、
サブワード言語モデルＭＳＬ自体の複雑度を演算して、この演算結果を自己複雑度Ｕ（ＭＳＬ）として出力する自己複雑度演算ステップと、
条件付複雑度演算手段によって出力された条件付複雑度Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）および自己複雑度演算手段によって出力された自己複雑度Ｕ（ＭＳＬ）を入力値とする関数ｆ（Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ），Ｕ（ＭＳＬ））を演算して、この演算結果を出力する複雑度演算ステップと
を有することを特徴とするサブワード言語モデル複雑度測定方法。
【請求項７】
条件付複雑度演算ステップが、負の対数尤度−ｌｏｇＰ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）〔但しＰ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）は、サブワード言語モデルＭＳＬにおける、テキストラインｗ１Ｔとこのテキストラインｗ１Ｔに対応するサブワード系列ｓ１Ｚとの同時確率を表す。〕に基づいた条件付複雑度Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）を出力するものであって、
複雑度演算ステップが、条件付複雑度Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）および自己複雑度Ｕ（ＭＳＬ）をそれぞれ重み付けしたものの和である関数ｆ（Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ），Ｕ（ＭＳＬ））
【数９】
2006236150.tif 000087
〔但し、記号＊および・は演算子を表し、記号δとλはそれぞれ条件付複雑度と自己複雑度の重み付け調節をする調節パラメータを表す。〕を演算して、この演算結果を出力するものである
ことを特徴とする請求項６に記載のサブワード言語モデル複雑度測定方法。
【請求項８】
テキストラインが、
学習データｗ１Ｒ≡ｗ１ｗ２ｗ３・・・ｗＲ〔ｗｔ（ｔ＝１、２、・・・、Ｒ）は単語を、Ｒは単語数を表す。〕であって、
サブワード言語モデルＭＳＬにおいて、学習データｗ１Ｒに対応する全てのサブワード系列ｓ１Ｇ≡ｓ１ｓ２ｓ３・・・ｓＧ〔ｓｒ（ｒ＝１、２、・・・、Ｇ）はサブワードを、Ｇはサブワード数を表す。〕に対する、学習データｗ１Ｒとサブワード系列ｓ１Ｇとの同時確率Ｐ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）の総和
【数１０】
2006236150.tif 000088
を演算して、この結果を確率総和として出力する確率総和演算ステップと、
サブワード言語モデルＭＳＬにおいて、学習データｗ１Ｒに対応する全てのサブワード系列ｓ１Ｇの総数
【数１１】
2006236150.tif 000089
を計量して、この結果をサブワード系列総数として出力するサブワード系列総数計量ステップとを有し、
複雑度演算ステップが、
確率総和演算ステップによって出力された確率総和とサブワード系列総数計量ステップによって出力されたサブワード系列総数とから、
【数１２】
2006236150.tif 000090
〔但し記号δ１、δ２およびλはそれぞれ調節パラメータを表し、Ａは、サブワード言語モデルＭＳＬが確率的な有限状態オートマンで表現されている場合の状態遷移のアーク数を表す。〕
を演算して、この演算結果ＵＭＤＬ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）を出力するものである
ことを特徴とする請求項７に記載のサブワード言語モデル複雑度測定方法。
【請求項９】
テキストラインが、
テストセットｗ１Ｎ≡ｗ１ｗ２ｗ３・・・ｗＮ〔ｗｔ（ｔ＝１、２、・・・、Ｎ）は単語を、Ｎは単語数を表す。〕であって、
複雑度演算ステップが、
サブワード言語モデルＭＳＬにおいて、上記テストセットｗ１Ｎおよびこのテストセットｗ１Ｎに対応するサブワード系列ｓ１Ｋ≡ｓ１ｓ２ｓ３・・・ｓＫ（ｓｒ〔ｒ＝１、２、・・・、Ｋ〕はサブワードを、Ｋはサブワード数を表す。）に対する１サブワード当たりのクロスエントロピーＨ
【数１３】
2006236150.tif 000091
〔但しＰ（ｗ１Ｎ，ｓ１Ｋ｜ＭＳＬ）は、サブワード言語モデルＭＳＬにおける、テストセットｗ１Ｎとこのテストセットｗ１Ｎに対応するサブワード系列ｓ１Ｋとの同時確率を表す。〕
を演算して、この演算結果を出力するものである
ことを特徴とする請求項７に記載のサブワード言語モデル複雑度測定方法。
【請求項１０】
サブワード言語モデルＭＳＬにおいて、テストセットｗ１Ｎに対応する全てのサブワード系列ｓ１Ｋに対する、テストセットｗ１Ｎとサブワード系列ｓ１Ｋとの同時確率の総和
【数１４】
2006236150.tif 000092
を演算して、この結果を確率総和として出力する確率総和演算ステップと、
サブワード言語モデルＭＳＬにおいて、テストセットｗ１Ｎに対応する全てのサブワード系列ｓ１Ｋの総数
【数１５】
2006236150.tif 000093
を計量して、この結果をサブワード系列総数として出力するサブワード系列総数計量ステップとを有し、
複雑度演算ステップが、
確率総和演算ステップによって出力された確率総和とサブワード系列総数計量ステップによって出力されたサブワード系列総数とから、１サブワード当たりのクロスエントロピーＨａ
【数１６】
2006236150.tif 000094
を演算して、この演算結果を出力するものである
ことを特徴とする請求項９に記載のサブワード言語モデル複雑度測定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サブワード言語モデルの複雑度の測定に関する。
【背景技術】
【０００２】
従来、言語モデルの複雑度測定は、単語を単位として行われていた。そこで、この従来の複雑度測定方法について以下に説明する（非特許文献１および非特許文献２参照）。
【０００３】
＜言語モデル＞
音声認識や統計的翻訳などにおいては、単語単位の言語確率モデル（言語モデル）が用いられている。音声認識を例に取ると、音声特徴量系列Ｙから単語列Ｗを決定する問題が生じるが、この場合、言語モデルを用いて、事後確率Ｐ（Ｗ｜Ｙ）を最大化するような単語列Ｗａを求めることになる。即ち、式（１）を満たすＷａを求めればよい。
【数１７】
2006236150.tif 000003
【０００４】
ところで、ベイズ（Ｂａｙｅｓ）の定理によって事後確率Ｐ（Ｗ｜Ｙ）は、式（２）で表される。
【数１８】
2006236150.tif 000004
【０００５】
ここで、音声特徴量系列Ｙを観測する確率Ｐ（Ｙ）は単語列Ｗに依存しない。従って、事後確率Ｐ（Ｗ｜Ｙ）を最大化することは、Ｐ（Ｙ｜Ｗ）Ｐ（Ｗ）を最大化することに等しい。よって式（１）は、式（３）に変形される。
【数１９】
2006236150.tif 000005
【０００６】
以上のような事後確率最大単語列の探索処理をデコーディングという。Ｐ（Ｗ）は、自然言語において単語列Ｗが観測される確率である。そして、Ｐ（Ｗ）を与えるモデルが言語モデルである。言語モデルとしては、自然言語の真のモデルを用いるのが最も好ましいが、この真のモデルを得ることは事実上不可能である。そこで言語モデルとして、自然言語の近似モデルを用いる。この言語モデルは、大量のテキストデータ（コーパス）から統計的に作られることで得られる。代表的な言語モデルとしては、Ｎ組の単語のマルコフ連鎖で表されるＮ-ｇｒａｍモデルが挙げられる。
【０００７】
また、Ｐ（Ｙ｜Ｗ）は、単語列Ｗから音声特徴量系列（観測系列）Ｙが得られる確率である。Ｐ（Ｙ｜Ｗ）を与えるモデルは、応用分野によって異なっており、例えば音声認識の場合は音響モデル、機械翻訳の場合は翻訳モデル、仮名漢字変換の場合は辞書モデルとなる。
【０００８】
ところで、言語モデルの良し悪し（言語モデルが自然言語をどれほど正確に近似したものであるか否か）は、音声認識や機械翻訳などの各応用分野において、式（３）における探索時間および認識・翻訳性能に直結する。そのため、言語モデルの良し悪しを如何にして評価（測定）するかが重要となる。
【０００９】
＜パープレキシティ、クロスエントロピー＞
単語単位の言語モデルの評価には、パープレキシティ（perplexity）もしくはクロスエントロピー（cross-entropy）が用いられる。これらについて以下に述べる。
【００１０】
単語列は、情報源である言語から生成されると考えることができる。そこで、ある言語Ｌにおける単語列ｗ１ｎ≡ｗ１ｗ２ｗ３・・・ｗｎの生成確率をＰ（ｗ１ｎ）とすれば、言語ＬのエントロピーＨ０（Ｌ）は式（４）で与えられる。
【数２０】
2006236150.tif 000006
【００１１】
また、１単語当たりのエントロピーＨ（Ｌ）は式（５）で与えられる。
【数２１】
2006236150.tif 000007
【００１２】
なお、対数の底に限定はなく、２でも、１０でも、自然対数ｅなどでもよいが、一般的な慣例に従い、この明細書においては対数の底を２とする。
【００１３】
１単語当たりのエントロピーＨ（Ｌ）は、言語Ｌから生成される単語を特定するために必要な情報量を表している。つまり、各単語の後には平均して２Ｈ（Ｌ）個の単語が後続可能であることを表している。ここで、式（６）のＰＰをパープレキシティと呼び、これは情報理論的な意味での単語の平均分岐数を表している。
【数２２】
2006236150.tif 000008
【００１４】
言語Ｌを言語モデルＭによって近似した場合に、言語モデルＭが言語Ｌをどれほど正確に近似したものであるか否かは、確率分布間の距離尺度として一般的に用いられる相対エントロピーによって評価される。
【００１５】
言語モデルＭによる単語列ｗ１ｎの生成確率をＰ（ｗ１ｎ｜Ｍ）で表すと、言語モデルＭと言語Ｌとの間の相対エントロピーは、式（７）で与えられる。
【数２３】
2006236150.tif 000009
【００１６】
式（７）の右辺の最初の項を、言語モデルＭによる言語Ｌのクロスエントロピーと呼び、Ｈ０（Ｌ、Ｍ）で表すとする。
【数２４】
2006236150.tif 000010
【００１７】
従って、式（７）は、式（４）および式（８）から、式（９）に変形できる。
【数２５】
2006236150.tif 000011
【００１８】
相対エントロピーの一般的性質から、式（９）においてはＤ（Ｌ||Ｍ）＝Ｈ０（Ｌ，Ｍ）-Ｈ０（Ｌ）≧０が成立する。ここで等号が成立するのはＬ＝Ｍ、即ち、言語モデルＭが言語Ｌに一致する場合である。従って、クロスエントロピーＨ０（Ｌ，Ｍ）を最小にするような言語モデルは、自然言語の真のモデルを良く近似していると言える。つまり、このような言語モデルは、真の言語生成確率に近い言語生成確率を与えることになる。
【００１９】
また、１単語当たりのクロスエントロピーＨ（Ｌ，Ｍ）は、式（１０）で与えられる。
【数２６】
2006236150.tif 000012
【００２０】
クロスエントロピーＨ０（Ｌ，Ｍ）を最小にするということは、１単語当たりのクロスエントロピーＨ（Ｌ，Ｍ）を最小にすることと同義である。
【００２１】
ここで、単語列の情報源である言語Ｌの統計的性質が、言語Ｌから生成される十分に長い単語列に現れる場合（エルゴード性；ergodicity）、シャノン-マクミラン-ブライマンの定理（Shannon-McMillan-Breiman theorem）によって、式（１０）は式（１１）に変形できる。
【数２７】
2006236150.tif 000013
【００２２】
式（１１）は、十分に長いテキスト（単語列）からクロスエントロピーを推定できることを示している。
【００２３】
式（１１）に表される１単語当たりのクロスエントロピーＨ（Ｌ，Ｍ）は、十分に長い有限個（ｎ＝Ｎ）の単語列について、式（１２）によって表すことができる。
【数２８】
2006236150.tif 000014
【００２４】
また、この場合、式（６）に表されるパープレキシティＰＰは、式（１３）によって表すことができる。
【数２９】
2006236150.tif 000015
【００２５】
＜単語複雑度＞
実際に単語単位の言語モデルの評価を行うには、評価のためのテキストデータ（これをテストセットという。）を定め、このテストセットに対するパープレキシティを求めることによって行われる。このパープレキシティを、テストセット・パープレキシティ（test-set perplexity）という。
【００２６】
テストセット・パープレキシティは、テストセット（単語列）ｗ１Ｎに対する１単語当たりのクロスエントロピーを求め、それの２のべき乗をとることで算出することができる。つまり、テストセットｗ１Ｎに対して、１単語当たりのクロスエントロピーは式（１２）によって求められ、テストセット・パープレキシティは式（１３）によって求められる。
【００２７】
指数関数の単調性から、１単語当たりのクロスエントロピーとテストセット・パープレキシティの増減傾向は一致するため、テストセット・パープレキシティを最小にする言語モデルは、結局、クロスエントロピーを最小にする言語モデルということができる。
【００２８】
１単語当たりのクロスエントロピーもしくはテストセット・パープレキシティの値が小さければ小さい程、テストセットの出現確率が高くなる。従って、式（３）の探索過程において、探し当てたい文とそうではない文の確率値（もしくは尤度値）の差が大きくなる。これは、実際に式（３）において、全数検索ではなく確率値（もしくは尤度値）の差を閾値としたビーム探索を行う場合に有効である。
【００２９】
ビーム探索とは、探索過程において最も高い確率値（もしくは尤度値）Ｒから一定の閾値Δで設定された領域ｘ：｛Ｒ−Δ≦ｘ≦Ｒ｝に含まれない候補を、式（３）を満たす見込みが無いものとして候補から外すことにより、探索空間を削減する方法である。
【００３０】
従って、確率値（もしくは尤度値）の差が大きくなれば、ビーム幅｛Ｒ−Δ≦ｘ≦Ｒ｝に含まれる候補が減少することになるため、探索空間が削減され、ひいては計算時間（探索時間）が削減されることになる。
【００３１】
以上の観点から、テストセットを用いた１単語当たりのクロスエントロピーもしくはテストセット・パープレキシティは、単語単位の言語モデルに対しての評価尺度になっている。即ち、単語単位の言語モデルの複雑度は、１単語当たりのクロスエントロピーもしくはテストセット・パープレキシティの値をもって評価されることになる。以下、特に断りのない限り、クロスエントロピーとは、１単語当たりのクロスエントロピーをいうものとする。
【００３２】
図（１７）に、従来例における、単語単位の言語モデルに対するテストセット・パープレキシティないしクロスエントロピーを算出する言語モデル複雑度測定装置（９００）の機能ブロック図を示す。
【００３３】
ここでまず、言語モデルである単語単位のＮ-ｇｒａｍモデルについて補足説明する。言語モデルＭは、単語列ｗ１ｎが観測される確率ＰＭ（ｗ１ｎ）を与えるものであるが、この確率ＰＭ（ｗ１ｎ）は、式（１４）のとおり条件付き確率の積で表される。ここで確率ＰＭ（ｗ１ｎ）は、確率Ｐ（ｗ１ｎ｜Ｍ）と同義である。
【数３０】
2006236150.tif 000016
【００３４】
ところで、あらゆる単語の組み合わせについて条件付き確率ＰＭ（ｗｔ｜ｗ１・・・ｗｔ−１）を求めることは事実上不可能であるから、何らかの近似を行う必要がある。そこで、Ｎ−１重マルコフ過程（ある事象の確率が、その直前の事象のＮ-１個の事象だけに依存する確率過程）で近似することが公知として行われている。このような言語モデルが、単語単位のＮ-ｇｒａｍモデルである。
【００３５】
このとき、条件付き確率ＰＭ（ｗｔ｜ｗ１・・・ｗｔ−１）は、ＰＭ（ｗｔ｜ｗ１・・・ｗｔ−１）≡ＰＭ（ｗｔ｜ｗｔ-Ｎ＋１・・・ｗｔ−１）と表される。そして、条件付き確率ＰＭ（ｗｔ｜ｗｔ-Ｎ＋１・・・ｗｔ−１）は、大量のテキストデータであるコーパスから単語出現頻度リストや語彙リストを生成することによって、単語列の出現頻度や相対頻度から求めることができる。
【００３６】
ここで、Ｎの値が大きいほど、より正確に条件付き確率を求めることができるが、一方で、言語モデル（単語単位のＮ-ｇｒａｍモデル）のサイズが指数的に増大し、さらに、膨大なテキストデータからなるコーパスでないと、単語の並びの出現確率自体が信頼できないものとなる。従って、通常はＮ＝２またはＮ＝３とすることが多い。Ｎ＝１の場合をユニグラム（unigram）、Ｎ＝２の場合をバイグラム（bigram）、Ｎ＝３の場合をトライグラム（trigram）という。以下では、バイグラムモデルである言語モデルを例に説明する。
【００３７】
バイグラムモデルである言語モデルにおいては、式（１４）は次式で表される。
【数３１】
2006236150.tif 000017
【００３８】
ここで、この言語モデルのテストセットｗ１Ｎによる評価を行う場合、クロスエントロピーＨは、式（１２）および式（１５）から式（１６）で与えられる。
【数３２】
2006236150.tif 000018
【００３９】
また、テストセット・パープレキシティＰＰは、式（１３）および式（１５）から式（１７）で与えられる。
【数３３】
2006236150.tif 000019
【００４０】
続いて、図１７を参照して、単語単位の言語モデルのテストセットｗ１Ｎによる評価、即ち、クロスエントロピーＨないしテストセット・パープレキシティＰＰの算出について説明する。
【００４１】
予め、コーパスからバイグラムモデルである言語モデル（９０１）が生成されて言語モデル複雑度測定装置（９００）の記憶装置に記憶されているとする。また、複雑度測定装置に入力されたテストセットｗ１Ｎ≡ｗ１ｗ２ｗ３・・・ｗＮ（９０２）が言語モデル複雑度測定装置（９００）の記憶装置に記憶される。あるいは、記憶装置に予め記憶されている所定のテキストデータがテストセットに用いられる。
【００４２】
言語モデル複雑度測定装置（９００）の複雑度演算部（９０３）では、所定のプログラムに従った演算が行われて、その結果、クロスエントロピーＨないしテストセット・パープレキシティＰＰを出力する。即ち、まず、テストセット（９０２）を読み込み、このテストセット（９０２）の単語列の順番に、言語モデル（９０１）からその単語の出現確率を取得する。
【００４３】
より具体的には、まず、テストセット（９０２）の先頭単語ｗ１の言語モデル（９０１）における出現確率を取得する。続いて、言語モデル（９０１）において、先頭単語ｗ１の次に単語ｗ２が出現する条件付き確率ＰＭ（ｗ１｜ｗ２）を取得する。さらに、言語モデル（９０１）において、単語ｗ２の次に単語ｗ３が出現する確率ＰＭ（ｗ２｜ｗ３）を取得する。このような処理をテストセット（９０２）の全ての単語について行い、各条件付き確率の積ＰＭ（ｗ１）×ＰＭ（ｗ１｜ｗ２）×ＰＭ（ｗ２｜ｗ３）×・・・ＰＭ（ｗＮ｜ｗＮ-１）を求める。この演算結果から、式（１６）によるクロスエントロピーＨの値が、あるいは式（１７）によるテストセット・パープレキシティＰＰの値が出力される（勿論、両者の値を出力する場合もある。）。
【００４４】
複雑度演算部（９０３）から出力されたクロスエントロピーＨの値あるいはテストセット・パープレキシティＰＰの値は、単語単位の言語モデルの複雑度（９０４）として、言語モデル複雑度測定装置（９００）の記憶装置に保存記憶される。
【００４５】
以上のような単語単位の言語モデルのテストセット・パープレキシティの算出方法ないし装置としては、例えばＰａｌｍｋｉｔ（非特許文献３参照）がある。
【非特許文献１】北研二著、「確率的言語モデル」、東京大学出版会、１９９９年１１月、ｐ．32-37  ISBN 4-13-065404-7
【非特許文献２】鹿野清宏、伊藤克亘、河原達也、武田一哉、山本幹雄著、「ＩＴ  Ｔｅｘｔ  音声認識システム」、オーム社、２００１、ｐ．65-67  ISBN  4-274-13228-5
【非特許文献３】伊藤彰則著、“統計的言語モデルツールキットＰａｌｍｋｉｔマニュアル”、［平成１７年２月１４日検索］、インターネット〈URL : http://palmkit.sourceforge.net/doc/manual.html〉
【発明の開示】
【発明が解決しようとする課題】
【００４６】
上述した複雑度は、単語単位の言語モデルの複雑度である。しかし例えば、音声言語処理などでは音素や音節といった単位が用いられ、機械翻訳では品詞などの文法情報といった単位が通常用いられるように、単語よりも細かい単位が用いられる。このような単位をサブワード単位という。
【００４７】
上述した単語単位の複雑度では、サブワード（音素など）が考慮されていないため、サブワード単位の複雑度が反映されない。例えば音声認識の場合であれば、単語の読みが複数存在する場合、サブワードである音素を単位とした複雑度は増大していなければならないのに、単語単位の複雑度は変化しないので、読みが複数存在することによって探索空間がどれだけ増大したかを知ることができない。
【００４８】
具体例として、“渡部”という文は単語単位では１系列であるが、“わたなべ”もしくは“わたべ”と読みが２種類あるため、実際の探索空間はサブワード（音素）単位では２系列（／ｗ／／ａ／／ｔ／／ａ／／ｎ／／ａ／／ｂ／／ｅ／と／ｗ／／ａ／／ｔ／／ａ／／ｂ／／ｅ／）に広がっている。つまり、複雑度が変化している。しかし、単語単位の複雑度ではこのようなサブワード単位の複雑度が反映されないので、サブワード単位の上記２系列の複雑さを測ることができない。
【００４９】
そこで本発明は、以上の点に鑑みて、サブワード単位の複雑度が反映されるサブワード言語モデルの複雑度を測定するサブワード言語モデル複雑度測定装置およびその方法を提供することを目的とする。
【課題を解決するための手段】
【００５０】
本発明のサブワード言語モデル複雑度測定装置は、上記の問題点を解決するものとして、次のように構成される。即ち、単語列〔単語の場合も含む。〕とサブワード系列〔サブワードの場合も含む。〕との同時確率を与えるサブワード言語モデルＭＳＬおよび、テキストデータであるテキストラインｗ１Ｔ≡ｗ１ｗ２ｗ３・・・ｗＴ〔ｗｔ（ｔ＝１、２、・・・、Ｔ）は単語を、Ｔは単語数を表す。〕を記憶する記憶手段と、上記サブワード言語モデルＭＳＬにおいて、上記テキストラインｗ１Ｔおよびこのテキストラインｗ１Ｔに対応するサブワード系列ｓ１Ｚ≡ｓ１ｓ２ｓ３・・・ｓＺ〔ｓｒ（ｒ＝１、２、・・・、Ｚ）はサブワードを、Ｚはサブワード数を表す。〕に対する複雑度を演算して、この演算結果を条件付複雑度Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）として出力する条件付複雑度演算手段と、サブワード言語モデルＭＳＬ自体の複雑度を演算して、この演算結果を自己複雑度Ｕ（ＭＳＬ）として出力する自己複雑度演算手段と、条件付複雑度演算手段によって出力された条件付複雑度Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）および自己複雑度演算手段によって出力された自己複雑度Ｕ（ＭＳＬ）を入力値とする関数ｆ（Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ），Ｕ（ＭＳＬ））を演算して、この演算結果を出力する複雑度演算手段とを備えたことを特徴とするものである。
【００５１】
この構成によれば、サブワード言語モデルの複雑度は、テキストデータであるテキストラインを用いて得られる条件付複雑度と、自己複雑度とを入力値とする関数ｆによって得られる。
【００５２】
また、上記のサブワード言語モデル複雑度測定装置は、条件付複雑度演算手段が、負の対数尤度−ｌｏｇＰ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）〔但しＰ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）は、サブワード言語モデルＭＳＬにおける、テキストラインｗ１Ｔとこのテキストラインｗ１Ｔに対応するサブワード系列ｓ１Ｚとの同時確率を表す。〕に基づいた条件付複雑度Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）を出力するものであって、複雑度演算手段が、条件付複雑度Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）および自己複雑度Ｕ（ＭＳＬ）をそれぞれ重み付けしたものの和である関数ｆ（Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ），Ｕ（ＭＳＬ））
【数３４】
2006236150.tif 000020
〔但し、記号＊および・は演算子を表し、記号δとλはそれぞれ条件付複雑度と自己複雑度の重み付け調節をする調節パラメータを表す。〕を演算して、この演算結果を出力するものであるとしてもよい（これを第１のサブワード言語モデル複雑度測定装置ということにする。）。
【００５３】
この構成によれば、サブワード言語モデルの複雑度は、調節パラメータによって調節可能な条件付複雑度と自己複雑度との和によって得られる。
【００５４】
さらに、第１のサブワード言語モデル複雑度測定装置は、テキストラインが、学習データｗ１Ｒ≡ｗ１ｗ２ｗ３・・・ｗＲ〔ｗｔ（ｔ＝１、２、・・・、Ｒ）は単語を、Ｒは単語数を表す。〕であって、サブワード言語モデルＭＳＬにおいて、学習データｗ１Ｒに対応する全てのサブワード系列ｓ１Ｇ≡ｓ１ｓ２ｓ３・・・ｓＧ〔ｓｒ（ｒ＝１、２、・・・、Ｇ）はサブワードを、Ｇはサブワード数を表す。〕に対する、学習データｗ１Ｒとサブワード系列ｓ１Ｇとの同時確率Ｐ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）の総和
【数３５】
2006236150.tif 000021
を演算して、この結果を確率総和として出力する確率総和演算手段と、サブワード言語モデルＭＳＬにおいて、学習データｗ１Ｒに対応する全てのサブワード系列ｓ１Ｇの総数
【数３６】
2006236150.tif 000022
を計量して、この結果をサブワード系列総数として出力するサブワード系列総数計量手段とを備え、複雑度演算手段が、確率総和演算手段によって出力された確率総和とサブワード系列総数計量手段によって出力されたサブワード系列総数とから、
【数３７】
2006236150.tif 000023
〔但し記号δ１、δ２およびλはそれぞれ調節パラメータを表し、Ａは、サブワード言語モデルＭＳＬが確率的な有限状態オートマンで表現されている場合の状態遷移のアーク数を表す。〕を演算して、この演算結果ＵＭＤＬ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）を出力するものであるとしてもよい。
【００５５】
この構成によれば、サブワード言語モデルＭＳＬの複雑度は、前向きアルゴリズムによって効率良く求められる、学習データｗ１Ｒに対応する全てのサブワード系列ｓ１Ｇに対する、学習データｗ１Ｒとサブワード系列ｓ１Ｇとの同時確率の総和、および、学習データｗ１Ｒに対応する全てのサブワード系列ｓ１Ｇの総数に基づいて得られる。
【００５６】
あるいは、第１のサブワード言語モデル複雑度測定装置は、テキストラインが、テストセットｗ１Ｎ≡ｗ１ｗ２ｗ３・・・ｗＮ〔ｗｔ（ｔ＝１、２、・・・、Ｎ）は単語を、Ｎは単語数を表す。〕であって、複雑度演算手段が、サブワード言語モデルＭＳＬにおいて、上記テストセットｗ１Ｎおよびこのテストセットｗ１Ｎに対応するサブワード系列ｓ１Ｋ≡ｓ１ｓ２ｓ３・・・ｓＫ（ｓｒ〔ｒ＝１、２、・・・、Ｋ〕はサブワードを、Ｋはサブワード数を表す。）に対する１サブワード当たりのクロスエントロピーＨ
【数３８】
2006236150.tif 000024
〔但しＰ（ｗ１Ｎ，ｓ１Ｋ｜ＭＳＬ）は、サブワード言語モデルＭＳＬにおける、テストセットｗ１Ｎとこのテストセットｗ１Ｎに対応するサブワード系列ｓ１Ｋとの同時確率を表す。〕を演算して、この演算結果を出力するものであるとしてもよい（これを第２のサブワード言語モデル複雑度測定装置ということにする。）。
【００５７】
この構成によれば、サブワード言語モデルＭＳＬの複雑度は、サブワード言語モデルＭＳＬにおける、テストセットｗ１Ｎとこのテストセットｗ１Ｎに対応するサブワード系列ｓ１Ｋとの同時確率Ｐ（ｗ１Ｎ，ｓ１Ｋ｜ＭＳＬ）に基づく、１単語当たりのクロスエントロピーＨないしテストセット・パープレキシティＰＰとして得られる。
【００５８】
さらに、第２のサブワード言語モデル複雑度測定装置は、サブワード言語モデルＭＳＬにおいて、テストセットｗ１Ｎに対応する全てのサブワード系列ｓ１Ｋに対する、テストセットｗ１Ｎとサブワード系列ｓ１Ｋとの同時確率の総和
【数３９】
2006236150.tif 000025
を演算して、この結果を確率総和として出力する確率総和演算手段と、サブワード言語モデルＭＳＬにおいて、テストセットｗ１Ｎに対応する全てのサブワード系列ｓ１Ｋの総数
【数４０】
2006236150.tif 000026
を計量して、この結果をサブワード系列総数として出力するサブワード系列総数計量手段とを備え、複雑度演算手段が、確率総和演算手段によって出力された確率総和とサブワード系列総数計量手段によって出力されたサブワード系列総数とから、１サブワード当たりのクロスエントロピーＨａ
【数４１】
2006236150.tif 000027
を演算して、この演算結果を出力するものとしてもよい。
【００５９】
この構成によれば、サブワード言語モデルＭＳＬにおける、テストセットｗ１Ｎとこのテストセットｗ１Ｎに対応するサブワード系列ｓ１Ｋとの同時確率Ｐ（ｗ１Ｎ，ｓ１Ｋ｜ＭＳＬ）が、前向きアルゴリズムによって効率良く求められる、テストセットｗ１Ｎに対応する全てのサブワード系列ｓ１Ｋに対する、テストセットｗ１Ｎとサブワード系列ｓ１Ｋとの同時確率の総和、および、テストセットｗ１Ｎに対応する全てのサブワード系列ｓ１Ｋの総数によって求められるため、効率良くサブワード言語モデルＭＳＬの複雑度が得られる。
【００６０】
本発明のサブワード言語モデル複雑度測定方法は、上記の問題点を解決するものとして、次のような方法とする。即ち、単語列〔単語の場合も含む。〕とサブワード系列〔サブワードの場合も含む。〕との同時確率を与えるサブワード言語モデルＭＳＬにおいて、テキストデータであるテキストラインｗ１Ｔ≡ｗ１ｗ２ｗ３・・・ｗＴ〔ｗｔ（ｔ＝１、２、・・・、Ｔ）は単語を、Ｔは単語数を表す。〕およびこのテキストラインｗ１Ｔに対応するサブワード系列ｓ１Ｚ≡ｓ１ｓ２ｓ３・・・ｓＺ〔ｓｒ（ｒ＝１、２、・・・、Ｚ）はサブワードを、Ｚはサブワード数を表す。〕に対する複雑度を演算して、この演算結果を条件付複雑度Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）として出力する条件付複雑度演算ステップと、サブワード言語モデルＭＳＬ自体の複雑度を演算して、この演算結果を自己複雑度Ｕ（ＭＳＬ）として出力する自己複雑度演算ステップと、条件付複雑度演算手段によって出力された条件付複雑度Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）および自己複雑度演算手段によって出力された自己複雑度Ｕ（ＭＳＬ）を入力値とする関数ｆ（Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ），Ｕ（ＭＳＬ））を演算して、この演算結果を出力する複雑度演算ステップとを有する方法とする。
【００６１】
この方法によれば、サブワード言語モデルの複雑度は、テキストデータであるテキストラインを用いて得られる条件付複雑度と、自己複雑度とを入力値とする関数ｆによって得られる。
【００６２】
また、上記のサブワード言語モデル複雑度測定方法は、条件付複雑度演算ステップが、負の対数尤度−ｌｏｇＰ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）〔但しＰ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）は、サブワード言語モデルＭＳＬにおける、テキストラインｗ１Ｔとこのテキストラインｗ１Ｔに対応するサブワード系列ｓ１Ｚとの同時確率を表す。〕に基づいた条件付複雑度Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）を出力するものであって、複雑度演算ステップが、条件付複雑度Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ）および自己複雑度Ｕ（ＭＳＬ）をそれぞれ重み付けしたものの和である関数ｆ（Ｕ（ｗ１Ｔ，ｓ１Ｚ｜ＭＳＬ），Ｕ（ＭＳＬ））
【数４２】
2006236150.tif 000028
〔但し、記号＊および・は演算子を表し、記号δとλはそれぞれ条件付複雑度と自己複雑度の重み付け調節をする調節パラメータを表す。〕を演算して、この演算結果を出力するものであるとしてもよい（これを第１のサブワード言語モデル複雑度測定方法ということにする。）。
【００６３】
この方法によれば、サブワード言語モデルの複雑度は、調節パラメータによって調節可能な条件付複雑度と自己複雑度との和によって得られる。
【００６４】
さらに、第１のサブワード言語モデル複雑度測定方法は、テキストラインが、学習データｗ１Ｒ≡ｗ１ｗ２ｗ３・・・ｗＲ〔ｗｔ（ｔ＝１、２、・・・、Ｒ）は単語を、Ｒは単語数を表す。〕であって、サブワード言語モデルＭＳＬにおいて、学習データｗ１Ｒに対応する全てのサブワード系列ｓ１Ｇ≡ｓ１ｓ２ｓ３・・・ｓＧ〔ｓｒ（ｒ＝１、２、・・・、Ｇ）はサブワードを、Ｇはサブワード数を表す。〕に対する、学習データｗ１Ｒとサブワード系列ｓ１Ｇとの同時確率Ｐ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）の総和
【数４３】
2006236150.tif 000029
を演算して、この結果を確率総和として出力する確率総和演算ステップと、サブワード言語モデルＭＳＬにおいて、学習データｗ１Ｒに対応する全てのサブワード系列ｓ１Ｇの総数
【数４４】
2006236150.tif 000030
を計量して、この結果をサブワード系列総数として出力するサブワード系列総数計量ステップとを有し、複雑度演算ステップが、確率総和演算ステップによって出力された確率総和とサブワード系列総数計量ステップによって出力されたサブワード系列総数とから、
【数４５】
2006236150.tif 000031
〔但し記号δ１、δ２およびλはそれぞれ調節パラメータを表し、Ａは、サブワード言語モデルＭＳＬが確率的な有限状態オートマンで表現されている場合の状態遷移のアーク数を表す。〕を演算して、この演算結果ＵＭＤＬ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）を出力するものであるとしてもよい。
【００６５】
この方法によれば、サブワード言語モデルＭＳＬの複雑度は、前向きアルゴリズムによって効率良く求められる、学習データｗ１Ｒに対応する全てのサブワード系列ｓ１Ｇに対する、学習データｗ１Ｒとサブワード系列ｓ１Ｇとの同時確率の総和、および、学習データｗ１Ｒに対応する全てのサブワード系列ｓ１Ｇの総数に基づいて得られる。
【００６６】
あるいは、第１のサブワード言語モデル複雑度測定方法は、テキストラインが、テストセットｗ１Ｎ≡ｗ１ｗ２ｗ３・・・ｗＮ〔ｗｔ（ｔ＝１、２、・・・、Ｎ）は単語を、Ｎは単語数を表す。〕であって、複雑度演算ステップが、サブワード言語モデルＭＳＬにおいて、上記テストセットｗ１Ｎおよびこのテストセットｗ１Ｎに対応するサブワード系列ｓ１Ｋ≡ｓ１ｓ２ｓ３・・・ｓＫ（ｓｒ〔ｒ＝１、２、・・・、Ｋ〕はサブワードを、Ｋはサブワード数を表す。）に対する１サブワード当たりのクロスエントロピーＨ
【数４６】
2006236150.tif 000032
〔但しＰ（ｗ１Ｎ，ｓ１Ｋ｜ＭＳＬ）は、サブワード言語モデルＭＳＬにおける、テストセットｗ１Ｎとこのテストセットｗ１Ｎに対応するサブワード系列ｓ１Ｋとの同時確率を表す。〕を演算して、この演算結果を出力するものであるとしてもよい（これを第２のサブワード言語モデル複雑度測定方法ということにする。）。
【００６７】
この方法によれば、サブワード言語モデルＭＳＬの複雑度は、サブワード言語モデルＭＳＬにおける、テストセットｗ１Ｎとこのテストセットｗ１Ｎに対応するサブワード系列ｓ１Ｋとの同時確率Ｐ（ｗ１Ｎ，ｓ１Ｋ｜ＭＳＬ）に基づく、１単語当たりのクロスエントロピーＨないしテストセット・パープレキシティＰＰとして得られる。
【００６８】
さらに、第２のサブワード言語モデル複雑度測定装置は、サブワード言語モデルＭＳＬにおいて、テストセットｗ１Ｎに対応する全てのサブワード系列ｓ１Ｋに対する、テストセットｗ１Ｎとサブワード系列ｓ１Ｋとの同時確率の総和
【数４７】
2006236150.tif 000033
を演算して、この結果を確率総和として出力する確率総和演算ステップと、サブワード言語モデルＭＳＬにおいて、テストセットｗ１Ｎに対応する全てのサブワード系列ｓ１Ｋの総数
【数４８】
2006236150.tif 000034
を計量して、この結果をサブワード系列総数として出力するサブワード系列総数計量ステップとを有し、複雑度演算ステップが、確率総和演算ステップによって出力された確率総和とサブワード系列総数計量ステップによって出力されたサブワード系列総数とから、１サブワード当たりのクロスエントロピーＨａ
【数４９】
2006236150.tif 000035
を演算して、この演算結果を出力するものであるとしてもよい。
【００６９】
この方法によれば、サブワード言語モデルＭＳＬにおける、テストセットｗ１Ｎとこのテストセットｗ１Ｎに対応するサブワード系列ｓ１Ｋとの同時確率Ｐ（ｗ１Ｎ，ｓ１Ｋ｜ＭＳＬ）が、前向きアルゴリズムによって効率良く求められる、テストセットｗ１Ｎに対応する全てのサブワード系列ｓ１Ｋに対する、テストセットｗ１Ｎとサブワード系列ｓ１Ｋとの同時確率の総和、および、テストセットｗ１Ｎに対応する全てのサブワード系列ｓ１Ｋの総数によって求められるため、効率良くサブワード言語モデルＭＳＬの複雑度が得られる。
【発明の効果】
【００７０】
本発明のサブワード言語モデル測定装置およびその方法によれば、テストセットないし学習データを用いることで、サブワード単位の複雑度が反映されるサブワード言語モデルの複雑度を測定することができる。
【００７１】
この効果は、サブワード言語モデルの良し悪しを、音声認識・機械翻訳などの大規模なシステムを実際に稼動することなく、事前にサブワード言語モデルの良し悪しを判断することができる効果をも派生する。
【発明を実施するための最良の形態】
【００７２】
まず、本発明の装置・方法において上記構成をとる理論背景を説明する。その上で、本発明の装置・方法の実施形態を説明する。
本発明の装置・方法の実施形態は、下記に説明するものに限定されるものではく、下記の理論背景に述べる理論をおよそ具現化するものであれば、適宜変更可能であることは勿論である。
【００７３】
《理論背景》
＜テストセットを用いる場合＞
サブワード単位としては、例えば音声認識であれば音素やＨＭＭ（隠れマルコフモデル；Hidden Markov model）状態、統計機械翻訳であれば品詞などの文法情報が付加された単語などが用いられる。このようなサブワード単位を考慮したデコーディングは、式（３）ではなく、式（１８）に基づく探索が行われることになる。
【数５０】
2006236150.tif 000036
【００７４】
ここでサブワード系列の集合をＳで表す。また、ここで考えるべき言語モデルは、サブワード単位が反映された言語モデルであるから、これをサブワード言語モデルということにし、ＭＳＬで表すことにする。また、従来の言語モデルをＭＬで表す。さらに、言語モデルＭＬが単語単位であるのに対し、サブワード単位での確率モデルをサブワードモデルということにし、これをＭＳで表すことにする。サブワード言語モデルＭＳＬは、単語列（以下、単語列とは１単語の場合も含むとする。）とそれに対応するサブワード系列（以下、サブワード系列とは１サブワードの場合も含むとする。）との同時確率を与えるものである。
【００７５】
式（１８）は、サブワード言語モデルＭＳＬの複雑度が、言語モデルＭＬが与える確率Ｐ（Ｗ｜ＭＬ）ではなく、言語モデルＭＬとサブワードモデルＭＳとの同時確率、即ちサブワード言語モデルＭＳＬが与える確率Ｐ（Ｓ，Ｗ｜ＭＳＬ）に基づくことを示している。従って、式（１２）や式（１３）の類推に基づいて、サブワード言語モデルＭＳＬの複雑度をクロスエントロピーやテストセット・パープレキシティによって求めることができる。このことは、言語モデルＭＬ、サブワードモデルＭＳ、サブワード言語モデルＭＳＬについて概説した後に説明する。
【００７６】
言語モデルＭＬは、単語列Ｗ（＝ｗ１ｎ）が出現する確率Ｐ（Ｗ｜ＭＬ）を与えるものである。より具体的に説明すると、例えば言語モデルＭＬがユニグラムモデルの場合には、言語モデルＭＬは各単語が出現する確率（出現確率）を表し、各単語間の遷移（ある単語ｗｔの次に単語ｗｔ+１が接続することである。）は全て等確率とされるのが一般的である。また、言語モデルＭＬがバイグラムモデルの場合には、言語モデルＭＬは各単語が出現する確率（出現確率）および、各単語間の遷移確率（ある単語ｗｔの次に単語ｗｔ+１が接続する条件付き確率である。）が表されるものが一般的である。その他トライグラムモデルなどについても同様である。
【００７７】
なお、ここでいう出現確率については、ある単語が接続条件となる単語を不要としてこれに接続する条件付き確率と考えれば、出現確率も遷移確率と言うことができる。そこで、以下では出現確率のことも含めて遷移確率と言うことにする。
【００７８】
言語モデルＭＬは、以上のように単語などの遷移確率を表すもので、この遷移確率から、一般的な単語列Ｗ（＝ｗ１ｎ）が出現する確率Ｐ（Ｗ｜ＭＬ）を与えることができるものとなっている（式（１４）、式（１５）、後述の図３、図６などを参照のこと。）。
【００７９】
また、サブワードモデルＭＳは、単語Ｗに対応するサブワード系列Ｓが出現する確率Ｐ（Ｓ｜Ｗ，ＭＳ）を与えるものである。サブワードが音素である場合を例に取って具体的に説明すると、サブワードモデルＭＳは単語に対応する各音素系列毎に各音素の遷移確率（ここでの遷移確率も上述した遷移確率と同義である。）を表すものとなっていて、例えば言語モデルＭＬに現れる単語「は」に対応する音素系列は、一般的に／ｈ／／ａ／と／ｗ／／ａ／の２系列があり、それぞれの音素系列について、各音素の遷移確率を表すものとなっている。
【００８０】
その他、例えば各音素系列（上記の例でいえば、／ｈ／／ａ／と／ｗ／／ａ／の２系列）毎にその遷移確率を表すようになっている場合もあり、この場合には通常、各音素系列に現れる各音素の遷移確率は、各音素系列の最後の音素を除いて１とされ、各音素系列の最後の音素において当該音素系列全体の遷移確率が与えられる（後述の図４、図７などを参照のこと。）。
【００８１】
サブワードモデルＭＳは、以上のように単語に対応する各サブワード系列毎にサブワードの遷移確率を表すもので（上述のように各サブワード系列毎にその遷移確率を表すようになっている場合なども含む。）、このことから、単語Ｗに対応するサブワード系列Ｓが出現する確率Ｐ（Ｓ｜Ｗ，ＭＳ）を与えることができるものとなっている。さらに、サブワードモデルＭＳは、単語モデルＭＬから得られる一般的な単語列Ｗ（＝ｗ１ｎ）に対しても、各単語にサブワード系列を対応付けることで、単語列Ｗ（＝ｗ１ｎ）に対応するサブワード系列Ｓ（＝ｓ１ｋ≡ｓ１ｓ２ｓ３・・・ｓｋ）の出現する確率を与えることができる。
【００８２】
なお、言語モデルＭＬは、例えばＮ−ｇｒａｍモデルとしてコーパスから統計的に生成され、サブワードモデルＭＳは、例えば、言語モデルＭＬに現れる漢字に対しては漢字仮名変換辞書モデル（これは、漢字に仮名を対応付けた確率モデルである。）を適用して仮名に変換し、仮名（漢字仮名変換辞書モデルによって漢字から仮名に変換された仮名も含む。）に対しては発音辞書モデル（これは、仮名に音素を対応付けた確率モデルである。）を適用して音素へと変換することによって統計的に生成される（勿論、音素に限らず、ＨＭＭ状態などへの変換の場合なども含む。）。
【００８３】
サブワード言語モデルＭＳＬは、上記の言語モデルＭＬとサブワードモデルＭＳから生成される。即ち、サブワード言語モデルＭＳＬは、言語モデルＭＬに現れる単語などに、サブワードモデルＭＳに現れる各サブワード系列毎のサブワードを反映させたものと、その遷移確率とを対応させたものである（後述の図５を参照のこと。）。
【００８４】
ところで、サブワード言語モデルＭＳＬが与える確率Ｐ（Ｓ，Ｗ｜ＭＳＬ）は、言語モデルＭＬが与える確率Ｐ（Ｗ｜ＭＬ）とサブワードモデルＭＳが与える確率Ｐ（Ｓ｜Ｗ，ＭＳ）との積によって与えられる。即ち、
【数５１】
2006236150.tif 000037
により求めることができる。
【００８５】
式（Ａ）は、サブワード言語モデルＭＳＬを、単語モデルＭＬとサブワードモデルＭＳから生成する際にも用いられる。即ち、言語モデルＭＬに現れる単語などに、サブワードモデルＭＳに現れる各サブワード系列毎のサブワードを反映させたものに対応する遷移確率は、式（Ａ）に従って、言語モデルＭＬに現れる単語などの遷移確率と、サブワードモデルＭＳに現れる各サブワード系列毎のサブワードの遷移確率との積によって求められる。
【００８６】
より具体的には、例えば、言語モデルＭＬにおいて単語「は」の遷移確率が０．３０で、単語「い」の遷移確率が０．１０で、単語「は」に後続する単語「い」の遷移確率が０．２０で与えられるとし、サブワードモデルＭＳにおいて、単語「は」に対応する音素系列／ｈ／／ａ／の音素の遷移確率がそれぞれ１．００、０．６０で、単語「は」に対応する音素系列／ｗ／／ａ／の音素の遷移確率がそれぞれ１．００、０．４０で、単語「い」に対応する音素系列／ｉ／の音素の遷移確率が１．００で与えられるとする（この例でのサブワードモデルＭＳは、各音素系列毎にその遷移確率を表すようになっているとする。）。
【００８７】
このとき、言語モデルＭＬとサブワードモデルＭＳから生成されるサブワード言語モデルＭＳＬは、単語「は」と音素系列／ｈ／／ａ／との同時確率が０．３０×０．６０＝０．１８で与えられ、単語「は」と音素系列／ｗ／／ａ／との同時確率が０．３０×０．４０＝０．１２で与えられ、単語「い」と音素系列／ｉ／との同時確率が０．１０×１．００＝０．１０で与えられ、単語「は」に後続する単語「い」と音素系列／ｉ／との同時確率が０．２０×１．００＝０．２０で与えられることになる。なお、この例でのサブワードモデルＭＳは、各音素系列毎にその遷移確率を表すようになっているので、例えば、単語「は」と音素系列／ｈ／／ａ／の音素／ｈ／との同時確率や、単語「は」と音素系列／ｗ／／ａ／の音素／ｗ／との同時確率は１．００となる。
【００８８】
以上のように、式（Ａ）に従って、言語モデルＭＬに現れる単語などの遷移確率と、サブワードモデルＭＳに現れる各サブワード系列毎のサブワードの遷移確率との積を求めることによって、サブワード言語モデルＭＳＬにおける、言語モデルＭＬに現れる単語などに、サブワードモデルＭＳに現れる各サブワード系列毎のサブワードを反映させたものの遷移確率が求められる。
【００８９】
そして、上述したとおり、言語モデルＭＬは、一般的な単語列Ｗ（＝ｗ１ｎ）が出現する確率Ｐ（Ｗ｜ＭＬ）を与えることができるものとなっていて、サブワードモデルＭＳは、単語モデルＭＬから得られる一般的な単語列Ｗ（＝ｗ１ｎ）に対して、各単語にサブワード系列を対応付けることで、単語列Ｗ（＝ｗ１ｎ）に対応するサブワード系列Ｓ（＝ｓ１ｋ≡ｓ１ｓ２ｓ３・・・ｓｋ）の出現する確率を与えることができるものとなっていることから、言語モデルＭＬとサブワードモデルＭＳから生成されるサブワード言語モデルＭＳＬは、単語列Ｗとそれに対応するサブワード系列Ｓとの同時確率を与えることができるものとなっている。
【００９０】
さて、上述のとおり式（１２）の類推から、サブワード言語モデルＭＳＬの複雑度は、サブワード系列が十分に長いとき（サブワード数Ｋが十分に大きいとき）は、式（１９）のようなクロスエントロピーＨによって表すことができる。
【数５２】
2006236150.tif 000038
【００９１】
また、式（１３）と同様にして、サブワード言語モデルＭＳＬの複雑度は、式（１９）で表されるクロスエントロピーＨに基づいたテストセット・パープレキシティＰＰ＝２Ｈとしても表すことができる。
【００９２】
そこで、サブワード言語モデルＭＳＬの評価のためのテキストデータとして、単語数が十分に大きい単語列であるテストセットｗ１Ｎを用意する。このとき、テストセットｗ１Ｎには、テストセットｗ１Ｎに対応する複数のサブワード系列ｓ１Ｋ∈ｗ１Ｎが含まれることになる（例えば、単語列「渡部晋治」には、２つの音素系列／ｗ／／ａ／／ｔ／／ａ／／ｎ／／ａ／／ｂ／／ｅ／／ｓｈ／／ｉ／／ｎ／／ｊ／／ｉ／と／ｗ／／ａ／／ｔ／／ａ／／ｂ／／ｅ／／ｓｈ／／ｉ／／ｎ／／ｊ／／ｉ／が含まれる。）。
【００９３】
ここでは、式（１９）の対数の真数Ｐ（ｗ１Ｎ，ｓ１Ｋ｜ＭＳＬ）を、テストセットｗ１Ｎに対応する複数のサブワード系列ｓ１Ｋ∈ｗ１Ｎの出現確率の平均で与えて近似することにする。つまり、サブワード系列ｓ１Ｋ∈ｗ１Ｎの出現確率の総和を
【数５３】
2006236150.tif 000039
と表し、テストセットｗ１Ｎを出力するサブワード系列の総数を＃（ｓ１Ｋ∈ｗ１Ｎ，ＭＳＬ）と表すとして、Ｐ（ｗ１Ｎ，ｓ１Ｋ｜ＭＳＬ）を式（２０）によって近似する。なお、この趣旨は、式（２０）の近似式に限定する趣旨ではない。例えば、式（２０）の分母・分子に対して適宜重み付けパラメータを乗じるなどの近似であってもよいし、その他の近似式によるものであってもよい。
【数５４】
2006236150.tif 000040
【００９４】
以上から式（１９）は、式（２１）によって近似される。
【数５５】
2006236150.tif 000041
つまり、サブワード単位の複雑度が反映されたサブワード言語モデルの複雑度は、式（２１）によるクロスエントロピーＨａによって得られる。
【００９５】
また、テストセット・パープレキシティＰＰは、式（２２）によって得られる。
【数５６】
2006236150.tif 000042
【００９６】
式（２１）において、
【数５７】
2006236150.tif 000043
は、前向きアルゴリズムによって効率良く求めることが可能である（上記非特許文献１参照）。
【００９７】
続いて、前向きアルゴリズムによって
【数５８】
2006236150.tif 000044
を求める方法を説明する。前向きアルゴリズムは、ある状態から次の状態へ遷移する確率の漸化式で表されるものである。ここで状態とは、例えば音声認識においてはＨＭＭ状態、音素などを、機械翻訳であれば品詞などを指す。
【００９８】
まず、
【数５９】
2006236150.tif 000045
を前向きアルゴリズムによって求める方法を説明する。
【００９９】
サブワード系列ｓ１Ｋ≡ｓ１ｓ２ｓ３・・・ｓＫのｋ番目のサブワードをｓｋとすると、このｓｋにおいて状態ｉに到達する確率をα（ｓｋ＝ｉ，ｗ１Ｎ｜ＭＳＬ）と表す。このとき次式の関係がある。
【数６０】
2006236150.tif 000046
【０１００】
次に、ｓｋにおける状態ｉから、ｓｋ+１における状態ｊに遷移する確率は、状態ｉから状態ｊへの遷移確率ａｉｊによって、サブワード系列のサブワード数ｋに関する式（２４）の漸化式で表される。
【数６１】
2006236150.tif 000047
【０１０１】
状態ｉから状態ｊへの遷移確率ａｉｊは、サブワード言語モデルＭＳＬから得られる（後述の図５、図８参照）。また、ａ1ｉは初期確率πｉであり、サブワード言語モデルＭＳＬから得られる（後述の図５、図８参照）。以上からテストセットｗ１Ｎが与えられたときの式（２３）に示される確率の総和は、次の前向きアルゴリズムによって求めることができる。
【０１０２】
（Ｓｔｅｐ１）
サブワード系列の先頭サブワードｓ１における全ての状態ｉ∈ｓ１について初期確率πｉを設定する。
【数６２】
2006236150.tif 000048
【０１０３】
（Ｓｔｅｐ２）
各サブワードｓ２、ｓ３、・・・、ｓｋに含まれる全ての状態ｉ∈ｓ２、ｉ∈ｓ３、・・・、ｉ∈ｓｋ（ｋ＜Ｋ）について、その状態に到達する確率を式（２４）の漸化式によって求める。
【数６３】
2006236150.tif 000049
【０１０４】
（Ｓｔｅｐ３）
最終的な確率の総和を、式（２５）によって求める。
【数６４】
2006236150.tif 000050
【０１０５】
次に、
【数６５】
2006236150.tif 000051
を前向きアルゴリズムによって求める方法を説明する。＃（ｓ１Ｋ∈ｗ１Ｎ，ＭＳＬ）は、サブワード言語モデルＭＳＬにおいて、ｗ１Ｎを出力しうるサブワード系列ｓ１Ｋの総数である。
【０１０６】
サブワード系列ｓ１Ｋ≡ｓ１ｓ２ｓ３・・・ｓＫのｋ番目のサブワードをｓｋとし、ｗ１Ｎを出力しうるサブワード系列集合の中で、ｓｋにおいて状態ｉに到達するサブワード系列の総数を＃（ｓｋ＝ｉ，ｗ１Ｎ，ＭＳＬ）とする。このとき、ｓｋにおける状態ｉから、ｓｋ+１における状態ｊに遷移したサブワード系列の総数＃（ｓｋ+１＝ｊ，ｗ１Ｎ，ＭＳＬ）は、状態ｉから状態ｊへの状態遷移可能性ｄｉｊによって、サブワード系列のサブワード数ｋに関する式（２７）の漸化式で表される。なお、状態遷移可能性ｄｉｊは、状態ｉと状態ｊのアークが存在するか否かなので、状態ｉから状態ｊへ到達可能な場合ｄｉｊ＝１であり、到達不可能な場合ｄｉｊ＝０である。
【数６６】
2006236150.tif 000052
【０１０７】
状態ｉから状態ｊへの状態遷移可能性ｄｉｊは、サブワード言語モデルＭＳＬから得られる（サブワード言語モデルＭＳＬにおける状態遷移可能性は、単語列とサブワードとで表されるシンボルに対応した入出力ＩＤの値の接続関係の有無によって表される。後述の図５、図８参照。）。以上からテストセットｗ１Ｎが与えられたときの式（２６）に示されるｗ１Ｎを出力しうるサブワード系列ｓ１Ｋの総数は、次の前向きアルゴリズムによって求めることができる。
【０１０８】
（Ｓｔｅｐ１）
サブワード系列の先頭サブワードｓ１において存在する全ての状態ｉ∈ｓ１について１を設定する。
【数６７】
2006236150.tif 000053
【０１０９】
（Ｓｔｅｐ２）
各サブワードｓ２、ｓ３、・・・、ｓｋに含まれる全ての状態ｉ∈ｓ２、ｉ∈ｓ３、・・・、ｉ∈ｓｋ（ｋ＜Ｋ）について、その状態に到達するサブワード系列の総数を式（２７）の漸化式によって求める。
【数６８】
2006236150.tif 000054
【０１１０】
（Ｓｔｅｐ３）
最終的なサブワード系列ｓ１Ｋの総数を、式（２８）によって求める。
【数６９】
2006236150.tif 000055
【０１１１】
＜学習データを用いる場合＞
以上においては、サブワード言語モデルＭＳＬの評価用キスト集合であるテストセットを用いた場合のサブワード言語モデルＭＳＬの複雑度を測定する方法を説明した。このようなテストセットは、サブワード言語モデルＭＳＬの生成に用いられたコーパスとは異なるテキストデータが使用されるのが通常である。なぜなら、コーパスから生成されたサブワード言語モデルＭＳＬの良し悪しを表す複雑度は、コーパス以外のテキストデータをもって得るのが適切だからである。
【０１１２】
なお、厳密にいうと、サブワード言語モデルＭＳＬはコーパスから直接生成されたものではないが、サブワード言語モデルＭＳＬは、サブワード単位が反映された言語モデルであり、この言語モデルがコーパスから生成されることから、結局、サブワード言語モデルＭＳＬはコーパスから生成されたものということが可能である。
【０１１３】
ところで、このようなテストセットを用いることなく、言語の学習データ（学習データとは、サブワード言語モデルＭＳＬ（上述のとおり、より正確には言語モデル）を生成するために用いた大量のテキストデータ（コーパス）自体をいう。）のみから複雑度規準を用いてサブワード言語モデルＭＳＬの複雑度を測定することも可能である。テストセットを用いる場合には、テストセットの選択などによってサブワード言語モデルＭＳＬの複雑度は異なったものとなりえるが（つまり、揺らぎが生じる。）、学習データを用いる場合には、サブワード言語モデルＭＳＬを生成した学習データ自体は一意に決まっているので、このような揺らぎは生じない。
そこで、この複雑度規準を用いたサブワード言語モデルＭＳＬの複雑度の測定方法について説明する。
【０１１４】
学習データをｗ１Ｒとしたとき、サブワード言語モデルＭＳＬの複雑度Ｕ（ｗ１Ｒ，ｓ１Ｇ，ＭＳＬ）は、式（２９）の複雑度基準で表される。ここでサブワード系列ｓ１Ｇ≡ｓ１ｓ２ｓ３・・・ｓＧは、学習データｗ１Ｒに対応するサブワード系列を表す。
【数７０】
2006236150.tif 000056
【０１１５】
この式（２９）は、サブワード言語モデルＭＳＬの複雑度Ｕ（ｗ１Ｒ，ｓ１Ｇ，ＭＳＬ）が、Ｕ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）およびＵ（ＭＳＬ）を入力値とする関数ｆによって求められることを示す。
【０１１６】
Ｕ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）は、サブワード言語モデルＭＳＬにおける、学習データｗ１Ｒおよびこの学習データｗ１Ｒに対応するサブワード系列ｓ１Ｇに対する複雑度（条件付複雑度）を表す。また、Ｕ（ＭＳＬ）は、サブワード言語モデルＭＳＬに内在するパラメータ数（例えば、後述するアーク数など）などによって表されるサブワード言語モデルＭＳＬ自体の複雑度（自己複雑度）を表す。
【０１１７】
学習データのみからサブワード言語モデルＭＳＬの複雑度を得る場合には、テストセットを用いた場合とは少し異なる考慮が要求されるので、以下に述べる。
【０１１８】
条件付複雑度Ｕ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）を最小にするサブワード言語モデルは、例えば極めて複雑な構成の有限状態オートマン（例えば極めて膨大なアーク数によって複雑多岐に構成される場合の有限状態オートマンを考えればよい。）で表される確率モデルとして得られる場合がありえる。そうすると、仮に、サブワード言語モデルの複雑度が、条件付複雑度Ｕ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）だけで表されるとすると、このような極めて複雑な構成の有限状態オートマンで表されるサブワード言語モデルが、複雑度が最小のサブワード言語モデルだということになってしまい、明らかに不当である。このようなサブワード言語モデルの複雑度をテストセットによって求めた場合、その複雑度は大きなものとなっているのである。
【０１１９】
換言すると、条件付複雑度Ｕ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）が小さいものであれば、この場合のサブワード言語モデルＭＳＬは、学習データｗ１Ｒおよびサブワード系列ｓ１Ｇに対して相対的に良いモデルであると言い得るが、サブワード言語モデルＭＳＬ自体の複雑度が大きいものであれば、総合的に（自然言語との相関において）良いモデルであるという評価をすることはできないということである。
【０１２０】
このことから、学習データのみから得るサブワード言語モデルの複雑度は、条件付複雑度Ｕ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）だけでなく、自己複雑度Ｕ（ＭＳＬ）も考慮されなければならないことがわかる。このことを表したのが式（２９）である。
【０１２１】
式（２９）によって表される複雑度規準は、あくまでも複雑度を表す規準であるから、式（２９）の具体的な表現式を適宜に設定することが可能である。従って、いわゆる経験則などや対象となるサブワード言語モデルなどによって、様々な表現式が考えうる。逆にいえば、条件付複雑度と自己複雑度を入力値とした関数として表すという条件のみで、式（２９）の具体的な表現式を適宜に設定可能であるという柔軟性に特徴がある。
以下では、式（２９）の具体的な表現式の一例について述べることにする。
【０１２２】
あるデータ集合Ｘに対するあるモデルＭが統計学的にどれほど良いものであるかは、尤度Ｐ（Ｘ｜Ｍ）を考えればよい。この尤度が大きくなるようなモデルＭは統計モデルとして良いものと言える。ここで尤度ではなく、対数尤度ｌｏｇＰ（Ｘ｜Ｍ）にしても、その単調性から同様のことが言える。
【０１２３】
このことは条件付複雑度Ｕ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）についても同様に考えることができ、複雑度が小さいモデルほど良いモデルとなることを反映させて、一般的に負の対数尤度を用いることができる。ここでは、条件付複雑度Ｕ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）として、式（１９）においてテストセットｗ１Ｎを学習データｗ１Ｒに、テストセットに対応するサブワード系列ｓ１Ｋを学習データｗ１Ｒに対応するサブワード系列ｓ１Ｇに置き換えたものを用いるとすればよい。即ち、条件付複雑度Ｕ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）は、−ｌｏｇＰ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）によって表されるとする。但し、式（１９）における係数は、後述する調節パラメータに含めて考えればよいので、ここでは省略した。なお、このことは、Ｕ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）＝−ｌｏｇＰ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）であるとして限定するものではない。後述する調節パラメータとの関係によっては、例えばＵ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）＝−（１／Ｒ）×ｌｏｇＰ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）としてもよい。要は、条件付複雑度Ｕ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）が負の対数尤度−ｌｏｇＰ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）に基づくものであることを留意すればよい。
【０１２４】
さらに、式（２２）に表されるが如く、条件付複雑度Ｕ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）として、負の対数尤度を指数とする２のべき乗を用いるものとしてもよい。
【０１２５】
サブワード言語モデルＭＳＬの自己複雑度Ｕ（ＭＳＬ）は、サブワード言語モデルＭＳＬにおける独立なパラメータなどによって表される。自己複雑度Ｕ（ＭＳＬ）は、条件付複雑度Ｕ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）が対数によって表されることに対応させて対数で表すことでもよいし、また、条件付複雑度Ｕ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）が指数によって表されることに対応させて指数で表すことでもよい。ただ、例えば自己複雑度Ｕ（ＭＳＬ）が、あるパラメータＤによってＵ（ＭＳＬ）＝Ｄと表される場合を考えると、Ｕ（ＭＳＬ）＝Ｄ＝ｌｏｇ２Ｄ＝２ｌｏｇＤとなるように、表現方法の違いに過ぎないことに留意する必要がある。
【０１２６】
以上を基に関数ｆの具体的な表現式を考えると、条件付複雑度Ｕ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）および自己複雑度Ｕ（ＭＳＬ）が対数によって表される場合には，式（２９）は次式のように表すことができる。
【数７１】
2006236150.tif 000057
【０１２７】
式（３０）は、統計モデルの選択基準である、いわゆる情報量規準を包括的に表現するものである。
【０１２８】
また、条件付複雑度Ｕ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）および自己複雑度Ｕ（ＭＳＬ）が指数によって表される場合には，式（２９）は式（３１）のように表すことができる。
【数７２】
2006236150.tif 000058
【０１２９】
なお、δおよびλは、条件付複雑度Ｕ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）と自己複雑度Ｕ（ＭＳＬ）とのバランス（重み付け）を調節するための調節パラメータである。調節パラメータは、サブワード言語モデルＭＳＬの複雑度評価において適宜設定することができる。また演算子＊および・は、δないしλが条件付複雑度Ｕ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）ないし自己複雑度Ｕ（ＭＳＬ）へ作用する演算を意味する。
【０１３０】
統計モデルの選択基準である情報量規準は、公知のものとして例えば、ＡＩＣ（Akaike’s Information Criterion）、ＢＩＣ（Schwarz’s Bayesian Information Criterion）、ＭＤＬ（Minimum Description Length）が挙げられる。
【０１３１】
ＡＩＣを用いた場合、式（３０）のＵ（ＭＳＬ）は、ある独立のパラメータθの総数＃（θ）によって、式（３２）のＵＡＩＣ（ＭＳＬ）として与えられる。
【数７３】
2006236150.tif 000059
【０１３２】
＃（θ）は、例えば、サブワード言語モデルＭＳＬが確率的な有限状態オートマンで表現されているときはそのアーク数（有限状態オートマンにおける状態間を結ぶ経路の数）で表すことができ、あるいは、サブワードモデルＭＳのパラメータ数が言語モデルＭＬのパラメータ数に比して十分に小さい場合に、言語モデルのパラメータ数によって表すこともできる。
【０１３３】
なお、この場合のＵＡＩＣ（ＭＳＬ）は、
【数７４】
2006236150.tif 000060
として対数で表記可能である。
【０１３４】
ＭＤＬを用いた場合のサブワード言語モデルＭＳＬの複雑度ＵＭＤＬ（ｗ１Ｒ，ｓ１Ｇ，ＭＳＬ）は、算術符号やハフマン符号などの符号化手法によってサブワード言語モデルＭＳＬを符号化した場合の符号長によって与えられたり、メモリなどの記憶装置に記憶されたサブワード言語モデルの容量数によって与えられたりするように、様々な表現方法によって与えられる。しかし、学習データが十分に大きい場合には、ＭＤＬの場合においても、式（３０）の如く表すことができる。この場合、式（３０）のＵ（ＭＳＬ）は、＃（θ）および＃（Ｆ）によって、式（３３）のＵＭＤＬ（ＭＳＬ）として与えられる。
【数７５】
2006236150.tif 000061
【０１３５】
式（３３）は、ＢＩＣの場合におけるサブワード言語モデルＭＳＬ自体の複雑度ＵＢＩＣ（ＭＳＬ）の表現と一致する。なお、＃（θ）は、上記の＃（θ）と同様であり、＃（Ｆ）は、学習データのサンプル数で与えられる。このサンプル数としては、学習データｗ１Ｒにおける単語数Ｒやサブワード系列ｓ１Ｇにおけるサブワード数Ｇを用いることができる。
【０１３６】
結局、サブワード言語モデルＭＳＬの複雑度Ｕ（ｗ１Ｒ，ｓ１Ｇ，ＭＳＬ）は、様々な情報量規準の表現を組み合わせることによって、多様に表現されることになる。式（３０）は、様々な情報量規準の表現の組み合わせを包括的に表現したものである。そこで一例として、ＭＤＬ情報量規準を用いた場合のサブワード言語モデルＭＳＬの複雑度ＵＭＤＬ（ｗ１Ｒ，ｓ１Ｇ，ＭＳＬ）の好適な表現を式（３４）に示す。この例では、＃（θ）を、サブワード言語モデルＭＳＬが確率的な有限状態オートマンで表現されている場合の状態遷移のアーク数Ａとし、学習データのサンプル数＃（Ｆ）をサブワード数Ｇとし、学習データｗ１Ｒに対する負の対数尤度に基づく条件付複雑度Ｕ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）を、式（１９）の近似式（２１）の如く表されるものとする。
【数７６】
2006236150.tif 000062
【０１３７】
また、式（３４）に示される複雑度の表現式に類似した別の好適な表現式として、式（３５）で表されるものもある。
【数７７】
2006236150.tif 000063
【０１３８】
式（３４）において、右辺第１項の係数Ｇ／Ｒは、右辺第１項に示される負の対数尤度をサブワード数Ｇに合うように調節したものである。ここで式（３０）と式（３４）との対応関係を説明する。
【０１３９】
式（３４）は、式（２０）に留意した上で、式（３０）と対応するように式（３６）に表現を改めることができる。ここで、δ１＝Ｇ、δ２＝Ｒ、λ＝１である。なお式（３５）ではδ２＝０である。
【数７８】
2006236150.tif 000064
【０１４０】
式（３６）におけるδ１およびδ２は、サブワード言語モデルの種類などに応じて適宜に設定できるが、学習データｗ１Ｒの単語数Ｒとサブワード系列ｓ１Ｇのサブワード数Ｇによって定まる定数とするのが好適である。即ちδ１およびδ２は、ある関数ｇ１、ｇ２によって、δ１＝ｇ１（Ｒ，Ｇ）、δ２＝ｇ２（Ｒ，Ｇ）として与えられる。
【０１４１】
式（３４）は、式（３０）において、
【数７９】
2006236150.tif 000065
とし、式（３０）の右辺第２項の演算子・を、λとＵ（ＭＳＬ）との積の演算を表すものとし、式（３０）の右辺第１項の演算子＊を、Ｕ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）の真数の分子と分母それぞれをδ１とδ２でべき乗する演算を表すものとした場合に相当する。
この場合では、δは１つではなくδ１およびδ２の２つとなるが、このように、式（３０）においてδおよびλは必ずしも１つに限られるものではない。
【０１４２】
このように式（３０）においては、サブワード言語モデルＭＳＬの複雑度Ｕ（ｗ１Ｒ，ｓ１Ｇ，ＭＳＬ）が、サブワード言語モデルＭＳＬが与えられたときの言語Ｌとの相対的な複雑度Ｕ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）とサブワード言語モデルＭＳＬ自体の複雑度Ｕ（ＭＳＬ）との和によって表現されることに特徴がある〔但し、Ｕ（ｗ１Ｒ，ｓ１Ｇ｜ＭＳＬ）およびＵ（ＭＳＬ）はそれぞれ調節パラメータによって適宜調節される。〕。
【０１４３】
＜統括＞
さて、テストセットを用いた場合のサブワード言語モデルの複雑度測定および、学習データを用いた場合のサブワード言語モデルの複雑度測定は既述のとおりであるが、この両者は排他的関係にあるものではない。このことを以下に説明する。
【０１４４】
まず、テストセットについて、コーパスとは異なるテキストデータ、即ち学習データとは異なるテキストデータを用いるのが通常であることを説明したが、このことは、テストセットが学習データと同一のテキストデータである場合、あるいは、テストセットが学習データの一部分を構成するテキストデータである場合などを排斥するものではない。従って、この場合においても、サブワード言語モデルの複雑度を式（１９）、式（２２）によって得ることになる。
【０１４５】
一方、学習データを用いた場合のサブワード言語モデルの複雑度は、式（２９）で表されることを説明したが、この式（２９）に包括される表現式（３０）において、テストセットが学習データと同一であるとしてｗ１Ｒ＝ｗ１Ｎ（これに対応してｓ１Ｇ＝ｓ１Ｋである。）とし、λ＝０、δ＝１／Ｋ、Ｕ（ｗ１Ｎ，ｓ１Ｋ｜ＭＳＬ）＝−ｌｏｇＰ（ｗ１Ｎ，ｓ１Ｋ｜ＭＳＬ）、演算子＊は積の演算を表すとすると、式（３０）は式（１９）を表すものとなる（つまり、Ｕ（ｗ１Ｎ，ｓ１Ｋ，ＭＳＬ）＝Ｈである。）。従って、式（３０）を包括する式（２９）は、式（１９）を包括するものといえる〔同様にして、式（３１）は式（２２）を表しえるので、式（３１）を包括する式（２９）は、式（２２）をも包括することになる。〕。このことは式（２９）において、自己複雑度に依存しない場合に相当する。ここで式（２９）は、サブワード言語モデルの複雑度が、条件付複雑度と自己複雑度を入力値とする関数ｆによって求められることを表しているところ、例えば２変数ｘ、ｙを入力値とする関数ｇがｇ（ｘ、ｙ）＝ｘ＋１のようにｙを用いない具体的表現式で表される場合があるように、関数ｆについても自己複雑度を入力値としながら、関数ｆの具体的表現式において自己複雑度を演算に用いないものがあり得るので、式（２９）におけるこのような特別の場合が式（１９）に相当すると考えればよい。
【０１４６】
そうすると、学習データと同一のテキストデータである場合などがあり得るテストセット、誤解を避けるために、これをテキストライン（text-line）と呼ぶことにすると、テキストラインを用いた場合のサブワード言語モデルの複雑度は、式（２９）で与えられることになる。別の視点から表現すれば、従前の意味でのテストセットを用いた場合のサブワード言語モデルの複雑度も、式（１９）ないし式（２２）によってのみ得られるものではなく、より一般的に式（２９）によって得られるのである。なお、テキストラインは、従前の意味でのテストセットである場合や、学習データである場合などを含むから、学習データやテストセットという区別や枠組みを超えて、単なるテキストデータを意味することになる。
【０１４７】
従前、式（２９）は学習データにおけるサブワード言語モデルの複雑度規準の式として説明したので、一般化して、テキストラインにおけるサブワード言語モデルの複雑度規準の式であることを明示するために、テキストラインをｗ１Ｔと表し、このテキストラインに対応するサブワード系列をｓ１Ｚとして、式（２９）の記号を置き換えて式（Ｂ）で表すことにする。
【数８０】
2006236150.tif 000066
【０１４８】
以上を体系的に言い表す。即ち、一般的に、テキストラインを用いたサブワード言語モデルの複雑度は式（Ｂ）によって得られる。テキストラインが学習データと同一ないしその一部分を構成するものである場合には、式（Ｂ）において自己複雑度の考慮が必要とされる。但し、この場合においても、自己複雑度にも依存することを絶対的に要求するものではなく、サブワード言語モデルの種類などによっては自己複雑度を用いないこととすることも可能である。テキストラインが従前の意味でのテストセット、即ち、テキストラインが学習データとは異なるものである場合、式（Ｂ）において自己複雑度の考慮は不要である。但し、この場合においても、自己複雑度にも依存するものとすることは可能である。
【０１４９】
《実施形態》
以下では、従前の意味でのテストセットを用いた場合のサブワード言語モデルの複雑度測定の実施形態（第１の実施形態）と、学習データを用いた場合のサブワード言語モデルの複雑度測定の実施形態（第２の実施形態）について説述する。
【０１５０】
＜第１の実施形態＞
次に、本発明の好適な第１の実施形態を、図面を参照して説明する。
図１は、第１の実施形態に係わるサブワード言語モデル複雑度測定装置（１）のハードウェア構成を例示した構成ブロック図である。
【０１５１】
図１に例示するように、サブワード言語モデル複雑度測定装置（１）は、キーボードなどが接続可能な入力部（１１）、液晶ディスプレイなどが接続可能な出力部（１２）、サブワード言語モデル複雑度測定装置（１）外部に通信可能な通信装置（例えば通信ケーブル）が接続可能な通信部（１３）、ＣＰＵ（Central Processing Unit）（１４）、メモリであるＲＡＭ（１５）、ＲＯＭ（１６）やハードディスクである外部記憶装置（１７）並びにこれらの入力部（１１）、出力部（１２）、通信部（１３）、ＣＰＵ（１４）、ＲＡＭ（１５）、ＲＯＭ（１６）、外部記憶装置（１７）間のデータのやり取りが可能なように接続するバス（１８）を有している。また必要に応じて、サブワード言語モデル複雑度測定装置（１）に、ＣＤ−ＲＯＭなどの記憶媒体を読み書きできる装置（ドライブ）などを設けるとしてもよい。
【０１５２】
サブワード言語モデル複雑度測定装置（１）の外部記憶装置（１７）には、サブワード言語モデルＭＳＬの複雑度を得るためのプログラムおよびこのプログラムの処理において必要となるデータなどが保存記憶されている。また、このプログラムの処理によって得られたデータなどを保存記憶するデータ格納領域（図示しない）も確保されている。
【０１５３】
より具体的には、外部記憶装置（１７）には、サブワード言語モデルＭＳＬの生成に必要な言語モデルＭＬ（１７１）およびサブワードモデルＭＳ（１７２）が保存記憶されている。また、サブワード言語モデルＭＳＬの複雑度の測定に必要となるテストセットｗ１Ｎ（１７３）も保存記憶されている。なお、この実施形態では、言語モデルＭＬ（１７１）は、コーパスから統計的に生成されたバイグラムモデルとし、サブワードモデルＭＳ（１７２）のサブワードは音素とする。
【０１５４】
また、外部記憶装置（１７）には、サブワード言語モデルＭＳＬの複雑度を得るためのプログラムとして、言語モデルＭＬ（１７１）およびサブワードモデルＭＳ（１７２）からサブワード言語モデルＭＳＬを生成するためのサブワード言語モデル生成プログラム（１７７）、サブワード言語モデルＭＳＬにおいて、テストセットｗ１Ｎ（１７３）に対応する全てのサブワード系列ｓ１Ｋに対する、テストセットｗ１Ｎ（１７３）とサブワード系列ｓ１Ｋとの同時確率の総和を演算して、この結果を出力するための確率総和演算プログラム（１７４）、サブワード言語モデルＭＳＬにおいて、テストセットｗ１Ｎ（１７３）に対応する全てのサブワード系列ｓ１Ｋの総数を計量するためのサブワード系列総数計量プログラム（１７５）、サブワード言語モデルＭＳＬの複雑度を演算するための複雑度演算プログラム（１７６）およびこれらのプログラムの処理などを制御するための制御プログラム（１７８）が保存記憶されている。これらのプログラムの処理によって得られるデータなどは、データ格納領域に保存記憶される。
【０１５５】
サブワード言語モデル複雑度測定装置（１）では、外部記憶装置（１７）に記憶されたプログラムとこのプログラムの処理に必要なデータが必要に応じてＲＡＭ（１５）に呼び出されて、ＣＰＵ（１４）で処理されることによって、サブワード言語モデルＭＳＬの複雑度を得るものとなっている。
【０１５６】
そこで次に、図２〜図１１を参照して、サブワード言語モデル複雑度測定装置（１）において、サブワード言語モデルＭＳＬの複雑度を得る演算処理の流れを順次説明する。
図２は、サブワード言語モデル複雑度測定装置（１）のＣＰＵ（１４）において上記所定のプログラムが処理されることにより、サブワード言語モデルＭＳＬの複雑度が得られる処理機能を示す機能ブロック図である。
図３は、言語モデルＭＬのデータ構成例を示す図である。
図４は、サブワードモデルＭＳのデータ構成例を示す図である。
図５は、サブワード言語モデルＭＳＬのデータ構成例を示す図である。
図６は、言語モデルＭＬのデータ構成例のネットワーク構造を示す図である。
図７は、サブワードモデルＭＳのデータ構成例のネットワーク構造を示す図である。
図８は、サブワード言語モデルＭＳＬのデータ構成例のネットワーク構造を示す図である。
図９は、サブワード言語モデル複雑度測定装置（１）において、サブワード言語モデルＭＳＬの複雑度を得る処理を示すフローチャートである。
図１０は、サブワード言語モデルＭＳＬにおいて、テストセットｗ１Ｎ（１７３）に対応する全てのサブワード系列ｓ１Ｋに対する、テストセットｗ１Ｎ（１７３）とサブワード系列ｓ１Ｋとの同時確率の総和を前向きアルゴリズムによって求める処理を示すフローチャートである。
図１１は、サブワード言語モデルＭＳＬにおいて、テストセットｗ１Ｎ（１７３）に対応する全てのサブワード系列ｓ１Ｋの総数を前向きアルゴリズムによって計量する処理を示すフローチャートである。
【０１５７】
まず、図示しない制御部の制御の下、サブワード言語モデル生成部（１４０）において、外部記憶装置（１７）からＲＡＭ（１５）に呼び出された言語モデルＭＬ（１７１）およびサブワードモデルＭＳ（１７２）から、サブワード言語モデルＭＳＬ（１７０）が生成される（Ｓ１１）。生成されたサブワード言語モデルＭＳＬ（１７０）は、外部記憶装置（１７）のデータ格納領域に保存される。
【０１５８】
バイグラムモデルである言語モデルＭＬ（１７１）のデータ構成は、図３に示すように、入力ＩＤと出力ＩＤの組と、シンボルと、遷移確率ａｉｊとからなる。ここでシンボルとは、言語モデルＭＬ（１７１）がバイグラムモデルなので、単語（１−ｇｒａｍ）および２つの単語の接続関係（２−ｇｒａｍ）を示すものである。図３では、単語として、渡部（１−ｇｒａｍ）、晋治（１−ｇｒａｍ）を、２つの単語の接続関係として、［渡部］−晋治（２−ｇｒａｍ）、［晋治］−渡部（２−ｇｒａｍ）を例示している。ここで［渡部］−晋治（２−ｇｒａｍ）とは、単語「渡部」の後に単語「晋治」が接続することを表している。
【０１５９】
なお、図３では例示しないものの、[渡部]−渡部（２−ｇｒａｍ）の接続関係なども存在しえる。ただ、全ての２−ｇｒａｍを保持するには大量のメモリを必要とすることになるため、公知のカットオフ操作をしてもよい（例えば上記の非特許文献１を参照。）。
【０１６０】
入力ＩＤは遷移確率ａｉｊの添え字ｉに対応し、出力ＩＤは移確率ａｉｊの添え字ｊに対応する。入力ＩＤと出力ＩＤは１つの組となって、その組に対応するシンボルの遷移確率ａｉｊを表すようになっている。図３で例示するように、（入力ＩＤ、出力ＩＤ）＝（１、２）の組に対しては、シンボル「渡部（１−ｇｒａｍ）」が対応しており、この遷移確率はａ１２＝０．１０であることを表している。つまり、単語「渡部」の遷移確率（出現確率）がａ１２であることを表しているまた、（入力ＩＤ、出力ＩＤ）＝（３、４）の組に対しては、シンボル「［晋治］−渡部（２−ｇｒａｍ）」が対応しており、この遷移確率はａ３４＝０．０５であることを表している。つまり、単語「渡部」の後に単語「晋治」が接続する遷移確率がａ３４であることを表している。
【０１６１】
また、ある組（入力ＩＤ、出力ＩＤ）における出力ＩＤと、これとは別の組（入力ＩＤ、出力ＩＤ）における入力ＩＤが等しい場合、これらの組に対応するシンボル同士は接続可能であることを表していて、これが２−ｇｒａｍに対応している。このことを図６を参照して、言語モデルＭＬ（１７１）におけるデータ構成のネットワーク構造として説明する。
【０１６２】
図６では、図３に例示したデータ構成に対応したネットワーク構造を示しており、このネットワーク構造における丸囲みの数字は、入力ＩＤと出力ＩＤの数字に対応している。
【０１６３】
ネットワーク構造において、例えば、丸囲み数字１から丸囲み数字２への経路は、（入力ＩＤ、出力ＩＤ）＝（１、２）の組に対応するシンボル「渡部（１−ｇｒａｍ）」および遷移確率ａ１２を示している。一方、丸囲み数字２から丸囲み数字４への経路は、（入力ＩＤ、出力ＩＤ）＝（２、４）の組に対応するシンボル「［渡部］−晋治（２−ｇｒａｍ）」および遷移確率ａ２４を示している。これは、丸囲み数字２から丸囲み数字４への経路は、丸囲み数字１から丸囲み数字２の経路を前提とした経路であり、丸囲み数字２を経由する丸囲み数字１から丸囲み数字４への経路が存在することを表している。
【０１６４】
このように、（入力ＩＤ、出力ＩＤ）＝（１、２）の組に対応するシンボルと、（入力ＩＤ、出力ＩＤ）＝（２、４）の組に対応するシンボルは、ネットワーク上の経路の順序で接続可能であり、単語列である「渡部晋治」が出現し得え、その確率がａ１２×ａ２４であることを示している。
【０１６５】
次に、サブワードが音素であるサブワードモデルＭＳ（１７２）のデータ構成について説明する。サブワードモデルＭＳ（１７２）は、図４に示すように、入力ＩＤと出力ＩＤの組と、シンボルと、遷移確率ａｉｊとからなる。ここでシンボルとは、単語に対応する各音素系列の各音素をいう。例えば、言語モデル（１７１）に現れる単語「渡部」に対応する音素系列／ｗ／／ａ／／ｔ／／ａ／／ｎ／／ａ／／ｂ／／ｅ／の各音素／ｗ／、／ａ／、／ｔ／、／ａ／、／ｎ／、／ａ／、／ｂ／、／ｅ／がシンボルとなる。
【０１６６】
入力ＩＤは遷移確率ａｉｊの添え字ｉに対応し、出力ＩＤは移確率ａｉｊの添え字ｊに対応する。入力ＩＤと出力ＩＤは１つの組となって、その組に対応するシンボルの遷移確率ａｉｊを表すようになっている。図４で例示するように、（入力ＩＤ、出力ＩＤ）＝（５、６）の組に対しては、シンボル「／ｎ／（渡部）」が対応しており、この遷移確率は、ａ５６＝１．０であることを表しており、（入力ＩＤ、出力ＩＤ）＝（８、１８）の組に対しては、シンボル「／ｅ／（渡部）」が対応しており、この遷移確率は、ａ８１８＝０．６０であることを表している。
【０１６７】
なお、このサブワードモデルＭＳ（１７２）は、各音素系列毎にその遷移確率を表すようになっていて、各音素系列に現れる音素の遷移確率は、各音素系列の最後の音素を除いて１とし、各音素系列の最後の音素において当該音素系列全体の遷移確率が表されるものとなっている。従って、例えば単語「渡部（１−ｒａｍ）」に対応する音素系列／ｗ／／ａ／／ｔ／／ａ／／ｎ／／ａ／／ｂ／／ｅ／において、最後の音素／ｅ／を除く音素／ｗ／、／ａ／、／ｔ／、／ａ／、／ｎ／、／ａ／、／ｂ／の遷移確率はすべて１．００であり、最後の音素／ｅ／において、この音素系列全体の遷移確率０．６０を表している。
【０１６８】
また、ある組（入力ＩＤ、出力ＩＤ）における出力ＩＤと、これとは別の組（入力ＩＤ、出力ＩＤ）における入力ＩＤが等しい場合、これらの組に対応するシンボル同士は接続可能であることを表していている。このことを図７を参照して、サブワードモデルＭＳ（１７２）におけるデータ構成のネットワーク構造として説明する。
【０１６９】
図７では、図４に例示したデータ構成に対応したネットワーク構造を示しており、このネットワーク構造における丸囲みの数字は、入力ＩＤと出力ＩＤの数字に対応している。
【０１７０】
ネットワーク構造において、例えば、丸囲み数字１から丸囲み数字１４への経路は、（入力ＩＤ、出力ＩＤ）＝（１、１４）の組に対応するシンボル「／ｓｈ／（晋治）」とその遷移確率ａ１１４を示している。また、丸囲み数字１４から丸囲み数字１５への経路は、（入力ＩＤ、出力ＩＤ）＝（１４、１５）の組に対応するシンボル「／ｉ／（晋治）」とその遷移確率ａ１４１５を示している。同様にして、丸囲み数字１５から丸囲み数字１６への経路は、（入力ＩＤ、出力ＩＤ）＝（１５、１６）の組に対応するシンボル「／ｎ／（晋治）」とその遷移確率ａ１５１６を、丸囲み数字１６から丸囲み数字１７への経路は、（入力ＩＤ、出力ＩＤ）＝（１６、１７）の組に対応するシンボル「／ｊ／（晋治）」とその遷移確率ａ１６１７を、丸囲み数字１７から丸囲み数字１８への経路は、（入力ＩＤ、出力ＩＤ）＝（１７、１８）の組に対応するシンボル「／ｉ／（晋治）」とその遷移確率ａ１７１８を表している。これは、丸囲み数字１４、１５、１６、１７を経由する、丸囲み数字１から丸囲み数字１８への経路が存在することを表している。
【０１７１】
このように、（入力ＩＤ、出力ＩＤ）＝（１、１４）の組に対応するシンボルと、（入力ＩＤ、出力ＩＤ）＝（１４、１５）の組に対応するシンボルと、（入力ＩＤ、出力ＩＤ）＝（１５、１６）の組に対応するシンボルと、（入力ＩＤ、出力ＩＤ）＝（１６、１７）の組に対応するシンボルと、（入力ＩＤ、出力ＩＤ）＝（１７、１８）の組に対応するシンボルは、ネットワーク上の経路の順序で接続可能であり、単語「晋治」に対応する音素系列である「／ｓｈ／／ｉ／／ｎ／／ｊ／／ｉ／（晋治）」が出現し得ることを示して、同時に、この場合のこの音素系列全体の遷移確率を表している。
【０１７２】
なお、例えば単語「渡部」には、これに対応する２つの音素系列／ｗ／／ａ／／ｔ／／ａ／／ｎ／／ａ／／ｂ／／ｅ／と／ｗ／／ａ／／ｔ／／ａ／／ｂ／／ｅ／が存在するが、このうち、音素系列の一部分／ｗ／／ａ／／ｔ／／ａ／は同じであるから、これを別々の音素系列として取り扱わなければならない理由はない。そこで、これをネットワーク上の同一の経路として表し、この経路から、／ｎ／／ａ／／ｂ／／ｅ／と／ｂ／／ｅ／の２つの音素系列に分岐するようにしてもよい。図７で例示するネットワーク構造で言えば、丸囲み数字９、１０、１１、１２を略し、丸囲み数字５から丸囲み数字１３、１８の経路を分岐するようにしてもよいのである。
【０１７３】
サブワード言語モデル生成部（１４０）は、式（Ａ）に従って、以上で説明した言語モデルＭＬ（１７１）およびサブワードモデルＭＳ（１７２）から、サブワード言語モデルＭＳＬ（１７０）を生成する。
【０１７４】
例えば、図３に示すように、言語モデルＭＬ（１７１）においてシンボル「渡部（１−ｇｒａｍ）」の遷移確率が０．１０で、単語「晋治（１−ｇｒａｍ）」の遷移確率が０．０８で、単語「渡部」に続いて単語「晋治」が接続する単語列「［渡部］−晋治（２−ｇｒａｍ）」の遷移確率が０．３０で与えられるとし、図４に示すように、サブワードモデルＭＳ（１７２）において、単語「渡部」に対応する音素系列／ｗ／／ａ／／ｔ／／ａ／／ｎ／／ａ／／ｂ／／ｅ／の各音素の遷移確率がそれぞれ１．００、１．００、１．００、１．００、１．００、１．００、１．００、０．６０で、単語「晋治」に対応する音素系列／ｓｈ／／ｉ／／ｎ／／ｊ／／ｉ／の音素の遷移確率がそれぞれ１．００、１．００、１．００、１．００、１．００で与えられるとする。
【０１７５】
このとき、言語モデルＭＬ（１７１）とサブワードモデルＭＳ（１７２）とから生成されるサブワード言語モデルＭＳＬ（１７０）は、式（Ａ）に従って、単語「渡部（１−ｇｒａｍ）」と音素系列／ｗ／／ａ／／ｔ／／ａ／／ｎ／／ａ／／ｂ／／ｅ／との同時確率が０．１０×０．６０＝０．０６で与えられ、単語「晋治（１−ｇｒａｍ）」と音素系列／ｓｈ／／ｉ／／ｎ／／ｊ／／ｉ／との同時確率が０．０８×１．００＝０．０８で与えられ、「［渡部］−晋治（２−ｇｒａｍ）」と音素系列／ｓｈ／／ｉ／／ｎ／／ｊ／／ｉ／との同時確率が０．３０×１．００＝０．３０で与えられることになる。
【０１７６】
なお、この例でのサブワードモデルＭＳ（１７２）は、各音素系列毎にその遷移確率を表すようになっているので、例えば、単語「渡部（１−ｇｒａｍ）」と音素系列／ｗ／／ａ／／ｔ／／ａ／／ｎ／／ａ／／ｂ／／ｅ／の最後の音素／ｅ／以外の音素との同時確率や、単語「晋治（１−ｇｒａｍ）」と音素系列／ｓｈ／／ｉ／／ｎ／／ｊ／／ｉ／の最後の音素／ｉ／以外の音素との同時確率は１．００となる。
【０１７７】
ここで与えられた同時確率が、次に述べるサブワード言語モデルＭＳＬ（１７０）の遷移確率ａｉｊに相当する。
【０１７８】
次に、サブワード言語モデルＭＳＬ（１７０）のデータ構成について説明する。サブワード言語モデルＭＳＬ（１７０）は、図５に示すように、入力ＩＤと出力ＩＤの組と、シンボルと、遷移確率ａｉｊとからなる。ここでシンボルとは、言語モデルに現れた単語ないし２つの単語の接続関係と、これに対応する各音素系列の各音素との組をいう。
【０１７９】
例えば、言語モデルＭＬ（１７１）に現れる単語「渡部（１−ｇｒａｍ）」と、これに対応する音素系列／ｗ／／ａ／／ｔ／／ａ／／ｎ／／ａ／／ｂ／／ｅ／の各音素／ｗ／、／ａ／、／ｔ／、／ａ／、／ｎ／、／ａ／、／ｂ／、／ｅ／との組である、（／ｗ／，渡部（１−ｇｒａｍ））、（／ａ／，渡部（１−ｇｒａｍ））、（／ｔ／，渡部（１−ｇｒａｍ））、（／ａ／，渡部（１−ｇｒａｍ））、（／ｎ／，渡部（１−ｇｒａｍ））、（／ａ／，渡部（１−ｇｒａｍ））、（／ｂ／，渡部（１−ｇｒａｍ））、（／ｅ／，渡部（１−ｇｒａｍ））がシンボルとなる。なお、言語モデル（１７１）に現れる２つの単語の接続関係を示すシンボル、例えば「［渡部］−晋治（２−ｇｒａｍ）」の場合には、これに対応する音素系列の音素は、後続する単語「晋治」に対応した音素系列である／ｓｈ／／ｉ／／ｎ／／ｊ／／ｉ／の各音素／ｓｈ／、／ｉ／、／ｎ／、／ｊ／、／ｉ／になる。従って、（／ｓｈ／，［渡部］−晋治（２−ｇｒａｍ））、（／ｉ／，［渡部］−晋治（２−ｇｒａｍ））、（／ｎ／，［渡部］−晋治（２−ｇｒａｍ））（／ｊ／，［渡部］−晋治（２−ｇｒａｍ））、（／ｉ／，［渡部］−晋治（２−ｇｒａｍ））がシンボルとなる。
【０１８０】
入力ＩＤは遷移確率ａｉｊの添え字ｉに対応し、出力ＩＤは移確率ａｉｊの添え字ｊに対応する。入力ＩＤと出力ＩＤは１つの組となって、その組に対応するシンボルの遷移確率ａｉｊを表すようになっている。図５で例示するように、（入力ＩＤ、出力ＩＤ）＝（１８、３６）の組に対しては、シンボル「／ｉ／，［渡部］−晋治（２−ｇｒａｍ）」が対応しており、この遷移確率は、ａ１８３６＝０．３０（＝０．３０×１．００）であることを表しており、（入力ＩＤ、出力ＩＤ）＝（８、１４）の組に対しては、シンボル「／ｅ／，渡部（１−ｇｒａｍ）」が対応しており、この遷移確率は、ａ８１４＝０．０６（＝０．１０×０．６０）であることを表している。
【０１８１】
言語モデルＭＬにおける入力ＩＤおよび出力ＩＤと、サブワードモデルＭＳにおける入力ＩＤおよび出力ＩＤとから、サブワード言語モデルＭＳＬにおける入力ＩＤおよび出力ＩＤを生成してシンボルを対応付ける方法は公知の方法によればよい。このような方法としては、例えば、下記の参考文献１に示される確率付きのオートマンの合成方法が知られている。
（参考文献１）  Roche & Schabes, Finite-state language processing, MIT Press , ISBN:0-262-18182-7, pp.431-450
【０１８２】
また、ある組（入力ＩＤ、出力ＩＤ）における出力ＩＤと、これとは別の組（入力ＩＤ、出力ＩＤ）における入力ＩＤが等しい場合、これらの組に対応するシンボル同士は接続可能であることを表していて、これが単語列に対応するサブワード系列に表している。このことを図８を参照して、サブワード言語モデル（１７０）におけるデータ構成のネットワーク構造として説明する。
【０１８３】
図８では、図５に例示したデータ構成に対応したネットワーク構造を示しており、このネットワーク構造における丸囲みの数字は、入力ＩＤと出力ＩＤの数字に対応している。
【０１８４】
ネットワーク構造において、例えば、丸囲み数字１から丸囲み数字９への経路は、（入力ＩＤ、出力ＩＤ）＝（１、９）の組に対応するシンボル「／ｗ／，渡部（１−ｇｒａｍ）」の遷移確率ａ１９を示している。同様にして、丸囲み数字９から丸囲み数字１０への経路は、（入力ＩＤ、出力ＩＤ）＝（９、１０）の組に対応するシンボル「／ａ／，渡部（１−ｇｒａｍ）」の遷移確率ａ９１０を、丸囲み数字１０から丸囲み数字１１への経路は、（入力ＩＤ、出力ＩＤ）＝（１０、１１）の組に対応するシンボル「／ｔ／，渡部（１−ｇｒａｍ）」の遷移確率ａ１０１１を、丸囲み数字１１から丸囲み数字１２への経路は、（入力ＩＤ、出力ＩＤ）＝（１１、１２）の組に対応するシンボル「／ａ／，渡部（１−ｇｒａｍ）」の遷移確率ａ１１１２を、丸囲み数字１２から丸囲み数字１３への経路は、（入力ＩＤ、出力ＩＤ）＝（１２、１３）の組に対応するシンボル「／ｂ／，渡部（１−ｇｒａｍ）」の遷移確率ａ１２１３を、丸囲み数字１３から丸囲み数字１４への経路は、（入力ＩＤ、出力ＩＤ）＝（１３、１４）の組に対応するシンボル「／ｅ／，渡部（１−ｇｒａｍ）」の遷移確率ａ１３１４を示している。これは、丸囲み数字９、１０、１１、１２、１３を経由する、丸囲み数字１から丸囲み数字１４への経路が存在することを表している。
【０１８５】
従って、（入力ＩＤ、出力ＩＤ）＝（１、９）の組に対応するシンボルと、（入力ＩＤ、出力ＩＤ）＝（９、１０）の組に対応するシンボルと、（入力ＩＤ、出力ＩＤ）＝（１０、１１）の組に対応するシンボルと、（入力ＩＤ、出力ＩＤ）＝（１１、１２）の組に対応するシンボルと、（入力ＩＤ、出力ＩＤ）＝（１２、１３）の組に対応するシンボルと、（入力ＩＤ、出力ＩＤ）＝（１３、１４）の組に対応するシンボルは、ネットワーク上の経路の順序で接続可能であり、その並びである／ｗ／，／ａ／，／ｔ／，／ａ／，／ｂ／，／ｅ／（渡部（１−ｇｒａｍ））とその遷移確率を示すことになる。
【０１８６】
また同様に、丸囲み数字１５、１６、１７、１８を経由する、丸囲み数字１４から丸囲み数字３６への経路が存在して、（入力ＩＤ、出力ＩＤ）＝（１４、１５）の組に対応するシンボルと、（入力ＩＤ、出力ＩＤ）＝（１５、１６）の組に対応するシンボルと、（入力ＩＤ、出力ＩＤ）＝（１６、１７）の組に対応するシンボルと、（入力ＩＤ、出力ＩＤ）＝（１７、１８）の組に対応するシンボルと、（入力ＩＤ、出力ＩＤ）＝（１８、３６）の組に対応するシンボルは、ネットワーク上の経路の順序で接続可能であり、その並びである／ｓｈ／，／ｉ／，／ｎ／，／ｊ／，／ｉ／（［渡部］−晋治（２−ｇｒａｍ））とその遷移確率を示すことになる。
【０１８７】
以上から、丸囲み数字９、１０、１１、１２、１３、１４、１５、１６、１７、１８を経由する、丸囲み数字１から丸囲み数字３６への経路が存在することになり、このネットワーク上の経路の順序は、音素系列が／ｗ／，／ａ／，／ｔ／，／ａ／，／ｂ／，／ｅ／，／ｓｈ／，／ｉ／，／ｎ／，／ｊ／，／ｉ／である単語列「渡部晋治」とその遷移確率を表すことになる。同様にして、丸囲み数字２、３、４、５、６、７、８、１４、１５、１６、１７、１８を経由する、丸囲み数字１から丸囲み数字３６への経路が存在して、このネットワーク上の経路の順序は、音素系列が／ｗ／，／ａ／，／ｔ／，／ａ／，／ｎ／，／ａ／，／ｂ／，／ｅ／，／ｓｈ／，／ｉ／，／ｎ／，／ｊ／，／ｉ／である単語列「渡部晋治」とその遷移確率を表し、また、丸囲み数字１９、２０、２１、２２、２３、２４、２５、２６、２７、２８、２９、３０を経由する、丸囲み数字１から丸囲み数字３６への経路が存在して、このネットワーク上の経路の順序は、音素系列が／ｓｈ／，／ｉ／，／ｎ／，／ｊ／，／ｉ／，／ｗ／，／ａ／，／ｔ／，／ａ／，／ｎ／，／ａ／，／ｂ／，／ｅ／である単語列「晋治渡部」とその遷移確率を表すことになる。その他の経路についても同様である。
【０１８８】
なお、図８には例示しないものの、もし、言語モデルＭＬ（１７１）において[渡部]−渡部（２−ｇｒａｍ）の接続関係が与えられていれば、図８に例示するネットワーク構造において、丸囲み数字８および丸囲み数字１３から丸囲み数字２３への経路が存在することになる。
【０１８９】
以上のようにサブワード言語モデルＭＳＬ（１７０）のデータ構成は、バイグラムモデルである言語モデルＭＬ（１７１）にサブワードモデルＭＳ（１７２）の音素が反映されたものとなっていて、音素の反映された単語のネットワーク構造が形成されている。
【０１９０】
以上では、サブワード言語モデル複雑度測定装置（１）において、サブワード言語モデルＭＳＬ（１７０）を生成するとしたが、サブワード言語モデル複雑度測定装置（１）において、サブワード言語モデルＭＳＬ（１７０）を生成することは必須のものではなく、予め生成されたサブワード言語モデルＭＳＬを外部記憶装置（１７）に保存記憶しておくとしてもよい。あるいは、サブワード言語モデル複雑度測定装置（１）の外部記憶装置（１７）にコーパスを保存記憶して、このコーパスから公知のＮ−ｇｒａｍ生成方法（この実施形態では２−ｇｒａｍ生成方法）で言語モデルＭＬ（１７１）を生成し、さらに外部記憶装置（１７）に保存記憶する漢字仮名変換辞書モデルなどを用いてサブワードモデルＭＳ（１７２）を生成するようにしてもよい。また、テストセットｗ１Ｎ（１７３）も、入力部（１１）でサブワード言語モデル複雑度測定装置（１）の外部から受け付けるようにしてもよい。
【０１９１】
サブワード言語モデルＭＳＬ（１７０）が生成されると、制御部の制御の下、確率総和演算部（１４３）において、外部記憶装置（１７）からＲＡＭ（１５）に呼び出されたサブワード言語モデルＭＳＬ（１７０）およびテストセットｗ１Ｎ（１７３）を参照して、テストセットｗ１Ｎ（１７３）に含まれる全ての音素系列のｓ１Ｋ∈ｗ１Ｎの出現確率の総和を求める（Ｓ１２）。
【０１９２】
確率総和演算部（１４３）では、上述した前向きアルゴリズムによって、テストセットｗ１Ｎ（１７３）に含まれる全ての音素系列のｓ１Ｋ∈ｗ１Ｎの出現確率の総和が求められる。
【０１９３】
まず、テストセットｗ１Ｎ（１７３）の先頭単語ｗ１に対応する音素系列の先頭音素ｓ１における全ての音素の種類ｉ∈ｓ１の遷移確率を、サブワード言語モデルＭＳＬ（１７０）から取得して、これを初期確率πｉとして設定する（Ｓ２１）。
【数８１】
2006236150.tif 000067
【０１９４】
続いて、テストセットｗ１Ｎ（１７３）の単語の順序で、これらの全ての単語に対応する音素系列の音素の並びｓ２、ｓ３、・・・、ｓｋ（１＜ｋ＜Ｋ）に含まれる音素の種類ｉ∈ｓ２、ｉ∈ｓ３、・・・、ｉ∈ｓｋについて、その音素の種類に到達する確率を次の漸化式によって求める（Ｓ２２）。なお、遷移確率ａｉｊは、サブワード言語モデルＭＳＬ（１７０）を参照して取得する。
【数８２】
2006236150.tif 000068
【０１９５】
そして、テストセットｗ１Ｎ（１７３）に含まれる全ての音素系列のｓ１Ｋ∈ｗ１Ｎの出現確率の総和を、テストセットｗ１Ｎ（１７３）の最後の単語ｗＮに対応する音素系列の最後の音素ｓＫにおける各状態へ到達する確率の総和として、次式に従って求める（Ｓ２３）。
【数８３】
2006236150.tif 000069
【０１９６】
ここで得られた確率総和は、外部記憶装置（１７）のデータ格納領域に保存記憶される。
【０１９７】
次いで、制御部の制御の下、サブワード系列総数計量部（１４４）において、外部記憶装置（１７）からＲＡＭ（１５）に呼び出されたサブワード言語モデルＭＳＬ（１７０）およびテストセットｗ１Ｎ（１７３）を参照して、テストセットｗ１Ｎ（１７３）を出力しうる音素系列ｓ１Ｋの総数を求める（Ｓ１３）。
【０１９８】
サブワード系列総数計量部（１４４）では、上述した前向きアルゴリズムによって、テストセットｗ１Ｎ（１７３）を出力しうる音素系列ｓ１Ｋの総数が求められる。
【０１９９】
まず、テストセットｗ１Ｎ（１７３）の先頭単語ｗ１に対応する音素系列の先頭音素ｓ１における全ての音素の種類ｉ∈ｓ１について１を設定する（Ｓ３１）。
【数８４】
2006236150.tif 000070
【０２００】
続いて、テストセットｗ１Ｎ（１７３）の単語の順序で、これらの全ての単語に対応する音素系列の音素の並びｓ２、ｓ３、・・・、ｓｋ（１＜ｋ＜Ｋ）に含まれる音素の種類ｉ∈ｓ２、ｉ∈ｓ３、・・・、ｉ∈ｓｋについて、その音素の種類に到達する音素系列の総数を次式の漸化式によって求める（Ｓ３２）。なお、状態遷移可能性ｄｉｊは、サブワード言語モデルＭＳＬ（１７０）を参照して、ある（入力ＩＤ、出力ＩＤ）の出力ＩＤと、別の（入力ＩＤ、出力ＩＤ）の入力ＩＤとが一致するか否かによって取得する。
【数８５】
2006236150.tif 000071
【０２０１】
そして、テストセットｗ１Ｎ（１７３）を出力しうる音素系列ｓ１Ｋの総数は、テストセットｗ１Ｎ（１７３）の最後の単語ｗＮに対応する音素系列の最後の音素ｓＫにおける各状態へ到達する音素系列の総和として、次式に従って求める（Ｓ３３）。
【数８６】
2006236150.tif 000072
【０２０２】
ここで得られた音素系列総数は、外部記憶装置（１７）のデータ格納領域に保存記憶される。
【０２０３】
なお、ステップＳ１２における確率総和を求める処理は、ステップＳ１３における音素系列の総和を求める処理の後に実行するようにしてもよい。
【０２０４】
確率総和および音素系列総数が求められると、制御部の制御の下、複雑度演算部（１４２）において、外部記憶装置（１７）からＲＡＭ（１５）に呼び出された確率総和および音素系列総数から、サブワード言語モデルＭＳＬ（１７０）の複雑度を求める（Ｓ１４）。
【０２０５】
複雑度演算部（１４２）では、式（２１）によるクロスエントロピーＨを演算して、この結果を出力する。あるいは、式（２１）によるクロスエントロピーＨの演算結果に基づいて、式（２２）によるテストセット・パープレキシティＰＰを演算して、この結果を出力するとしてもよい。勿論、両者の演算結果を出力するとしてもよい。
複雑度演算部（１４２）で出力された演算結果は、サブワード言語モデル（１７０）の複雑度（１７９）として、外部記憶装置（１７）のデータ格納領域に保存記憶される。
【０２０６】
なお、複雑度演算部（１４２）では、確率総和演算部（１４３）で出力された確率総和およびサブワード系列総数計量部（１４４）で出力された音素系列総数を用いて、式（２１）によるクロスエントロピーＨ、あるいは、式（２２）によるテストセット・パープレキシティＰＰを演算して、この結果を出力するとしたが、上記理論背景において述べたとおり、式（２１）に代わる式（１９）の近似式が与えられる場合には、この近似式に相当するクロスエントロピーＨや、そのテストセット・パープレキシティＰＰを演算するものとしてよい。
【０２０７】
この場合には、この近似式において表される数式の具体的な値を求めるプログラムが別途必要になる場合が当然にあって、さらに、上記の確率総和演算部（１４３）やサブワード系列総数計量部（１４４）に代わる機能処理部が必要になる場合もある。結局、式（１９）を求めるために必要となる近似式（その１例が式（２１）である。）を具体的に演算するプログラムおよび機能処理部（プログラムがＣＰＵ（１４）において処理される。）を、サブワード言語モデル複雑度測定装置（１）は備えればよいのである。
【０２０８】
＜第２の実施形態＞
次に、本発明の好適な第２の実施形態を、図面を参照して説明する。
図１２は、第２の実施形態に係わるサブワード言語モデル複雑度測定装置（２）のハードウェア構成を例示した構成ブロック図である。
【０２０９】
図１２に例示するように、サブワード言語モデル複雑度測定装置（２）は、キーボードなどが接続可能な入力部（２１）、液晶ディスプレイなどが接続可能な出力部（２２）、サブワード言語モデル複雑度測定装置（２）外部に通信可能な通信装置（例えば通信ケーブル）が接続可能な通信部（２３）、ＣＰＵ（Central Processing Unit）（２４）、メモリであるＲＡＭ（２５）、ＲＯＭ（２６）やハードディスクである外部記憶装置（２７）並びにこれらの入力部（２１）、出力部（２２）、通信部（２３）、ＣＰＵ（２４）、ＲＡＭ（２５）、ＲＯＭ（２６）、外部記憶装置（２７）間のデータのやり取りが可能なように接続するバス（２８）を有している。また必要に応じて、サブワード言語モデル複雑度測定装置（２）に、ＣＤ−ＲＯＭなどの記憶媒体を読み書きできる装置（ドライブ）などを設けるとしてもよい。
【０２１０】
サブワード言語モデル複雑度測定装置（２）の外部記憶装置（２７）には、サブワード言語モデルＭＳＬの複雑度を得るためのプログラムおよびこのプログラムの処理において必要となるデータなどが保存記憶されている。また、このプログラムの処理によって得られたデータなどを保存記憶するデータ格納領域（図示しない）も確保されている。
【０２１１】
より具体的には、外部記憶装置（２７）には、サブワード言語モデルＭＳＬの生成に必要な言語モデルＭＬ（２７１）およびサブワードモデルＭＳ（２７２）が保存記憶されている。また、サブワード言語モデルＭＳＬの複雑度の測定に必要となる学習データｗ１Ｒ（２７３）も保存記憶されている。なお、この実施形態では、言語モデルＭＬ（２７１）はバイグラムモデルとする。また、言語モデルＭＬ（２７１）は、学習データｗ１Ｒ（２７３）から２−ｇｒａｍによって統計的に生成されたものである。
【０２１２】
また、外部記憶装置（２７）には、サブワード言語モデルの複雑度を得るためのプログラムとして、言語モデルＭＬ（２７１）およびサブワードモデルＭＳ（２７２）からサブワード言語モデルを生成するためのサブワード言語モデル生成プログラム（２７７）、サブワード言語モデルＭＳＬにおいて、学習データｗ１Ｒ（２７３）に対応する全てのサブワード系列ｓ１Ｋに対する、学習データｗ１Ｒ（２７３）とサブワード系列ｓ１Ｇとの同時確率の総和を演算して、この結果を出力するための確率総和演算プログラム（２７４）、サブワード言語モデルＭＳＬにおいて、学習データｗ１Ｒ（２７３）に対応する全てのサブワード系列ｓ１Ｇの総数を計量するためのサブワード系列総数計量プログラム（２７５）、サブワード言語モデルの複雑度を演算するための複雑度演算プログラム（２７６）およびこれらのプログラムの処理などを制御するための制御プログラム（２７８）が保存記憶されている。これらのプログラムの処理によって得られるデータなどは、データ格納領域に保存記憶される。
【０２１３】
サブワード言語モデル複雑度測定装置（２）では、外部記憶装置（２７）に記憶されたプログラムとこのプログラムの処理に必要なデータが必要に応じてＲＡＭ（２５）に呼び出されて、ＣＰＵ（２４）で処理されることによって、サブワード言語モデルＭＳＬの複雑度を得るものとなっている。
【０２１４】
そこで次に、図１３〜図１６を参照して、サブワード言語モデル複雑度測定装置（２）において、サブワード言語モデルＭＳＬの複雑度を得る演算処理の流れを順次説明する。
図１３は、サブワード言語モデル複雑度測定装置（２）のＣＰＵ（２４）において上記所定のプログラムが処理されることにより、サブワード言語モデルＭＳＬの複雑度が得られる処理機能を示す機能ブロック図である。
図１４は、サブワード言語モデル複雑度測定装置（２）において、サブワード言語モデルＭＳＬの複雑度を得る処理を示すフローチャートである。
図１５は、サブワード言語モデルＭＳＬにおいて、学習データｗ１Ｒ（２７３）に対応する全てのサブワード系列ｓ１Ｇに対する、学習データｗ１Ｒ（２７３）とサブワード系列ｓ１Ｇとの同時確率の総和を前向きアルゴリズムによって求める処理を示すフローチャートである。
図１６は、サブワード言語モデルＭＳＬにおいて、学習データｗ１Ｒ（２７３）に対応する全てのサブワード系列ｓ１Ｇの総数を前向きアルゴリズムによって計量する処理を示すフローチャートである。
【０２１５】
まず、図示しない制御部の制御の下、サブワード言語モデル生成部（２４０）において、外部記憶装置（２７）からＲＡＭ（２５）に呼び出された言語モデルＭＬ（２７１）およびサブワードモデルＭＳ（２７２）から、サブワード言語モデルＭＳＬ（２７０）が生成される（Ｓ４１）。生成されたサブワード言語モデルＭＳＬ（２７０）は、外部記憶装置（２７）のデータ格納領域に保存される。
【０２１６】
言語モデルＭＬ（２７１）、サブワードモデルＭＳ（２７２）、サブワード言語モデルＭＳＬ（２７０）のデータ構成、ネットワーク構造、および、サブワード言語モデルＭＳＬ（２７０）の生成については上述したとおりであるから省略する。なお、サブワード言語モデルＭＳＬ（２７０）のデータ構成は、学習データｗ１Ｒ（２７３）から生成されたバイグラムモデルである言語モデルＭＬ（２７１）にサブワードモデルＭＳ（２７２）の音素が反映されたものとなっていて、音素の反映された単語のネットワーク構造が形成されているので、サブワード言語モデルＭＳＬ（２７０）は、学習データｗ１Ｒ（２７３）から生成されたものということができる。
【０２１７】
以上では、サブワード言語モデル複雑度測定装置（２）において、サブワード言語モデルＭＳＬ（２７０）を生成するとしたが、サブワード言語モデル複雑度測定装置（２）において、サブワード言語モデルＭＳＬ（２７０）を生成することは必須のものではなく、予め学習データｗ１Ｒ（２７３）から生成されたサブワード言語モデルＭＳＬを外部記憶装置（２７）に保存記憶しておくとしてもよい。あるいは、サブワード言語モデル複雑度測定装置（２）の外部記憶装置（２７）に保存記憶される学習データｗ１Ｒ（２７３）から公知のＮ−ｇｒａｍ生成方法（この実施形態では２−ｇｒａｍ生成方法）で言語モデルＭＬ（２７１）を生成し、さらに外部記憶装置（２７）に保存記憶する漢字仮名変換辞書モデルなどを用いてサブワードモデルＭＳ（２７２）を生成するようにしてもよい。
【０２１８】
サブワード言語モデルＭＳＬ（２７０）が生成されると、制御部の制御の下、確率総和演算部（２４３）において、外部記憶装置（２７）からＲＡＭ（２５）に呼び出されたサブワード言語モデルＭＳＬ（２７０）および学習データｗ１Ｒ（２７３）を参照して、学習データｗ１Ｒ（２７３）に含まれる全ての音素系列のｓ１Ｇ∈ｗ１Ｒの出現確率の総和を求める（Ｓ４２）。
【０２１９】
確率総和演算部（２４３）では、上述した前向きアルゴリズムによって、学習データｗ１Ｒ（２７３）に含まれる全ての音素系列のｓ１Ｇ∈ｗ１Ｒの出現確率の総和が求められる。
【０２２０】
まず、学習データｗ１Ｒ（２７３）の先頭単語ｗ１に対応する音素系列の先頭音素ｓ１における全ての音素の種類ｉ∈ｓ１の遷移確率を、サブワード言語モデルＭＳＬ（２７０）から取得して、これを初期確率πｉとして設定する（Ｓ５１）。
【数８７】
2006236150.tif 000073
【０２２１】
続いて、学習データｗ１Ｒ（２７３）の単語の順序で、これらの全ての単語に対応する音素系列の音素の並びｓ２、ｓ３、・・・、ｓｋ（１＜ｋ＜Ｇ）に含まれる音素の種類ｉ∈ｓ２、ｉ∈ｓ３、・・・、ｉ∈ｓｋについて、その音素の種類に到達する確率を次式の漸化式によって求める（Ｓ５２）。なお、遷移確率ａｉｊは、サブワード言語モデルＭＳＬ（２７０）を参照して取得する。
【数８８】
2006236150.tif 000074
【０２２２】
そして、学習データｗ１Ｒ（２７３）に含まれる全ての音素系列のｓ１Ｇ∈ｗ１Ｒの出現確率の総和を、学習データｗ１Ｒ（２７３）の最後の単語ｗＲに対応する音素系列の最後の音素ｓＧにおける各状態へ到達する確率の総和として、次式に従って求める（Ｓ５３）。
【数８９】
2006236150.tif 000075
【０２２３】
ここで得られた確率総和は、外部記憶装置（２７）のデータ格納領域に保存記憶される。
【０２２４】
次いで、制御部の制御の下、サブワード系列総数計量部（２４４）において、外部記憶装置（２７）からＲＡＭ（２５）に呼び出されたサブワード言語モデルＭＳＬ（２７０）および学習データｗ１Ｒ（２７３）を参照して、学習データｗ１Ｒ（２７３）を出力しうる音素系列ｓ１Ｇの総数を求める（Ｓ４３）。
【０２２５】
サブワード系列総数計量部（２４４）では、上述した前向きアルゴリズムによって、学習データｗ１Ｒ（２７３）を出力しうる音素系列ｓ１Ｇの総数が求められる。
【０２２６】
まず、学習データｗ１Ｒ（２７３）の先頭単語ｗ１に対応する音素系列の先頭音素ｓ１における全ての音素の種類ｉ∈ｓ１について１を設定する（Ｓ６１）。
【数９０】
2006236150.tif 000076
【０２２７】
続いて、学習データｗ１Ｒ（２７３）の単語の順序で、これらの全ての単語に対応する音素系列の音素の並びｓ２、ｓ３、・・・、ｓｋ（１＜ｋ＜Ｇ）に含まれる音素の種類ｉ∈ｓ２、ｉ∈ｓ３、・・・、ｉ∈ｓｋについて、その音素の種類に到達する音素系列の総数を次式の漸化式によって求める（Ｓ６２）。なお、状態遷移可能性ｄｉｊは、サブワード言語モデルＭＳＬ（２７０）を参照して、ある（入力ＩＤ、出力ＩＤ）の出力ＩＤと、別の（入力ＩＤ、出力ＩＤ）の入力ＩＤとが一致するか否かによって取得する。
【数９１】
2006236150.tif 000077
【０２２８】
そして、学習データｗ１Ｒ（２７３）を出力しうる音素系列ｓ１Ｇの総数は、学習データｗ１Ｒ（２７３）の最後の単語ｗＲに対応する音素系列の最後の音素ｓＧにおける各状態へ到達する音素系列の総和として、次式に従って求める（Ｓ６３）。
【数９２】
2006236150.tif 000078
【０２２９】
ここで得られた音素系列総数は、外部記憶装置（２７）のデータ格納領域に保存記憶される。
【０２３０】
なお、ステップＳ４２における確率総和を求める処理は、ステップＳ４３における音素系列の総和を求める処理の後に実行するようにしてもよい。
【０２３１】
確率総和および音素系列総数が求められると、制御部の制御の下、複雑度演算部（２４２）において、外部記憶装置（２７）からＲＡＭ（２５）に呼び出された確率総和および音素系列総数から、サブワード言語モデルＭＳＬ（２７０）の複雑度を求める（Ｓ４４）。
【０２３２】
複雑度演算部（２４２）では、式（３４）によって複雑度ＵＭＤＬ（ｗ１Ｒ，ｓ１Ｇ，ＭＳＬ）を演算して、この結果を出力する。複雑度演算部（２４２）で出力された演算結果は、サブワード言語モデルＭＳＬ（２７０）の複雑度（２７９）として、外部記憶装置（２７）のデータ格納領域に保存記憶される。なお、式（３４）におけるサブワード言語モデルＭＳＬ（２７０）の状態遷移のアーク数Ａおよびサブワード数Ｇは、サブワード系列総数計量部（２４４）においてサブワード系列の総数を計量する際に併せて取得すればよい。あるいは、図示しないものの、アーク数計量部およびサブワード数計量部を備えるとしてもよい。アーク数計量部は、サブワード言語モデルＭＳＬ（２７０）における入力ＩＤおよび出力ＩＤに基づいて、その接続経路の全てを計量するものであり、サブワード数計量部は、サブワード言語モデルＭＳＬ（２７０）におけるシンボル数を計量するものである。また、上述したようにサブワード言語モデルＭＳＬ（２７０）が予め与えられている場合には、アーク数およびサブワード数も予め外部記憶装置（２７）に保存記憶されるとしてもよい。
【０２３３】
複雑度演算部（２４２）では、式（３４）による複雑度ＵＭＤＬ（ｗ１Ｒ，ｓ１Ｇ，ＭＳＬ）を演算して、この結果を出力するとしたが、上記理論背景において述べたとおり、式（３４）に代わる式（３５）による複雑度ＵＭＤＬ（ｗ１Ｒ，ｓ１Ｇ，ＭＳＬ）を演算して、この結果を出力するものとしてもよい。
【０２３４】
式（３４）および式（３５）は、式（３０）の一例に過ぎない。逆に式（３０）によって表される情報量規準の式であれば、この式による複雑度Ｕ（ｗ１Ｒ，ｓ１Ｇ，ＭＳＬ）を複雑度演算部（２４２）で演算して、この結果を出力するとしてよい。
【０２３５】
さらに式（３０）に限らず、式（３１）、さらには式（３０）および式（３１）を包括する複雑度規準の式（２９）によって表される式であれば、この式による複雑度Ｕ（ｗ１Ｒ，ｓ１Ｇ，ＭＳＬ）を複雑度演算部（２４２）で演算して、この結果を出力するとしてよい。
【０２３６】
この場合には、式（２９）の入力値となる条件付複雑度と自己複雑度の具体的な値を求めるプログラムが別途必要になる場合が当然にあって、それに応じて、上記の確率総和演算部（２４３）やサブワード系列総数計量部（２４４）に代わる機能処理部が必要になる場合もある。結局、式（２９）を求めるために必要となる条件付複雑度および自己複雑度の具体的な値を得るためのプログラムおよび機能処理部（プログラムがＣＰＵ（２４）において処理される。）を、サブワード言語モデル複雑度測定装置（２）は備えればよいのである。
【０２３７】
本発明であるサブワード言語モデル複雑度測定装置は上述の実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記サブワード言語モデル複雑度測定装置において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【０２３８】
また、上記サブワード言語モデル複雑度測定装置における処理機能をコンピュータによって実現する場合、サブワード言語モデル複雑度測定装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記サブワード言語モデル複雑度測定装置における処理機能がコンピュータ上で実現される。
【０２３９】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【０２４０】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【０２４１】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０２４２】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、サブワード言語モデル複雑度測定装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【０２４３】
本発明のサブワード言語モデル複雑度測定装置およびその方法は、サブワード単位の複雑度が反映されるサブワード言語モデルの複雑度を測定するものであるから、音声認識や機械翻訳などの言語処理技術において利用できる。
【図面の簡単な説明】
【０２４４】
【図１】第１の実施形態に係わるサブワード言語モデル複雑度測定装置（１）のハードウェア構成を例示した構成ブロック図。
【図２】サブワード言語モデル複雑度測定装置（１）においてサブワード言語モデルＭＳＬの複雑度が得られる処理機能を示す機能ブロック図。
【図３】言語モデルＭＬのデータ構成例を示す図。
【図４】サブワードモデルＭＳのデータ構成例を示す図。
【図５】サブワード言語モデルＭＳＬのデータ構成例を示す図。
【図６】言語モデルＭＬのデータ構成例のネットワーク構造を示す図。
【図７】サブワードモデルＭＳのデータ構成例のネットワーク構造を示す図。
【図８】サブワード言語モデルＭＳＬのデータ構成例のネットワーク構造を示す図。
【図９】サブワード言語モデル複雑度測定装置（１）において、サブワード言語モデルＭＳＬの複雑度を得る処理を示すフローチャート。
【図１０】テストセットｗ１Ｎ（１７３）に対応する全てのサブワード系列ｓ１Ｋに対する、テストセットｗ１Ｎ（１７３）とサブワード系列ｓ１Ｋとの同時確率の総和を前向きアルゴリズムによって求める処理を示すフローチャート。
【図１１】テストセットｗ１Ｎ（１７３）に対応する全てのサブワード系列ｓ１Ｋの総数を前向きアルゴリズムによって計量する処理を示すフローチャート。
【図１２】第２の実施形態に係わるサブワード言語モデル複雑度測定装置（２）のハードウェア構成を例示した構成ブロック図。
【図１３】サブワード言語モデル複雑度測定装置（２）においてサブワード言語モデルＭＳＬの複雑度が得られる処理機能を示す機能ブロック図。
【図１４】サブワード言語モデル複雑度測定装置（２）において、サブワード言語モデルＭＳＬの複雑度を得る処理を示すフローチャート。
【図１５】学習データｗ１Ｒ（２７３）に対応する全てのサブワード系列ｓ１Ｇに対する、学習データｗ１Ｒ（２７３）とサブワード系列ｓ１Ｇとの同時確率の総和を前向きアルゴリズムによって求める処理を示すフローチャート。
【図１６】学習データｗ１Ｒ（２７３）に対応する全てのサブワード系列ｓ１Ｇの総数を前向きアルゴリズムによって計量する処理を示すフローチャート。
【図１７】単語単位の言語モデルに対するテストセット・パープレキシティないしクロスエントロピーを算出する言語モデル複雑度測定装置（９００）の機能ブロック図。
【符号の説明】
【０２４５】
１  サブワード言語モデル複雑度測定装置
２  サブワード言語モデル複雑度測定装置
１４０  サブワード言語モデル生成部
１４２  複雑度演算部
１４３  確率総和演算部
１４４  サブワード系列総数計量部
１７０  サブワード言語モデル
１７１  言語モデル
１７２  サブワードモデル
１７３  テストセット
２４０  サブワード言語モデル生成部
２４２  複雑度演算部
２４３  確率総和演算部
２４４  サブワード系列総数計量部
２７０  サブワード言語モデル
２７１  言語モデル
２７２  サブワードモデル
２７３  学習データ
【図１】
2006236150.tif 000095
【図２】
2006236150.tif 000096
【図３】
2006236150.tif 000097
【図４】
2006236150.tif 000098
【図５】
2006236150.tif 000099
【図６】
2006236150.tif 000100
【図７】
2006236150.tif 000101
【図８】
2006236150.tif 000102
【図９】
2006236150.tif 000103
【図１０】
2006236150.tif 000104
【図１１】
2006236150.tif 000105
【図１２】
2006236150.tif 000106
【図１３】
2006236150.tif 000107
【図１４】
2006236150.tif 000108
【図１５】
2006236150.tif 000109
【図１６】
2006236150.tif 000110
【図１７】
2006236150.tif 000111