(57)【要約】  精度良く言語モデルを生成する。  データに含まれる単語、文字又は単語列を特定の単語として特定し、特定単語から少なくとも所定の範囲に含まれる単語の集合を大域文脈として抽出する大域文脈抽出手段と、大域文脈を所定の観点を基に分類し、分類の結果を出力する文脈分類手段と、分類の結果を用いて、特定単語の生成確率を算出する言語モデルを生成する言語モデル生成手段とを含む情報処理装置。
2014073206.tif 000002
【特許請求の範囲】
【請求項１】
データに含まれる単語、文字又は単語列を特定の単語として特定し、前記特定単語から少なくとも所定の範囲に含まれる単語の集合を大域文脈として抽出する大域文脈抽出手段と、
前記大域文脈を所定の観点を基に分類し、分類の結果を出力する文脈分類手段と、
前記分類の結果を用いて、前記特定の単語の生成確率を算出する言語モデルを生成する言語モデル生成手段とを含む情報処理装置。
【請求項２】
所定の言語データを基に前記単語の集合と前記所定の観点に基づくクラスとの関係を示す文脈分類モデルを生成する文脈分類モデル生成手段を含み、
前記文脈分類手段は、前記文脈分類モデルを用いて前記大域文脈を分類する請求項１に記載の情報処理装置。
【請求項３】
前記文脈分類モデル生成手段は、
クラスの情報が付与された複数の単語の集合を学習データとして、単語の集合が与えられたときのクラスの事後確率を計算するモデルを生成する請求項２に記載の情報処理装置。
【請求項４】
前記言語モデル生成手段は、
前記クラスの事後確率を素性関数とした最大エントロピーモデルを用いる請求項２または３に記載の情報処理装置。
【請求項５】
前記大域文脈に含まれる単語と前記特定単語との間のトリガー対の素性関数を計算するトリガー素性計算手段を含み、
前記言語モデル生成手段は、前記分類の結果と、前記トリガー対の素性関数とを用いて言語モデルを生成する請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記特定単語の直前のＮグラムの素性関数を計算する素性関数計算手段を含み、
前記言語モデル生成手段は、前記分類の結果と、前記Ｎグラムの素性関数とを用いて言語モデルを生成する請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記大域文脈に含まれる単語と前記特定単語との間のトリガー対の素性関数を計算するトリガー素性計算手段と、
前記特定単語の直前のＮグラムの素性関数を計算する素性関数計算手段とを含み、
前記言語モデル生成手段は、前記分類の結果と、前記トリガー対の素性関数と、前記Ｎグラムの素性関数とを用いて言語モデルを生成する
請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
データに含まれる単語、文字又は単語列を特定の単語として特定し、前記特定単語から少なくとも所定の範囲に含まれる単語の集合を大域文脈として抽出し、
前記大域文脈を所定の観点を基に分類し、分類の結果を出力し、
前記分類の結果を用いて、前記特定の単語の生成確率を算出する言語モデルを生成する情報処理方法。
【請求項９】
所定の言語データを基に前記単語の集合と前記所定の観点に基づくクラスとの関係を示す文脈分類モデルを生成し、
前記文脈分類モデルを用いて前記大域文脈を分類する
請求項８に記載の情報処理方法。
【請求項１０】
クラスの情報が付与された複数の単語の集合を学習データとして、単語の集合が与えられたときのクラスの事後確率を計算するモデルを生成する
請求項９に記載の情報処理方法。
【請求項１１】
前記クラスの事後確率を素性関数とした最大エントロピーモデルを用いる
請求項９または１０に記載の情報処理方法。
【請求項１２】
前記大域文脈に含まれる単語と前記特定単語との間のトリガー対の素性関数を計算し、
前記分類の結果と、前記トリガー対の素性関数とを用いて言語モデルを生成する
請求項８乃至１１のいずれか１項に記載の情報処理方法。
【請求項１３】
前記特定単語の直前のＮグラムの素性関数を計算し、
前記分類の結果と、前記Ｎグラムの素性関数とを用いて言語モデルを生成する
請求項８乃至１２のいずれか１項に記載の情報処理方法。
【請求項１４】
前記大域文脈に含まれる単語と前記特定単語との間のトリガー対の素性関数を計算し、
前記特定単語の直前のＮグラムの素性関数を計算し、
前記分類の結果と、前記トリガー対の素性関数と、前記Ｎグラムの素性関数とを用いて言語モデルを生成する
請求項８乃至１３のいずれか１項に記載の情報処理方法。
【請求項１５】
データに含まれる単語、文字又は単語列を特定の単語として特定し、前記特定単語から少なくとも所定の範囲に含まれる単語の集合を大域文脈として抽出する処理と、
前記大域文脈を所定の観点を基に分類し、分類の結果を出力する処理と、
前記分類の結果を用いて、前記特定の単語の生成確率を算出する言語モデルを生成する処理とをコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１６】
所定の言語データを基に前記単語の集合と前記所定の観点に基づくクラスとの関係を示す文脈分類モデルを生成する処理と、
前記文脈分類モデルを用いて前記大域文脈を分類する処理と
をコンピュータに実行させる請求項１５に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１７】
クラスの情報が付与された複数の単語の集合を学習データとして、単語の集合が与えられたときのクラスの事後確率を計算する処理
をコンピュータに実行させる請求項１６に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１８】
前記クラスの事後確率を素性関数とした最大エントロピーモデルを用いる
請求項１５または１６に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１９】
前記大域文脈に含まれる単語と前記特定単語との間のトリガー対の素性関数を計算する処理と、
前記分類の結果と、前記トリガー対の素性関数とを用いて言語モデルを生成する処理と
をコンピュータに実行させる請求項１５乃至１８のいずれか１項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２０】
前記特定単語の直前のＮグラムの素性関数を計算する処理と、
前記分類の結果と、前記Ｎグラムの素性関数とを用いて言語モデルを生成する処理と
をコンピュータに実行させる請求項１５乃至１９のいずれか１項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２１】
前記大域文脈に含まれる単語と前記特定単語との間のトリガー対の素性関数を計算する処理と、
前記特定単語の直前のＮグラムの素性関数を計算する処理と、
前記分類の結果と、前記トリガー対の素性関数と、前記Ｎグラムの素性関数とを用いて言語モデルを生成する処理と
をコンピュータに実行させる請求項１５乃至２０のいずれか１項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理に関し、特に、言語データの情報処理に関する。
【背景技術】
【０００２】
統計的言語モデルは、例えば、処理対象の文書に含まれる単語（word）、単語列（word string）又は文字列（character string）の生成確率を計算するモデルである（例えば、特許文献１を参照）。【０００３】
このような統計的言語モデルに、Ｎグラム法（N-gram method）を用いる「Ｎグラム言語モデル」がある。【０００４】
Ｎグラム言語モデルとは、単語を処理単位とする場合、ある時点での単語の生成確率が、その単語の直前の「Ｎ−１個」の単語のみに基づくとするモデルである。【０００５】
ｉ番目の単語をｗｉ、単語ｗｉの直前の「Ｎ−１」個、つまり「ｉ−Ｎ＋１」番目から「ｉ−１」番目までの単語列をｗｉ−Ｎ＋１ｉ−１とすると、Ｎグラム言語モデルによる単語ｗｉの生成確率Ｐは、Ｐ（ｗｉ｜ｗｉ−Ｎ＋１ｉ−１）となる。なお、Ｐ（ｗｉ｜ｗｉ−Ｎ＋１ｉ−１）は、単語列ｗｉ−Ｎ＋１ｉ−１が発生した場合の単語ｗｉが発生する条件付き確率（事後確率）である。【０００６】
ｍ個の単語「ｗ１、ｗ２、・・・、ｗｍ」を含む単語列ｗ１ｍの生成確率Ｐ（ｗ１ｍ）は、各単語の条件付き確率を用いて、次のように求めることできる。
2014073206.tif 000003
【０００７】
条件付き確率Ｐ（ｗｉ｜ｗｉ−Ｎ＋１ｉ−１）は、例えば、推定のために保存された単語列から成る学習用のデータ（training data）を用いて推定できる。ここで、単語列ｗｉ−Ｎ＋１ｉが学習用データ中に出現する回数をＣ（ｗｉ−Ｎ＋１ｉ）、単語列ｗｉ−Ｎ＋１ｉ−１が学習用データ中に出現する回数をＣ（ｗｉ−Ｎ＋１ｉ−１）とすると、条件付き確率Ｐ（ｗｉ｜ｗｉ−Ｎ＋１ｉ−１）は、最尤推定法（maximum likelihood estimation）を用いて、次のように推定できる。
2014073206.tif 000004
【０００８】
なお、Ｎの値が大きいＮグラム言語モデルは、計算量が膨大となる。そのため、一般的なＮグラム言語モデルは、Ｎの値として、２〜５を用いる。【０００９】
このように、Ｎグラム言語モデルは、局所的な単語の連鎖のみを考慮するモデルである。そのため、Ｎグラム言語モデルは、文全体や文書全体の整合性を考慮できない。【００１０】
なお、以下では、Ｎグラム言語モデルが考慮する範囲、すなわち直前の２〜５単語より広い範囲の単語の集合（例えば、直前の数十単語）を、「大域的な文脈（大域文脈）」と言う。つまり、Ｎグラム言語モデルは大域文脈を考慮しない。【００１１】
これに対し、大域文脈を考慮するモデルとして、トリガーモデル（trigger model）がある（例えば、非特許文献１を参照）。非特許文献１に記載のトリガーモデルは、大域文脈に現れる単語が、それぞれ独立に、後続の単語の生成確率に影響を与えるとする言語モデルである。そして、トリガーモデルは、単語ｗａが後続の単語ｗｂの生成確率に与える影響の度合いを、パラメータとして保持する。このような２単語（単語ｗａと単語ｗｂ）の対を「トリガー対（trigger pair）」と言う。以下、トリガー対を「ｗａ−−＞ｗｂ」のように表す。【００１２】
例えば、図１４に示す文書に、トリガーモデルを適用する場合について説明する。図１４に示す文書を用いる場合、トリガーモデルは、大域文書の中の単語（例えば、ｓｐａｃｅ、ＵＳＡ、ｒｏｃｋｅｔｓなど）が後続する単語（ｍｏｏｎ）の生成確率に与える影響の度合いを、それぞれ独立に単語間の関係としてモデル化し、言語モデルに組み入れる。【００１３】
非特許文献１に記載の技術は、２単語間の関係を言語モデルに組み入れるため、最大エントロピーモデルを用いる。【００１４】
例えば、大域文脈をｄ、生成確率を計算する後続単語をｗとし、最大エントロピーモデルを用いると、後続単語ｗの生成確率Ｐ（ｗ｜ｄ）は、次の式となる。
2014073206.tif 000005
【００１５】
ここで、ｆｉ（ｄ，ｗ）は、ｉ番目のトリガー対に対する素性関数（feature function）である。Ｍは、用意する素性関数の総数である。例えば、単語「ｓｐａｃｅ」と単語「ｍｏｏｎ」とのトリガー対「ｓｐａｃｅ−−＞ｍｏｏｎ」に対する素性関数ｆｉ（ｄ，ｗ）の定義は、次の式である。
2014073206.tif 000006
【００１６】
λｉは、モデルのパラメータである。λｉは、学習データを基に最尤推定法を用いて決定される。具体的には、例えば、λｉは、非特許文献１に記載された反復スケーリングアルゴリズム（iterative scaling algorithm）を用いて、算出できる。【００１７】
Ｚ（ｄ）は、「Σｗｐ（ｗ｜ｄ）＝１」とするための正規化項であり、次の式となる。
2014073206.tif 000007
【００１８】
このような、トリガーモデルを用いて言語を学習する情報処理装置の動作について説明する。【００１９】
図１３は、このような、トリガーモデルを用いて言語を学習する情報処理装置９の構成の一例を示すブロック図である。【００２０】
情報処理装置９は、大域文脈抽出部９１０と、トリガー素性計算部９２０と、言語モデル生成部９３０と、言語モデル学習データ記憶部９４０と、言語モデル記憶部９５０と含む。【００２１】
言語モデル学習データ記憶部９４０は、学習対象である言語モデル学習データを記憶する。ここで、対象の単語を単語ｗとする。【００２２】
大域文脈抽出部９１０は、言語モデル学習データ記憶部９４０が記憶する言語モデル学習データの中から、単語ｗの周辺に現れる単語の集合を大域文脈として抽出する。この抽出した大域文脈は、大域文脈ｄとする。そして、大域文脈抽出部９１０は、単語ｗと大域文脈ｄをトリガー素性計算部９２０に送る。【００２３】
トリガー素性計算部９２０は、素性関数ｆｉ（ｄ，ｗ）を計算する。トリガー素性計算部９２０は、計算した素性関数ｆｉ（ｄ，ｗ）を言語モデル生成部９３０に送る。【００２４】
言語モデル生成部９３０は、最大エントロピーモデルを用いて単語ｗの生成確率Ｐ（ｗ｜ｄ）を算出する言語モデルを生成する。そして、言語モデル生成部９３０は、生成した言語モデルを言語モデル記憶部９５０に送り、記憶させる。【００２５】
言語モデル記憶部９５０は、言語モデルを記憶する。
【先行技術文献】
【特許文献】
【００２６】
【特許文献１】特開平１０−３１９９８９
【非特許文献】
【００２７】
【非特許文献１】Ronald Rosenfeld, "A maximum entropy approach to adaptive statistical language modeling," Computer Speech and Language, Vol. 10, No. 3, pp. 187-228, 1996.
【発明の概要】
【発明が解決しようとする課題】
【００２８】
非特許文献１に記載のトリガーモデルは、大域文脈の中の単語が、個別に、後続単語（単語ｗ）の生成確率に影響を及ぼすとする。そのため、トリガーモデルは、後続単語の生成確率を精度良く計算できない場合があるという問題点があった。【００２９】
例えば、図１４に示す文を参照して説明する。【００３０】
図１４に示す大域文脈ｄには、「ｓｐａｃｅ」、「ＵＳＡ」、「ｒｏｃｋｅｔｓ」、「ｌａｎｄｅｄ」、「ｈｕｍａｎｓ」が、出現している。そのため、これらの単語の出現を考慮すると、この大域文脈は、「月面着陸（moon landing）」に関連する可能性が高いと推定できる。従って、これら大域文脈中の単語を考慮すると、後続単語として「ｍｏｏｎ」が出現する確率は非常に高いと推定されるべきである。しかし、「ＵＳＡ」や「ｈｕｍａｎｓ」は、単独の単語としては、「ｍｏｏｎ」との関連が強くない。そのため、非特許文献１に記載のトリガーモデルにおいて、「ＵＳＡ」や「ｈｕｍａｎｓ」は、後続単語としての「ｍｏｏｎ」の生成確率の向上への影響が弱くなる。また、「ｓｐａｃｅ」や「ｒｏｃｋｅｔｓ」は、ある程度「月面着陸」に関連する単語であるが、「月面着陸」以外の多くの話題にも関連する単語である。そのため、「ｓｐａｃｅ」や「ｒｏｃｋｅｔｓ」は、単独では、「ｍｏｏｎ」の生成確率を大きくは向上できない。結果として、トリガーモデルでは、「ｍｏｏｎ」の生成確率が低く推定されてしまう。【００３１】
このように、非特許文献１に記載のトリガーモデルは、後続単語の生成確率を精度高く計算できないという問題点があった。【００３２】
本発明の目的は、上記問題点を解決し、精度の高い言語モデルを生成できる情報処理装置、及び、情報処理方法を提供することにある。
【課題を解決するための手段】
【００３３】
本発明の一形態における情報処理装置は、データに含まれる単語、文字又は単語列を特定の単語として特定し、前記特定単語から少なくとも所定の範囲に含まれる単語の集合を大域文脈として抽出する大域文脈抽出手段と、前記大域文脈を所定の観点を基に分類し、分類の結果を出力する文脈分類手段と、前記分類の結果を用いて、前記特定の単語の生成確率を算出する言語モデルを生成する言語モデル生成手段とを含む。【００３４】
本発明の一形態における情報処理方法は、データに含まれる単語、文字又は単語列を特定の単語として特定し、前記特定単語から少なくとも所定の範囲に含まれる単語の集合を大域文脈として抽出し、前記大域文脈を所定の観点を基に分類し、分類の結果を出力し、前記分類の結果を用いて、前記特定の単語の生成確率を算出する言語モデルを生成する。【００３５】
本発明の一形態におけるプログラムは、データに含まれる単語、文字又は単語列を特定の単語として特定し、前記特定単語から少なくとも所定の範囲に含まれる単語の集合を大域文脈として抽出する処理と、前記大域文脈を所定の観点を基に分類し、分類の結果を出力する処理と、前記分類の結果を用いて、前記特定の単語の生成確率を算出する言語モデルを生成する処理とをコンピュータに実行させる。
【発明の効果】
【００３６】
本発明によれば、精度良く言語モデルを生成できる。
【図面の簡単な説明】
【００３７】
【図１】図１は、本発明における第１の実施形態に係る情報処理装置の一例を示すブロック図である。
【図２】図２は、第１の実施形態に係る大域文脈抽出部の動作を説明するための図である。
【図３】図３は、第１の実施形態に係る事後確率の一例を示す図である。
【図４】図４は、第１の実施形態に係る情報処理装置の動作の一例を示すフローチャートである。
【図５】図５は、第１の実施形態に係る情報処理装置の別の構成の一例を示すブロック図である。
【図６】図６は、第２の実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【図７】図７は、第２の実施形態に係る文脈分類モデル学習データの一例を示す図である。
【図８】図８は、第２の実施形態に係る文脈分類モデル生成部の動作を説明するための図である。
【図９】図９は、第２の実施形態に係る記憶装置を説明するための図である。
【図１０】図１０は、第３の実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【図１１】図１１は、第４の実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【図１２】図１２は、第５の実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【図１３】図１３は、一般的なトリガーモデルを用いる情報処理装置の構成の一例を示すブロック図である。
【図１４】図１４は、大域文脈と後続単語の関係の一例を示す図である。
【発明を実施するための形態】
【００３８】
次に、本発明の実施形態について図面を参照して説明する。
【００３９】
なお、各図面は、本発明の実施形態を説明するものである。そのため、本発明は、各図面の記載に限られるわけではない。また、各図面の同様の構成には、同じ番号を付し、その繰り返しの説明は、省略する場合がある。
【００４０】
また、本発明は、言語の処理単位（言語モデルの語彙の単位）を特に限らない。例えば、本発明の処理単位は、単語でも良く、複数の単語を含む熟語や節のような単語列でも良く、また、個別の文字でも良い。以下では、これらをまとめて「単語」として説明する。
【００４１】
また、本発明の処理の対象のデータは、特に制限はない。ただ、言語データを用いた言語モデルの生成は、言語データの学習を用いた言語モデルの生成と言うこともできる。そのため、以下の説明では、本発明の処理の一例として、言語モデルを学習する場合について説明する。そして、本発明の処理対象のデータは、「言語モデル学習データ」と言う場合もある。
【００４２】
（第１の実施形態）
図１は、本発明における第１の実施形態に係る情報処理装置１の構成の一例を示すブロック図である。
【００４３】
情報処理装置１は、大域文脈抽出部１０と、大域文脈分類部２０と、言語モデル生成部３０とを含む。
【００４４】
大域文脈抽出部１０は、本実施形態の処理対象データである言語モデル学習データを受け取り、言語モデル学習データの大域文脈を抽出する。より具体的に説明すると、次のとおりである。
【００４５】
大域文脈抽出部１０は、受け取った言語モデル学習データに含まれる各単語を処理の対象として特定し、それぞれ特定された単語（以下、「特定単語」とも言う。）の周辺に現れる単語の集合を、大域文脈として、特定単語毎に抽出する。
【００４６】
図２は、情報処理装置１の大域文脈抽出部１０の動作の概要を説明するための図である。
【００４７】
図２において、破線で囲まれた文が、一例として示す言語モデル学習データである。例えば、大域文脈抽出部１０は、言語モデル学習データに含まれる１つの単語（特定単語）ｗ（図２の「ｍｏｏｎ」）に対しての大域文脈ｄ（図２の「ｓｐａｃｅ、ＵＳＡ、ｒｏｃｋｅｔｓ、ｐｒｏｇｒａｍ、ｌａｎｄｅｄ、ｈｕｍａｎｓ」）を抽出する。
【００４８】
なお、本実施形態の大域文脈抽出部１０が抽出する単語の集合（大域文脈）は、特に制限はない。例えば、大域文脈抽出部１０は、大域文脈として、特定単語が含まれる文を単語の集合として抽出しても良い。あるいは、大域文脈抽出部１０は、特定単語の直前の単語又は直後の単語から所定の範囲（距離）の単語の集合を、大域文脈として抽出しても良い。なお、大域文脈抽出部１０が、特定単語の前の所定の範囲の単語の集合を大域文脈として抽出した場合、特定単語は、大域文脈に対して、後続単語となる。
【００４９】
あるいは、大域文脈抽出部１０は、特定単語の前後の所定の範囲（距離）の単語の集合を大域文脈として抽出しても良い。この場合、前の範囲と後ろの範囲は、同じ距離でも、異なった距離でも良い。
【００５０】
なお、ここに記載の「距離」は、言語データの単語としての距離である。例えば、距離は、特定単語からの単語の数、又は、その特定単語を含む文からの文の数である。
【００５１】
また、図２に示す例では、大域文脈抽出部１０は、名詞と動詞を大域文脈として抽出した。しかし、本実施形態の大域文脈抽出部１０は、これに限らない。大域文脈抽出部１０は、他の基準（例えば、形容詞など品詞や語彙セット）を用いて選択しても良く、全ての単語を抽出しても良い。
【００５２】
図１の説明に戻る。
【００５３】
大域文脈抽出部１０は、抽出した大域文脈のデータを大域文脈分類部２０に送る。
【００５４】
大域文脈分類部２０は、大域文脈抽出部１０が抽出した大域文脈を所定の観点に基づいてクラスへと分類する。
【００５５】
より具体的に説明すると、大域文脈分類部２０は、予め作成された文脈分類モデルを用いて、大域文脈をクラスに分類する。文脈分類モデルとは、大域文脈分類部２０が分類に用いるモデルである。
【００５６】
大域文脈分類部２０は、様々な観点に基づいて、大域文脈をクラスへ分類することができる。例えば、「話題」という観点に対しては、分類先のクラスとして、例えば、話題１「月面着陸」、話題２「宇宙ステーション建設」、などが考えられる。
【００５７】
また、「感情」という観点に対しては、分類先のクラスとして、例えば、感情１「喜び」、感情２「悲しみ」、感情３「怒り」、などが考えられる。
【００５８】
また、「文書が作成された時期」という観点に対しては、分類先のクラスとして「１月」「２月」「３月」や、「１９世紀」「２０世紀」「２１世紀」などが考えられる。なお、分類に用いる観点は、上述の観点に限られるものではない。
【００５９】
ここで、本実施形態の分類について説明する。
【００６０】
分類とは、一般的に、事物を所定の観点又は性質に基づいて種類（クラス）に分けることである。そのため、本実施形態の大域文脈分類部２０は、大域文脈を、所定の観点を基に設定したクラスのいずれかに割り当てても良い（すなわち、ハードクラスタリング）。例えば、大域文脈を、「月面着陸」という１つの話題クラスに割り当てることができる。
【００６１】
しかし、大域文脈は、１つのクラスに関連するとは限らない。大域文脈は、複数のクラスに関連する場合もある。そこで、本実施形態の大域文脈分類部２０は、大域文脈を、１つのクラスに分類するのではなく、複数のクラスとの関連の度合いを表す情報を作成しても良い。このような情報として、例えば、大域文脈を条件とした場合の各クラスの事後確率が想定できる（すなわち、ソフトクラスタリング）。例えば、大域文脈が「月面着陸」という話題に属する確率が０．７、「宇宙ステーション建設」という話題に属する確率が０．１、などのように推定することも、本実施形態においては分類と呼ぶ。
【００６２】
なお、大域文脈を１つのクラスに割り当てることは、１つのクラスに関連することを表すと言うこともできる。例えば、大域文脈が「月面着陸」という話題に属する確率が１．０とすれば、これはこの大域文脈を「月面着陸」という１つの話題クラスに割り当てたことに相当する。
【００６３】
そこで、以下、大域文脈を１つにクラスに分類することに限らず、複数のクラスへの関連状態を示す情報（例えば、各クラスの事後確率）を作成することを含めて、「分類」と言う。そのため、「大域文脈を所定の観点を基に分類する」は、「大域文脈を所定の観点を基に分類又は所定の観点への関連状態を示す情報を算出する」と言うこともできる。
【００６４】
以下では、分類の一例として、大域文脈分類部２０は、大域文脈を条件とした場合の各クラスの事後確率を算出するとして、説明する。つまり、大域文脈分類部２０は、分類の結果として、大域文脈分類モデルを用いて、大域文脈が与えられたときの各クラスの事後確率を算出する。
【００６５】
大域文脈分類モデルは、例えば、クラス情報が付与された大量のテキストデータを用いて、最大エントロピーモデルやサポートベクトルマシンやニューラルネットワークなどを学習することで作成することができる。
【００６６】
図３は、図２で抽出した大域文脈を、「話題」を分類の観点として分類した結果の一例を示す図である。
【００６７】
図３において、ｔはクラス、ｄは大域文脈である。
【００６８】
例えば、話題１「月面着陸」のクラスの事後確率Ｐ（ｔ＝月面着陸｜ｄ）は、「０．７」である。話題２「宇宙ステーション建設」のクラスの事後確率Ｐ（ｔ＝宇宙ステーション建設｜ｄ）は、「０．１」である。また、話題ｋの事後確率は、「０．０」である。
【００６９】
このように、大域文脈分類部２０は、大域文脈抽出部１０が言語モデル学習データ内で特定した単語（特定単語）に対して、その特定単語に対応する大域文脈の分類の結果（本実施形態では各クラスの事後確率）を計算する。
【００７０】
なお、大域文脈抽出部１０は、言語モデル学習データ内の異なる複数の単語を特定単語とし、それぞれの特定単語について大域文脈の抽出を繰り返し、得られた大域文脈を大域文脈分類部２０に送る。大域文脈分類部２０は受け取ったすべての大域文脈に対してこれまでに説明した分類処理を実行する。
【００７１】
なお、大域文脈抽出部１０は、言語モデル学習データ内のすべての単語を特定単語としても良いし、特定の品詞に所属する単語のみを特定単語としても良いし、あらかじめ定めた語彙セットに含まれる単語を特定単語としても良い。
【００７２】
図１の説明に戻る。
【００７３】
大域文脈分類部２０は、分類の結果を、言語モデル生成部３０に送る。
【００７４】
言語モデル生成部３０は、大域文脈分類部２０の分類の結果を用いて、各々の特定単語の生成確率を計算する言語モデルを生成する。より具体的に説明すると、次のようになる。なお、分類の結果を用いた言語モデルの生成は、分類の結果を用いた学習を基に言語モデルを生成すると言うこともできる。そのため、言語モデル生成部３０は、言語モデル学習部と言うこともできる。
【００７５】
言語モデル生成部３０は、大域文脈分類部２０が算出した各クラスの事後確率を素性として用いて、モデルの学習を行い、単語の生成確率を計算する言語モデルを生成する。
【００７６】
言語モデル生成部３０は、このようなモデルの学習として、各種の手法を用いることができる。例えば、言語モデル生成部３０は、既に説明した最大エントロピーモデルを用いても良い。
【００７７】
このように、本実施形態の言語モデル生成部３０は、大域文脈を基に算出されたクラスの事後確率を用いて、言語モデルを生成する。そのため、言語モデル生成部３０は、大域文脈を基にした言語モデルを生成できる。
【００７８】
例えば、図３に示すように、クラスの話題１「月面着陸」の事後確率が「０．７」と他のクラスより高い場合、言語モデル生成部３０は、「月面着陸」に対して特定単語ｗ「月（ｍｏｏｎ）」の生成確率が大きな言語モデルを生成できる。
【００７９】
図４は、情報処理装置１の動作の一例を示すフローチャートである。
【００８０】
まず、情報処理装置１の大域文脈抽出部１０は、大域文脈として、言語モデル学習データ内の単語（特定単語）の周辺の単語の集合を大域文脈のデータとして抽出する（ステップＳ２１０）。
【００８１】
次に、情報処理装置１の大域文脈分類部２０は、文脈分類モデルを用いて、大域文脈を分類する（ステップＳ２２０）。
【００８２】
情報処理装置１は、言語モデル学習データの全ての単語について処理が終了したか否かを判定する（ステップＳ２３０）。なお、情報処理装置１の処理の対象の単語は、言語モデル学習データに含まれる全ての単語である必要はない。情報処理装置１は、言語モデル学習データの所定の一部の単語を特定単語として用いても良い。この場合、情報処理装置１は、あらかじめ定められた語彙セットに含まれる単語をすべて特定単語として処理したか否かを判定する。
【００８３】
処理が完了していない場合（ステップＳ２３０のＮＯ）、情報処理装置１は、ステップＳ２１０に戻り、次の特定単語について処理する。
【００８４】
処理が完了した場合（ステップＳ２３０でＹＥＳ）、情報処理装置１の言語モデル生成部３０は、大域文脈の分類の結果（例えば、クラスの事後確率）を用いて、各々の特定単語の生成確率を計算する言語モデルを生成する（ステップＳ２４０）。
【００８５】
このように構成された情報処理装置１は、精度良く言語モデルを生成する効果を得ることができる。
【００８６】
その理由は、情報処理装置１は、言語モデル学習データの大域文脈を抽出する。そして、情報処理装置１は、文脈分類モデルを用いて、抽出した大域文脈を分類する。そして、情報処理装置１は、分類の結果を基に、言語モデルを生成する。そのため、情報処理装置１は、大域文脈に基づいた言語モデル生成できるためである。
【００８７】
本効果について、図２の具体例を用いて説明する。「ｓｐａｃｅ」「ＵＳＡ」「ｒｏｃｋｅｔｓ」「ｐｒｏｇｒａｍ」「ｌａｎｄｅｄ」などが特定単語「ｍｏｏｎ」の大域文脈中に出現していることから、本実施形態では、大域文脈分類部２０は「月面着陸」クラスの事後確率として大きな値を算出する。言語モデル生成部３０は、クラスの事後確率を素性として単語の生成確率を計算するモデルを生成する。よって、本実施形態により生成される言語モデルは、図２の大域文脈の後続単語に「ｍｏｏｎ」が出現する確率が高いと計算することができる。
【００８８】
なお、トリガーモデルでは、「ＵＳＡ」「ｈｕｍａｎｓ」は、「ｍｏｏｎ」の生成確率に影響をほとんど与えない。しかし、本実施形態においては両単語は「月面着陸」クラスの事後確率を高めることを通して、「ｍｏｏｎ」の生成確率の向上に貢献しているといえる。
【００８９】
さらに、本実施形態の情報処理装置１は、大域文脈の中に誤りが含まれる場合でも、後続単語の推定精度の劣化を削減できる効果を得ることができる。
【００９０】
その理由は、本実施形態の情報処理装置１は、所定の大きさの大域文脈を抽出する。そのため、大域文脈に含まれる複数の単語のうち少数に誤りが含まれていても、誤りの大域文脈に対する比率は小さな比率となり、大域文脈の分類結果が大きく変化しないためである。
【００９１】
（変形例）
なお、本実施形態に係る情報処理装置１の構成は、これまでの説明に限られるわけでない。情報処理装置１は、各構成を、複数の構成に分けても良い。例えば、情報処理装置１は、大域文脈抽出部１０を、図示しない言語モデル学習データの受信部と、大域文脈を抽出する処理部と、大域文脈を送信する送信部とに分けても良い。
【００９２】
あるいは、情報処理装置１は、１つ又は複数の構成を１つの構成としても良い。例えば、情報処理装置１は、大域文脈抽出部１０と大域文脈分類部２０とを、１つの構成としても良い。さらに、情報処理装置１は、各構成を、図示しないネットワークに接続した別装置で構成してもよい。
【００９３】
さらに、本実施形態の情報処理装置１の構成は、これまでの説明に限らない。情報処理装置１は、ＣＰＵ（Central Processing Unit）と、ＲＯＭ（Read Only Memory）と、ＲＡＭ（Random Access Memory）とを含むコンピュータとして実現しても良い。
【００９４】
図５は、本実施形態の別の構成である情報処理装置２の構成の一例を示すブロック図である。
【００９５】
情報処理装置２は、ＣＰＵ６１０と、ＲＯＭ６２０と、ＲＡＭ６３０と、ＩＯ（Input/Output）６４０と、記憶装置６５０と、入力機器６６０と、表示機器６７０とを含み、コンピュータを構成している。
【００９６】
ＣＰＵ６１０は、ＲＯＭ６２０、又は、ＩＯ６４０を介して記憶装置６５０からプログラムを読み込む。そして、ＣＰＵ６１０は、読み込んだプログラムに基づいて、図１の情報処理装置１の大域文脈抽出部１０と、大域文脈分類部２０と、言語モデル生成部３０としての各機能を実現する。ＣＰＵ６１０は、各機能を実現する際に、ＲＡＭ６３０及び記憶装置６５０を一時記憶として使用する。また、ＣＰＵ６１０は、ＩＯ６４０を介して、入力機器６６０から入力データを受信し、表示機器６７０にデータを表示する。
【００９７】
なお、ＣＰＵ６１０は、コンピュータで読み取り可能にプログラムを記憶した記憶媒体７００が含むプログラムを、図示しない記憶媒体読み取り装置を用いて読み込んでも良い。あるいは、ＣＰＵ６１０は、図示しないネットワークを介して、外部の装置からプログラムを受け取っても良い。
【００９８】
ＲＯＭ６２０は、ＣＰＵ６１０が実行するプログラム、及び、固定的なデータを記憶する。ＲＯＭ６２０は、例えば、Ｐ−ＲＯＭ(Programmable-ROM）やフラッシュＲＯＭである。
【００９９】
ＲＡＭ６３０は、ＣＰＵ６１０が実行するプログラムやデータを一時的に記憶する。ＲＡＭ６３０は、例えば、Ｄ−ＲＡＭ（Dynamic-RAM）である。
【０１００】
ＩＯ６４０は、ＣＰＵ６１０と、記憶装置６５０、入力機器６６０及び表示機器６７０とのデータを仲介する。ＩＯ６４０は、例えば、ＩＯインターフェースカードである。
【０１０１】
記憶装置６５０は、情報処理装置２の長期的に保存するデータやプログラムを保存する。また、記憶装置６５０は、ＣＰＵ６１０の一時記憶装置として動作しても良い。また、記憶装置６５０は、言語モデル学習データなど、図１に示す本実施形態の情報の一部又は全てを記憶しても良い。記憶装置６５０は、例えば、ハードディスク装置、光磁気ディスク装置、ＳＳＤ（Solid State Drive）、又は、ディスクアレイ装置である。
【０１０２】
入力機器６６０は、情報処理装置２の操作者からの入力指示を受信する入力部である。入力機器６６０は、例えば、キーボード、マウス又はタッチパネルである。
【０１０３】
表示機器６７０は、情報処理装置２の表示部である。表示機器６７０は、例えば、液晶ディスプレイである。
【０１０４】
このように構成された情報処理装置２は、情報処理装置１と同様の効果を得ることができる。
【０１０５】
その理由は、情報処理装置２のＣＰＵ６１０が、プログラムに基づいて情報処理装置１と同様の動作を実現できるためである。
【０１０６】
（第２の実施形態）
図６は、本発明における第２の実施形態に係る情報処理装置３の構成の一例を示すブロック図である。
【０１０７】
情報処理装置３は、大域文脈抽出部１０と、大域文脈分類部２０と、言語モデル生成部３０と、文脈分類モデル生成部４０と、言語モデル学習データ記憶部１１０と、文脈分類モデル学習データ記憶部１２０と、文脈分類モデル記憶部１３０と、言語モデル記憶部１４０とを含む。
【０１０８】
大域文脈抽出部１０、大域文脈分類部２０及び言語モデル生成部３０は、第１の実施形態と同様である。そのため、第１の実施形態の同様の説明は、適宜省略する。
【０１０９】
言語モデル学習データ記憶部１１０は、情報処理装置３が言語モデルを生成する処理対象のデータである「言語モデル学習データ」を記憶する。なお、言語モデル学習データは、既に説明したとおり、単語列でもよく、文字列でもよく、特にデータの形式を限る必要はない。
【０１１０】
なお、言語モデル学習データ記憶部１１０が記憶する言語モデル学習データの内容は、特に制限はない。例えば、言語モデル学習データは、新聞記事、インターネット上の記事や議事録、音声や映像コンテンツ、書き起こしのテキストでも良い。また、言語モデル学習データは、これらの１次データに限らず、１次データの加工データである２次データでも良い。さらに、本実施形態の言語モデル学習データは、これのデータの中から、言語モデルの対象に近いと想定される選択データでも良い。
【０１１１】
大域文脈抽出部１０は、言語モデル学習データ記憶部１１０から、言語モデル学習データを受け取る。大域文脈抽出部１０のその他の動作は、第１の実施形態と同様のため、詳細な説明は、省略する。
【０１１２】
文脈分類モデル学習データ記憶部１２０は、予め、文脈分類モデルを学習するための「文脈分類モデル学習データ」を保持する。文脈分類モデル学習データのデータ形式は、特に限りはない。文脈分類モデル学習データとして、クラスの情報が付与された複数の文書（単語の集合）を用いることが出来る。
【０１１３】
図７は、文脈分類モデル学習データの例である。図７（Ａ）は、「話題」を分類の観点としたときの文脈分類モデル学習データである。話題１「月面着陸」、話題２「宇宙ステーション建設」などの各話題の下に示す四角の枠は文書（単語の集合）を表す。
【０１１４】
このように、文脈分類モデル学習データは、複数の文書に対してその文書が属する話題クラスの情報を付与することで作成される。
【０１１５】
文脈分類モデル生成部４０は、文脈分類モデル学習データ記憶部１２０に記憶された文脈分類モデル学習データを基に、大域文脈分類部２０が用いる文脈分類モデルを生成する。なお、文脈分類モデル生成部４０は、文脈分類モデル学習データを基に文脈分類モデルを生成するため、文脈分類モデル学習部と言うこともできる。
【０１１６】
文脈分類モデル生成部４０は、文脈分類モデルとして、任意の単語集合が与えられたときの各クラスの条件付き事後確率を計算するモデルを生成する。このようなモデルとして、例えば、最大エントロピーモデルやサポートベクトルマシンやニューラルネットワークを用いることができる。また、モデルの素性としては、単語集合に含まれる単語や品詞、Ｎグラムなどの出現数を用いることが出来る。
【０１１７】
また、文脈分類モデル学習データとして、図７（Ｂ）に示すような、「感情」を分類の観点とした学習データを用意すれば、文脈分類モデル生成部４０は、大域文脈を「感情」の観点で分類する文脈分類モデルを生成することができる。なお、文脈分類モデル学習データとして、学習データに対して付与するクラスの観点としては、これまでに説明した「話題」「感情」「時期」に限るものではない。
【０１１８】
なお、文脈モデル学習データとして、クラスの情報が付与されていない複数の文書（単語の集合）を用いることも出来る。文脈分類モデル生成部４０がクラス情報が与えられていない単語の集合である文脈モデル学習データを受け取った場合、文脈分類モデル生成部４０は、次のように動作すれば良い。
【０１１９】
まず、文脈分類モデル生成部４０は、文脈分類モデル学習データに含まれる単語又は文書をクラスタリングし、複数のクラスタにまとめる（教師なしクラスタリング）。文脈分類モデル生成部４０が使用するクラスタリングの手法には、特に制限はない。例えば、文脈分類モデル生成部４０は、クラスタリングの手法として、凝集型クラスタリング（agglomerative clustering）やｋ−平均法（k-means method）を用いればよい。このようにして分類されたそれぞれのクラスタをクラスとみなすことで、文脈分類モデル生成部４０は文脈分類モデルを学習することが出来る。
【０１２０】
図８は、文脈分類モデル生成部４０のクラスタリングの動作を示す模式図である。文脈分類モデル生成部４０は、例えば、クラス情報がない文脈分類モデル学習データを、凝集集型クラスタリングを用いて、複数のクラス（クラスタ１、クラスタ２、・・・、クラスタｌ）に分ける。
【０１２１】
このように教師なしクラスタリングによって文脈分類モデル学習データにクラス情報を付与する場合、分類の観点は人手によって与えられることはなく、分類の観点は教師なしクラスタリングによって自動的に生成されたものとなる。
【０１２２】
文脈分類モデル生成部４０は、文脈分類モデル学習データとして、言語モデル学習データとは異なるデータを用いて良い。例えば、文脈分類モデル生成部４０は、異なるドメインの言語モデルを生成する場合に、言語モデル学習データとしてドメインにあわせた新規のデータを用いて、文脈分類モデル学習データとして既存のデータを用いて良い。文脈分類モデル学習データに文書群にクラス情報を付与する場合には、言語モデルの適用ドメインが変わるたびにそのようなクラス情報を人手で付与することはコストが高い。このような場合、言語モデル学習データのみを新規に用意して本実施形態の手順を実行することができる。なお、文脈分類モデル学習データと言語モデル学習データとが共通であっても構わない。
【０１２３】
図６の説明に戻る。
【０１２４】
文脈分類モデル生成部４０は、生成した文脈分類モデルを文脈分類モデル記憶部１３０に送り、保存する。
【０１２５】
文脈分類モデル記憶部１３０は、文脈分類モデル生成部４０が生成した文脈分類モデルを記憶する。
【０１２６】
大域文脈分類部２０は、文脈分類モデル記憶部１３０に記憶された文脈分類モデルに基づいて、第１の実施形態と同様に大域文脈を分類する。
【０１２７】
なお、情報処理装置３は、言語モデル学習データを処理するたびに、文脈分類モデルを生成する必要はない。情報処理装置３の大域文脈分類部２０は、異なる言語モデル学習データに、同じ文脈分類モデルを適用しても良い。
【０１２８】
また、情報処理装置３は、必要に応じて、文脈分類モデル生成部４０に、文脈分類モデルを生成させても良い。例えば、情報処理装置３が、図示しないネットワークを経由して、文脈分類モデル学習データを受信した場合、情報処理装置３は、文脈分類モデル生成部４０に文脈分類モデルを生成させても良い。
【０１２９】
大域文脈分類部２０は、分類の結果を言語モデル生成部３０に送る。
【０１３０】
言語モデル生成部３０は、分類の結果を基に、言語モデルを生成する。言語モデル生成部３０は、生成した言語モデルを言語モデル記憶部１４０に記憶させる以外、第１の実施形態と同様のため、詳細な説明を省略する。
【０１３１】
言語モデル記憶部１４０は、言語モデル生成部３０が生成した言語モデルを記憶する。
【０１３２】
このように構成された本実施形態の情報処理装置３は、第１の実施形態の効果に加え、より精度の良い言語モデルを生成できる効果を得ることができる。
【０１３３】
その理由は、本実施形態の情報処理装置３の文脈分類モデル生成部４０は、文脈分類モデル学習データを基に文脈分類モデルを生成する。そして、大域文脈分類部２０は、生成された文脈分類モデルを用いる。そのため、情報処理装置３は、適切な文脈分類モデルを用いて処理できるためである。
【０１３４】
特に、図７に示すように、文脈分類モデル学習データとして、クラス情報が適切に付与された文書（単語の集合）を用いれば、文脈分類モデルの精度が高まるため、分類結果を素性として学習する言語モデルの精度も高くなる。
【０１３５】
なお、本実施形態の情報処理装置３は、図５に示す情報処理装置２と同様に、ＣＰＵ６１０と、ＲＯＭ６２０と、ＲＡＭ６３０とを含むコンピュータで実現されても良い。
【０１３６】
その際、記憶装置６５０は、本実施形態の各記憶部として動作しても良い。
【０１３７】
図９は、記憶装置６５０が、本実施形態の言語モデル学習データ記憶部１１０と、文脈分類モデル学習データ記憶部１２０と、文脈分類モデル記憶部１３０と、言語モデル記憶部１４０として動作する場合に記憶する情報を示す。
【０１３８】
（第３の実施形態）
図１０は、第３の実施形態に係る情報処理装置４の構成の一例を示すブロック図である。
【０１３９】
情報処理装置４は、第２の実施形態の情報処理装置３の構成に加え、トリガー素性計算部５０を含み、言語モデル生成部３０の換わりに言語モデル生成部３４を含む点が異なる。
【０１４０】
情報処理装置４の他の構成は、情報処理装置３と同じため、本実施形態に特有の構成及び動作について説明し、第２の実施形態と同様の説明は、省略する。なお、本実施形態の情報処理装置４は、図５に示す情報処理装置２と同様に、ＣＰＵ６１０と、ＲＯＭ６２０と、ＲＡＭ６３０とを含むコンピュータで実現されても良い。
【０１４１】
トリガー素性計算部５０は、大域文脈抽出部１０から大域文脈を受け取り、大域文脈中の単語から特定単語へのトリガー対を抽出する。図２に示す例を用いると、トリガー素性計算部５０は、例えば、「ｓｐａｃｅ−−＞ｍｏｏｎ」や「ＵＳＡ−−＞ｍｏｏｎ」のトリガー対を抽出する。
【０１４２】
そして、トリガー素性計算部５０は、抽出したトリガー対の素性関数を計算する。
【０１４３】
ここで、単語ａから単語ｂへのトリガー対を「ａ−−＞ｂ」とした場合、単語ａから単語ｂのトリガー対の素性関数は、次の式で求めることができる。
2014073206.tif 000008
【０１４４】
トリガー素性計算部５０は、算出したトリガー対の素性関数を言語モデル生成部３４に送る。
【０１４５】
言語モデル生成部３４は、大域文脈分類部２０からの分類の結果に加え、トリガー素性計算部５０からの素性関数を用いて言語モデルを生成する。
【０１４６】
このように構成された第３の実施形態に係る情報処理装置４は、第２の実施形態の情報処理装置３の効果に加え、単語の生成確率の精度をさらに高める効果を得ることができる。
【０１４７】
その理由は、次のとおりである。
【０１４８】
トリガー対の素性関数は、トリガー対の２単語間の関係（例えば、共起の強さ）を示す。
【０１４９】
そのため、情報処理装置４の言語モデル生成部３４は、大域文脈の分類結果に加えて、共起しやすい特定の２単語間の関係も考慮して単語の生成確率を予測する言語モデルを生成するためである。
【０１５０】
（第４の実施形態）
図１１は、第４の実施形態に係る情報処理装置５の構成の一例を示すブロック図である。
【０１５１】
情報処理装置５は、第２の実施形態の情報処理装置３の構成に加え、Ｎグラム素性計算部６０を含み、言語モデル生成部３０の代わりに言語モデル生成部３５を含む点が異なる。
【０１５２】
情報処理装置５の他の構成は、情報処理装置３と同じため、本実施形態に特有の構成及び動作について説明し、第２の実施形態と同様の説明は、省略する。なお、本実施形態の情報処理装置５は、図５に示す情報処理装置２と同様に、ＣＰＵ６１０と、ＲＯＭ６２０と、ＲＡＭ６３０とを含むコンピュータで実現されても良い。
【０１５３】
Ｎグラム素性計算部６０は、大域文脈抽出部１０から大域文脈を受け取り、特定単語の直前の数単語をＮグラムとして抽出する。
【０１５４】
そして、Ｎグラム素性計算部６０は、抽出した単語列に対する素性関数を計算する。
【０１５５】
ここで、単語をｗｉとし、その直前のＮ−１個の単語列をｗｉ−Ｎ＋１ｉ−１とした場合、Ｎグラムの素性関数は、次の式で求めることができる。
2014073206.tif 000009
【０１５６】
Ｎグラム素性計算部６０は、算出したＮグラムの素性関数を言語モデル生成部３５に送る。
【０１５７】
言語モデル生成部３５は、大域文脈分類部２０からの分類の結果に加え、Ｎグラム素性計算部６０からの素性関数を用いて言語モデルを生成する。
【０１５８】
このように構成された第４の実施形態に係る情報処理装置５は、第２の実施形態の情報処理装置３の効果に加え、単語の生成確率の精度をさらに高める効果を得ることができる。
【０１５９】
その理由は、次のとおりである。
【０１６０】
Ｎグラムの素性関数は、局所的な単語の連鎖の制約を考慮した関数である。
【０１６１】
そのため、情報処理装置５の言語モデル生成部３５は、大域文脈の分類結果に加えて、局所的な単語の制約を考慮して単語の生成確率を予測する言語モデルを生成するためである。
【０１６２】
（第５の実施形態）
図１２は、第５の実施形態に係る情報処理装置６の構成の一例を示すブロック図である。
【０１６３】
情報処理装置６は、第３の実施形態の情報処理装置４の構成に加え、第３の実施形態と同様のトリガー素性計算部５０と第４の実施形態と同様のＮグラム素性計算部６０とを含み、言語モデル生成部３４の代わりに言語モデル生成部３６を含む点が異なる。
【０１６４】
情報処理装置６の言語モデル生成部３６を除いた他の構成は、情報処理装置４又は情報処理装置５と同じため、本実施形態に特有の構成及び動作について説明し、第３の実施形態及び第４の実施形態と同様の説明は、省略する。なお、本実施形態の情報処理装置６は、図５に示す情報処理装置２と同様に、ＣＰＵ６１０と、ＲＯＭ６２０と、ＲＡＭ６３０とを含むコンピュータで実現されても良い。
【０１６５】
言語モデル生成部３６は、大域文脈の分類と、トリガー対の素性関数と、Ｎグラムの素性関数を用いて、言語モデルを生成する。
【０１６６】
このように構成された第５の実施形態の情報処理装置６は、第３の実施形態の情報処理装置４と第４の実施形態の情報処理装置５との効果を実現できる。
【０１６７】
その理由は、第５の実施形態の情報処理装置６の言語モデル生成部３６は、トリガー対の素性関数と、Ｎグラムの素性関数とを用いて言語モデルを生成するためである。
【０１６８】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１６９】
この出願は、２０１２年１１月７日に出願された日本出願特願２０１２−２４５００３を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【０１７０】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１７１】
（付記１）
データに含まれる単語、文字又は単語列を特定の単語として特定し、前記特定単語から少なくとも所定の範囲に含まれる単語の集合を大域文脈として抽出する大域文脈抽出手段と、
前記大域文脈を所定の観点を基に分類し、分類の結果を出力する文脈分類手段と、
前記分類の結果を用いて、前記特定の単語の生成確率を算出する言語モデルを生成する言語モデル生成手段と
を含む情報処理装置。
【０１７２】
（付記２）
所定の言語データを基に前記単語の集合と前記所定の観点に基づくクラスとの関係を示す文脈分類モデルを生成する文脈分類モデル生成手段を含み、
前記文脈分類手段は、前記文脈分類モデルを用いて前記大域文脈を分類する
付記１に記載の情報処理装置。
【０１７３】
（付記３）
前記文脈分類モデル生成手段は、
クラスの情報が付与された複数の単語の集合を学習データとして、単語の集合が与えられたときのクラスの事後確率を計算するモデルを生成する
付記２に記載の情報処理装置。
【０１７４】
（付記４）
前記言語モデル生成手段は、
前記クラスの事後確率を素性関数とした最大エントロピーモデルを用いる
付記２または３に記載の情報処理装置。
【０１７５】
（付記５）
前記大域文脈に含まれる単語と前記特定単語との間のトリガー対の素性関数を計算するトリガー素性計算手段を含み、
前記言語モデル生成手段は、前記分類の結果と、前記トリガー対の素性関数とを用いて言語モデルを生成する
付記１乃至４のいずれか１項に記載の情報処理装置。
【０１７６】
（付記６）
前記特定単語の直前のＮグラムの素性関数を計算する素性関数計算手段を含み、
前記言語モデル生成手段は、前記分類の結果と、前記Ｎグラムの素性関数とを用いて言語モデルを生成する
付記１乃至５のいずれか１項に記載の情報処理装置。
【０１７７】
（付記７）
前記大域文脈に含まれる単語と前記特定単語との間のトリガー対の素性関数を計算するトリガー素性計算手段と、
前記特定単語の直前のＮグラムの素性関数を計算する素性関数計算手段とを含み、
前記言語モデル生成手段は、前記分類の結果と、前記トリガー対の素性関数と、前記Ｎグラムの素性関数とを用いて言語モデルを生成する
付記１乃至６のいずれか１項に記載の情報処理装置。
【０１７８】
（付記８）
データに含まれる単語、文字又は単語列を特定の単語として特定し、前記特定単語から少なくとも所定の範囲に含まれる単語の集合を大域文脈として抽出し、
前記大域文脈を所定の観点を基に分類し、分類の結果を出力し、
前記分類の結果を用いて、前記特定の単語の生成確率を算出する言語モデルを生成する
情報処理方法。
【０１７９】
（付記９）
所定の言語データを基に前記単語の集合と前記所定の観点に基づくクラスとの関係を示す文脈分類モデルを生成し、
前記文脈分類モデルを用いて前記大域文脈を分類する
付記８に記載の情報処理方法。
【０１８０】
（付記１０）
クラスの情報が付与された複数の単語の集合を学習データとして、単語の集合が与えられたときのクラスの事後確率を計算するモデルを生成する
付記９に記載の情報処理方法。
【０１８１】
（付記１１）
前記クラスの事後確率を素性関数とした最大エントロピーモデルを用いる
付記９または１０に記載の情報処理方法。
【０１８２】
（付記１２）
前記大域文脈に含まれる単語と前記特定単語との間のトリガー対の素性関数を計算し、
前記分類の結果と、前記トリガー対の素性関数とを用いて言語モデルを生成する
付記８乃至１１のいずれか１項に記載の情報処理方法。
【０１８３】
（付記１３）
前記特定単語の直前のＮグラムの素性関数を計算し、
前記分類の結果と、前記Ｎグラムの素性関数とを用いて言語モデルを生成する
付記８乃至１２のいずれか１項に記載の情報処理方法。
【０１８４】
（付記１４）
前記大域文脈に含まれる単語と前記特定単語との間のトリガー対の素性関数を計算し、
前記特定単語の直前のＮグラムの素性関数を計算し、
前記分類の結果と、前記トリガー対の素性関数と、前記Ｎグラムの素性関数とを用いて言語モデルを生成する
付記８乃至１３のいずれか１項に記載の情報処理方法。
【０１８５】
（付記１５）
データに含まれる単語、文字又は単語列を特定の単語として特定し、前記特定単語から少なくとも所定の範囲に含まれる単語の集合を大域文脈として抽出する処理と、
前記大域文脈を所定の観点を基に分類し、分類の結果を出力する処理と、
前記分類の結果を用いて、前記特定の単語の生成確率を算出する言語モデルを生成する処理と
をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【０１８６】
（付記１６）
所定の言語データを基に前記単語の集合と前記所定の観点に基づくクラスとの関係を示す文脈分類モデルを生成する処理と、
前記文脈分類モデルを用いて前記大域文脈を分類する処理と
をコンピュータに実行させる付記１５に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【０１８７】
（付記１７）
クラスの情報が付与された複数の単語の集合を学習データとして、単語の集合が与えられたときのクラスの事後確率を計算する処理
をコンピュータに実行させる付記１６に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【０１８８】
（付記１８）
前記クラスの事後確率を素性関数とした最大エントロピーモデルを用いる
付記１５または１６に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【０１８９】
（付記１９）
前記大域文脈に含まれる単語と前記特定単語との間のトリガー対の素性関数を計算する処理と、
前記分類の結果と、前記トリガー対の素性関数とを用いて言語モデルを生成する処理と
をコンピュータに実行させる付記１５乃至１８のいずれか１項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【０１９０】
（付記２０）
前記特定単語の直前のＮグラムの素性関数を計算する処理と、
前記分類の結果と、前記Ｎグラムの素性関数とを用いて言語モデルを生成する処理と
をコンピュータに実行させる付記１５乃至１９のいずれか１項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【０１９１】
（付記２１）
前記大域文脈に含まれる単語と前記特定単語との間のトリガー対の素性関数を計算する処理と、
前記特定単語の直前のＮグラムの素性関数を計算する処理と、
前記分類の結果と、前記トリガー対の素性関数と、前記Ｎグラムの素性関数とを用いて言語モデルを生成する処理と
をコンピュータに実行させる付記１５乃至２０のいずれか１項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【産業上の利用可能性】
【０１９２】
本発明は、統計的言語モデルを用いた様々な応用に適用できる。【０１９３】
例えば、本発明は、音声認識、文字認識、スペルチェックの分野で用いられる統計的言語モデルの生成の精度を向上できる。
【符号の説明】
【０１９４】
１  情報処理装置
２  情報処理装置
３  情報処理装置
４  情報処理装置
５  情報処理装置
６  情報処理装置
９  情報処理装置
１０  大域文脈抽出部
２０  大域文脈分類部
３０  言語モデル生成部
３４  言語モデル生成部
３５  言語モデル生成部
３６  言語モデル生成部
４０  文脈分類モデル生成部
５０  トリガー素性計算部
６０  Ｎグラム素性計算部
１１０  言語モデル学習データ記憶部
１２０  文脈分類モデル学習データ記憶部
１３０  文脈分類モデル記憶部
１４０  言語モデル記憶部
６１０  ＣＰＵ
６２０  ＲＯＭ
６３０  ＲＡＭ
６４０  ＩＯ
６５０  記憶装置
６６０  入力機器
６７０  表示機器
７００  記憶媒体
９１０  大域文脈抽出部
９２０  トリガー素性計算部
９３０  言語モデル生成部
９４０  言語モデル学習データ記憶部
９５０  言語モデル記憶部
【図１】
2014073206.tif 000010
【図２】
2014073206.tif 000011
【図３】
2014073206.tif 000012
【図４】
2014073206.tif 000013
【図５】
2014073206.tif 000014
【図６】
2014073206.tif 000015
【図７】
2014073206.tif 000016
【図８】
2014073206.tif 000017
【図９】
2014073206.tif 000018
【図１０】
2014073206.tif 000019
【図１１】
2014073206.tif 000020
【図１２】
2014073206.tif 000021
【図１３】
2014073206.tif 000022
【図１４】
2014073206.tif 000023
【手続補正書】
【提出日】平成27年4月20日(2015.4.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データに含まれる単語、文字又は単語列を特定の単語として特定し、前記特定単語から少なくとも所定の範囲に含まれる単語の集合を大域文脈として抽出する大域文脈抽出手段と、
前記大域文脈を所定の観点を基に分類し、分類の結果を出力する文脈分類手段と、
前記分類の結果を用いて、前記特定の単語の生成確率を算出する言語モデルを生成する言語モデル生成手段と
を含む情報処理装置。
【請求項２】
所定の言語データを基に前記単語の集合と前記所定の観点に基づくクラスとの関係を示す文脈分類モデルを生成する文脈分類モデル生成手段を含み、
前記文脈分類手段は、前記文脈分類モデルを用いて前記大域文脈を分類する
請求項１に記載の情報処理装置。
【請求項３】
前記文脈分類モデル生成手段は、
クラスの情報が付与された複数の単語の集合を学習データとして、単語の集合が与えられたときのクラスの事後確率を計算するモデルを生成する
請求項２に記載の情報処理装置。
【請求項４】
前記言語モデル生成手段は、
前記クラスの事後確率を素性関数とした最大エントロピーモデルを用いる
請求項２または３に記載の情報処理装置。
【請求項５】
前記大域文脈に含まれる単語と前記特定単語との間のトリガー対の素性関数を計算するトリガー素性計算手段を含み、
前記言語モデル生成手段は、前記分類の結果と、前記トリガー対の素性関数とを用いて言語モデルを生成する
請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記特定単語の直前のＮグラムの素性関数を計算する素性関数計算手段を含み、
前記言語モデル生成手段は、前記分類の結果と、前記Ｎグラムの素性関数とを用いて言語モデルを生成する
請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記大域文脈に含まれる単語と前記特定単語との間のトリガー対の素性関数を計算するトリガー素性計算手段と、
前記特定単語の直前のＮグラムの素性関数を計算する素性関数計算手段とを含み、
前記言語モデル生成手段は、前記分類の結果と、前記トリガー対の素性関数と、前記Ｎグラムの素性関数とを用いて言語モデルを生成する
請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
データに含まれる単語、文字又は単語列を特定の単語として特定し、前記特定単語から少なくとも所定の範囲に含まれる単語の集合を大域文脈として抽出し、
前記大域文脈を所定の観点を基に分類し、分類の結果を出力し、
前記分類の結果を用いて、前記特定の単語の生成確率を算出する言語モデルを生成する
情報処理方法。
【請求項９】
所定の言語データを基に前記単語の集合と前記所定の観点に基づくクラスとの関係を示す文脈分類モデルを生成し、
前記文脈分類モデルを用いて前記大域文脈を分類する
請求項８に記載の情報処理方法。
【請求項１０】
データに含まれる単語、文字又は単語列を特定の単語として特定し、前記特定単語から少なくとも所定の範囲に含まれる単語の集合を大域文脈として抽出する処理と、
前記大域文脈を所定の観点を基に分類し、分類の結果を出力する処理と、
前記分類の結果を用いて、前記特定の単語の生成確率を算出する言語モデルを生成する処理と
をコンピュータに実行させるプログラム。
【国際調査報告】
2014073206.tif 000024
2014073206.tif 000025
2014073206.tif 000026
2014073206.tif 000027