(57)【特許請求の範囲】
【請求項１】
文書データを確率的にクラスタリングするための複数のトピック各々を表すパラメータを含む学習済みのトピックモデルから、処理対象のトピックを表すパラメータを抽出する対象パラメータ抽出ステップと、
前記処理対象のトピックを表すパラメータに基づいて、前記処理対象のトピックを示す特徴単語を複数抽出する特徴単語抽出ステップと、
前記特徴単語各々を、前記処理対象のトピックに対する複数の下層トピック各々に対応させて分類し、各下層トピックとの対応が既知の手掛かり語として作成する手掛かり語作成ステップと、
前記学習済みのトピックモデルを用いて、複数の文書データから前記対象のトピックを表す文書データ集合を抽出する対象文書データ抽出ステップと、
抽出された前記処理対象のトピックを表すパラメータ、作成された前記手掛かり語、及び抽出された前記対象のトピックを表す文書データ集合に基づいて、前記処理対象のトピックを上層トピックとし、かつ前記複数の下層トピック各々を表すパラメータを含むトピックモデルを、半教師あり学習により学習する半教師あり学習ステップと、
を含むトピックモデル学習方法。
【請求項２】
前記半教師あり学習ステップは、
前記手掛かり語を含む複数の教師あり文書データ各々が表す下層トピックの尤もらしさを示し、かつ前記教師あり文書データ各々に含まれる前記手掛かり語の割合に応じた教師あり事後確率を、前記教師あり文書データ毎に付与する教師あり事後確率付与ステップと、
前記複数の下層トピック各々を表すパラメータに基づいて、前記複数の教師あり文書データ各々が表す下層トピックの尤もらしさを示す第１教師なし事後確率を、前記教師あり文書データ毎に推定する第１教師なし事後確率推定ステップと、
前記教師あり事後確率と前記第１教師なし事後確率とを重みを用いて補間して求めた重み付き事後確率を、前記教師あり文書データ毎に付与する重み付き事後確率付与ステップと、
前記複数の下層トピック各々を表すパラメータに基づいて、前記手掛かり語を含まない複数の教師なし文書データ各々が表す下層トピックの尤もらしさを示す第２教師なし事後確率を、前記教師なし文書データ毎に推定する第２教師なし事後確率推定ステップと、
予め定めたトピック数、前記重み付き事後確率、前記第２教師なし事後確率、及び前記処理対象のトピックを表すパラメータに基づいて、前記複数の下層トピック各々を表すパラメータを更新する更新ステップと、を含む
請求項１記載のトピックモデル学習方法。
【請求項３】
前記更新ステップにおいて前記複数の下層トピック各々を表すパラメータが収束したと判定されるまで、前記第１教師なし事後確率推定ステップ、前記重み付き事後確率付与ステップ、前記第２教師なし事後確率推定ステップ、及び前記更新ステップを繰り返すと共に、前記重み付き事後確率付与ステップにおける前記重みを、繰り返し回数に応じて、前記第１教師なし事後確率に対して前記教師あり事後確率の重みが小さくなるように定めた請求項２記載のトピックモデル学習方法。
【請求項４】
前記更新ステップにおいて、前記複数の下層トピック各々を表すパラメータの初期値として前記処理対象のトピックを表すパラメータを用いると共に、前記処理対象のトピックを表すパラメータを事前確率としたＭＡＰ推定を行う請求項２または請求項３記載のトピックモデル学習方法。
【請求項５】
文書データを確率的にクラスタリングするための複数のトピック各々を表すパラメータを含む学習済みのトピックモデルから、処理対象のトピックを表すパラメータを抽出する対象パラメータ抽出手段と、
前記処理対象のトピックを表すパラメータに基づいて、前記処理対象のトピックを示す特徴単語を抽出する特徴単語抽出手段と、
前記特徴単語各々を、前記処理対象のトピックに対する複数の下層トピック各々に対応させて分類し、各下層トピックとの対応が既知の手掛かり語として作成された手掛かり語を受け付ける手掛かり語受付手段と、
前記学習済みのトピックモデルを用いて、複数の文書データから前記対象のトピックを表す文書データ集合を抽出する対象文書データ抽出手段と、
抽出された前記処理対象のトピックを表すパラメータ、受け付けた前記手掛かり語、及び抽出された前記対象のトピックを表す文書データ集合に基づいて、前記処理対象のトピックを上層トピックとし、かつ前記複数の下層トピック各々を表すパラメータを含むトピックモデルを、半教師あり学習により学習する半教師あり学習手段と、
を含むトピックモデル学習装置。
【請求項６】
コンピュータに、請求項１〜請求項４のいずれか１項記載のトピックモデル学習方法の各ステップを実行させるためのトピックモデル学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トピックモデル学習方法、装置、及びプログラムに係り、特に、文書集合に含まれる単語を特徴量とし、１文書をデータ点として確率的なクラスタリングを行うトピックモデルであって、トピックが階層構造を有する階層的トピックモデルを学習するトピックモデル学習方法、装置、及びプログラムに関する。
【背景技術】
【０００２】
従来、文書集合に含まれる単語を特徴量とし、１文書をデータ点として確率的なクラスタリングを行うトピックモデルの学習方法が提案されている。また、トピックが階層構造を有する階層的トピックモデルも存在する。階層的トピックモデルは、トピックの粒度（各トピックを表す各クラスに属する文書数）を調整し易いという特徴がある。また、教師あり学習で用いる手掛かり語について、同じ手掛かり語が複数のトピックに属する場合、単純な１階層のトピックモデルではこれを表現することができないが、２階層以上の階層的トピックモデルであれば、１階層目では複数の意味を持つ手掛かり語を除外し、２階層目以降で用いることができるという特徴もある。
【０００３】
トピックモデルは、１階層か階層的かに関わらず、教師なし学習により構築することができるというメリットがある一方で、人間の直感と合わないモデリングがなされる場合があり、これを修正したいという課題がある。
【０００４】
そこで、トピックモデルの各トピックにおける特徴語をユーザに提示し、各特徴語が各トピックの特徴語としてふさわしいか否かを判定し、ギブスサンプリングの隠れ変数割り当てをやり直すことで、トピックモデルに反映するインタラクティブトピックモデルが提案されている（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Yuening Hu, Jordan Boyd-Graber, Brianna Satinoff, "Interactive Topic Modeling", ACL-HLT2011, 2011.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、非特許文献１に記載の手法では、高速なＥＭアルゴリズムでは解けない複雑なモデルであるため、ギブスサンプリングというサンプリング手法に基づいていており、処理負荷が増大する、という問題がある。
【０００７】
また、特に、トピックが階層構造を持つ場合には、全てを同じ階層に展開して半教師あり学習を行うことも不可能ではないが、トピックの粒度に偏りがあるため、適切な学習ができない、という問題がある。
【０００８】
本発明は、上記の事情を鑑みてなされたもので、処理負荷を増大させることなく、人間の直感に合致した階層的トピックモデルを学習することができるトピックモデル学習方法、装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明のトピックモデル学習方法は、文書データを確率的にクラスタリングするための複数のトピック各々を表すパラメータを含む学習済みのトピックモデルから、処理対象のトピックを表すパラメータを抽出する対象パラメータ抽出ステップと、前記処理対象のトピックを表すパラメータに基づいて、前記処理対象のトピックを示す特徴単語を複数抽出する特徴単語抽出ステップと、前記特徴単語各々を、前記処理対象のトピックに対する複数の下層トピック各々に対応させて分類し、各下層トピックとの対応が既知の手掛かり語として作成する手掛かり語作成ステップと、前記学習済みのトピックモデルを用いて、複数の文書データから前記対象のトピックを表す文書データ集合を抽出する対象文書データ抽出ステップと、抽出された前記処理対象のトピックを表すパラメータ、作成された前記手掛かり語、及び抽出された前記対象のトピックを表す文書データ集合に基づいて、前記処理対象のトピックを上層トピックとし、かつ前記複数の下層トピック各々を表すパラメータを含むトピックモデルを、半教師あり学習により学習する半教師あり学習ステップと、を含む方法である。
【００１０】
本発明のトピックモデル学習方法によれば、対象パラメータ抽出ステップで、文書データを確率的にクラスタリングするための複数のトピック各々を表すパラメータを含む学習済みのトピックモデルから、処理対象のトピックを表すパラメータを抽出する。そして、特徴単語抽出ステップで、処理対象のトピックを表すパラメータに基づいて、処理対象のトピックを示す特徴単語を複数抽出し、手掛かり語作成ステップで、特徴単語各々を、処理対象のトピックに対する複数の下層トピック各々に対応させて分類し、各下層トピックとの対応が既知の手掛かり語として作成する。また、対象文書データ抽出ステップで、学習済みのトピックモデルを用いて、複数の文書データから対象のトピックを表す文書データ集合を抽出する。そして、半教師あり学習ステップで、抽出された処理対象のトピックを表すパラメータ、作成された手掛かり語、及び抽出された対象のトピックを表す文書データ集合に基づいて、処理対象のトピックを上層トピックとし、かつ複数の下層トピック各々を表すパラメータを含むトピックモデルを、半教師あり学習により学習する。
【００１１】
このように、学習済みのトピックモデルを用い、上層トピックとなる処理対象のトピックのパラメータ、各下層トピックとの対応が既知の手掛かり語、対象のトピックを表す文書データ集合に基づいて、処理対象のトピックを上層トピックとし、かつ複数の下層トピック各々を表すパラメータを含むトピックモデルを半教師あり学習により学習するため、処理負荷を増大させることなく、人間の直感に合致した階層的トピックモデルを学習することができる。
【００１２】
また、前記半教師あり学習ステップは、前記手掛かり語を含む複数の教師あり文書データ各々が表す下層トピックの尤もらしさを示し、かつ前記教師あり文書データ各々に含まれる前記手掛かり語の割合に応じた教師あり事後確率を、前記教師あり文書データ毎に付与する教師あり事後確率付与ステップと、前記複数の下層トピック各々を表すパラメータに基づいて、前記複数の教師あり文書データ各々が表す下層トピックの尤もらしさを示す第１教師なし事後確率を、前記教師あり文書データ毎に推定する第１教師なし事後確率推定ステップと、前記教師あり事後確率と前記第１教師なし事後確率とを重みを用いて補間して求めた重み付き事後確率を、前記教師あり文書データ毎に付与する重み付き事後確率付与ステップと、前記複数の下層トピック各々を表すパラメータに基づいて、前記手掛かり語を含まない複数の教師なし文書データ各々が表す下層トピックの尤もらしさを示す第２教師なし事後確率を、前記教師なし文書データ毎に推定する第２教師なし事後確率推定ステップと、予め定めたトピック数、前記重み付き事後確率、前記第２教師なし事後確率、及び前記処理対象のトピックを表すパラメータに基づいて、前記複数の下層トピック各々を表すパラメータを更新する更新ステップと、を含むことができる。これにより、少ない教師ありデータを用いた場合であっても、処理負荷を増大させることなく、人間の直感に合致したトピックモデルを学習することができる。
【００１３】
また、前記更新ステップにおいて前記複数の下層トピック各々を表すパラメータが収束したと判定されるまで、前記第１教師なし事後確率推定ステップ、前記重み付き事後確率付与ステップ、前記第２教師なし事後確率推定ステップ、及び前記更新ステップを繰り返すと共に、前記重み付き事後確率付与ステップにおける前記重みを、繰り返し回数に応じて、前記第１教師なし事後確率に対して前記教師あり事後確率の重みが小さくなるように定めることができる。これにより、教師あり事後確率付与ステップで得られた教師あり事後確率が誤っている場合でも修正が効き、より精度良くトピックモデルを学習することができる。
【００１４】
また、前記更新ステップにおいて、前記複数の下層トピック各々を表すパラメータの初期値として前記処理対象のトピックを表すパラメータを用いると共に、前記処理対象のトピックを表すパラメータを事前確率としたＭＡＰ推定を行うことができる。これにより、下層トピックのモデリングが、上層トピックから大きく外れることがなくなる。
【００１５】
また、本発明のトピックモデル学習装置は、文書データを確率的にクラスタリングするための複数のトピック各々を表すパラメータを含む学習済みのトピックモデルから、処理対象のトピックを表すパラメータを抽出する対象パラメータ抽出手段と、前記処理対象のトピックを表すパラメータに基づいて、前記処理対象のトピックを示す特徴単語を抽出する特徴単語抽出手段と、前記特徴単語各々を、前記処理対象のトピックに対する複数の下層トピック各々に対応させて分類し、各下層トピックとの対応が既知の手掛かり語として作成された手掛かり語を受け付ける手掛かり語受付手段と、前記学習済みのトピックモデルを用いて、複数の文書データから前記対象のトピックを表す文書データ集合を抽出する対象文書データ抽出手段と、抽出された前記処理対象のトピックを表すパラメータ、作成された前記手掛かり語、及び抽出された前記対象のトピックを表す文書データ集合に基づいて、前記処理対象のトピックを上層トピックとし、かつ前記複数の下層トピック各々を表すパラメータを含むトピックモデルを、半教師あり学習により学習する半教師あり学習手段と、を含んで構成することができる。
【００１６】
また、本発明のトピックモデル学習プログラムは、コンピュータに、上記のトピックモデル学習方法の各ステップを実行させるためのプログラムである。
【発明の効果】
【００１７】
以上説明したように、本発明のトピックモデル学習方法、装置、及びプログラムによれば、学習済みのトピックモデルを用い、上層トピックとなる処理対象のトピックのパラメータ、各下層トピックとの対応が既知の手掛かり語、対象のトピックを表す文書データ集合に基づいて、処理対象のトピックを上層トピックとし、かつ複数の下層トピック各々を表すパラメータを含むトピックモデルを半教師あり学習により学習するため、処理負荷を増大させることなく、人間の直感に合致した階層的トピックモデルを学習することができる、という効果が得られる。
【図面の簡単な説明】
【００１８】
【図１】本実施の形態に係るトピックモデル学習装置の構成を示す機能ブロック図である。
【図２】半教師あり学習部の構成を示す機能ブロック図である。
【図３】本実施の形態に係るトピックモデル学習装置におけるトピックモデル学習処理ルーチンの内容を示すフローチャートである。
【図４】半教師あり学習処理ルーチンの内容を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、図面を参照して本発明の実施の形態を詳細に説明する。本実施の形態では、ＥＭ（Expectation-Maximization）アルゴリズムを用いてトピックモデルを学習する場合について説明する。
【００２０】
本実施の形態に係るトピックモデル学習装置１０は、既に学習されたトピック数Ｋのトピックモデルを入力とし、このトピックモデルに含まれる任意のトピックを上層とする下層のトピックを表すトピックモデルパラメータを出力する。このトピックモデル学習装置１０は、ＣＰＵと、ＲＡＭと、後述するトピックモデル学習処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成することができる。このコンピュータは、機能的には、図１に示すように、対象コンポーネント抽出部５０と、特徴単語抽出部５２と、手掛かり語受付部５４と、事後確率計算部５６と、対象文書データ抽出部５８と、半教師あり学習部６０と、出力部２８とを含んだ構成で表すことができる。
【００２１】
対象コンポーネント抽出部５０は、既に学習されたトピック数Ｋのトピックモデル６２を入力とし、トピックモデル６２から対象となるトピック番号ｋのトピックモデルコンポーネント（パラメータ）（以下、「対象コンポーネント」ともいう）を抽出する。
【００２２】
ここで、トピックモデル６２は、文書集合に含まれる単語（ｖ）を特徴量とし、１文書をデータ点（ｄ）として確率的なクラスタリングを行うためのモデルであり、トピックモデルパラメータを用いて、下記（１）式で表されるモデルである。
【００２３】
【数１】
0005503633.tif 000002
【００２４】
（１）式において、トピックモデルパラメータは、ｐ(ｚ)（１×Ｋmatrix）及びｐ(ｖ｜ｚ)（Ｋ×Ｖmatrix）である。ｚはトピックを表す確率変数、ｐ(ｚ)は確率変数ｚに対する事前確率、ｐ(ｖ｜ｚ)は確率変数ｚの下での多項分布による確率、ｎｄｖは文書データｄ中に単語ｖが出現した回数である。ここでは、対象コンポーネントとして、ｐ(ｖ｜ｋ)（１×Ｖmatrix）を抽出する。抽出した対象コンポーネントを、後述する半教師あり学習部６０で用いる初期トピックモデルパラメータ４０の１つとして記憶する。
【００２５】
特徴単語抽出部５２は、初期トピックモデルパラメータ４０の１つとして記憶した対象コンポーネントｐ(ｖ｜ｋ)に基づいて、トピックｋの特徴単語を抽出し、特徴単語リスト６４を作成する。例えば、適当なスコア関数（例えば、ｐ(ｖ｜ｋ)／ｐ(ｖ)）を用いて、対象コンポーネントに含まれる単語をソートし、スコアの上位Ｎ単語を特徴単語として抽出し、抽出された単語を特徴単語リスト６４とすることができる。
【００２６】
手掛かり語受付部５４は、作成された特徴単語リストに基づいて人手により作成された手掛かり語データベース（ＤＢ）３２を受け付ける。手掛かり語ＤＢ３２は、手掛かり語のクラス数をＣとして、人手により特徴単語リストの各特徴単語を各クラスに分類したものである。各クラスは１つのトピックを表す。すなわち、手掛かり語ＤＢ３２には、トピックｋ（上層トピック）の分割後のトピック（下層トピック）との対応が既知の単語として、手掛かり語（Ｓ）＝｛Ｓ１，Ｓ２，・・・，Ｓｃ，・・・ＳＣ｝が定められている。Ｓｃは各クラスに含まれる手掛かり語集合Ｓｃ＝｛ｗ１，ｗ２，・・・，ｗｓｃ｝であり、ｓｃはクラスｃに含まれる手掛かり語の数である。また、各ｗは特徴単語リストから選択された単語である。すなわち、クラスｃが表すトピックの手掛かり語集合として、Ｓｃが定められていることになる。
【００２７】
事後確率計算部５６は、複数の文書データを含む文書集合３０を入力として受け付ける。文書集合３０は、例えば、各文書データに形態素解析等の処理を施し、各文書データに含まれる単語毎の出現回数をまとめたテーブル（Ｄ×Ｖ行列）とすることができる。ここで、Ｄは文書集合３０に含まれる文書データの総数、Ｖは文書集合３０に出現する単語の種類数である。テーブル中の各要素は、文書データｄ中に単語ｖが出現した回数ｎｄｖで表される。
【００２８】
また、事後確率計算部５６は、文書集合３０に含まれる各文書データｄ、及びトピックモデル６２を入力とし、文書データｄが表すトピックの尤もらしさを示す教師なし事後確率６６を計算する。具体的には、上記の入力を元に、下記（２）式により、文書データｄ毎にＫ個のトピックに対して教師なし事後確率｛ｐ_ｕ(ｚ＝１｜ｄ），・・・，ｐ_ｕ(ｚ＝Ｋ｜ｄ)｝を計算する。
【００２９】
【数２】
0005503633.tif 000003
【００３０】
対象文書データ抽出部５８は、事後確率計算部５６で計算された教師なし事後確率６６に基づいて、文書集合３０から対象トピックｋを表す文書データｄｋを抽出する。具体的には、教師なし事後確率ｐ_ｕ(ｋ｜ｄ)が予め定めた閾値を超える文書データｄを、対象トピックｋを表す文書データｄｋとして抽出する。閾値は、例えば、０．５以上とすることができる。また、対象文書データ抽出部５８は、抽出された各文書データｄｋに含まれる単語毎の出現回数をまとめたテーブル（Ｄｋ×Ｖ行列）で表したトピックｋを表す文書データｄｋ集合６８を出力する。ここで、Ｄｋは文書データｄｋ集合６８に含まれる文書データの総数、Ｖは文書集合３０に出現する単語の種類数である。
【００３１】
半教師あり学習部６０は、図２に示すように、文書データ分割部１２と、教師あり事後確率付与部１８と、事後確率推定部２０ａと、事後確率推定部２０ｂと、重み付き事後確率付与部２２と、パラメータ更新部２４と、収束判定部２６とを含んだ構成で表すことができる。
【００３２】
文書データ分割部１２は、手掛かり語ＤＢ３２に定められた手掛かり語を参照して、トピックｋを表す文書データｄｋ集合６８に含まれる文書データｄｋ各々を、手掛かり語を含む文書データと手掛かり語を含まない文書データとに分割する。
【００３３】
文書データ分割部１２は、具体的には、文書データｄｋ集合６８を表すテーブルから対象となる文書データｄｋの行を抽出し、この１×Ｖのベクトルを文書データｄｋの表現形式とする。このベクトル内の要素のうち、手掛かり語と一致する単語ｖの出現回数ｎｄｋｖを表す要素が１以上の場合には、その文書データを手掛かり語を含む文書データ３４として出力する。一方、手掛かり語と一致する単語ｖの出現回数ｎｄｋｖを表す要素が０の場合には、その文書データを手掛かり語を含まない文書データ３６として出力する。
【００３４】
教師あり事後確率付与部１８は、手掛かり語を含む文書データ３４を入力とし、手掛かり語ＤＢ３２を参照して、手掛かり語を含む文書データ３４の各々に対して、教師あり事後確率４２を付与する。手掛かり語を１つ以上含む文書データ中の手掛かり語に対応するトピックの割合に応じて、アドホックにトピック事後確率を設定し、これを文書データが表すトピックの尤もらしさを示す教師あり事後確率４２とする。具体的には、教師あり事後確率４２は、文書データ３４に含まれる各クラスの手掛かり語の割合に応じて決定される。
【００３５】
例えば、手掛かり語が
手掛かり語＝｛ＮＴＴ，フレッツ｝∈通信、｛野球｝∈スポーツ
のように定められていた場合には、文書データに含まれる単語に応じて、以下のように教師あり事後確率ｐ_ｐ(ｚ｜ｄｋ)が決定される。なお、「通信」及び「スポーツ」はトピックを表す。
ｐ_ｐ(通信｜文書データ１)＝1.0
ｉｆ（文書データ１∋｛ＮＴＴ，フレッツ｝）
ｐ_ｐ(通信｜文書データ２)＝0.5、ｐ(スポーツ｜文書データ２)＝0.5
ｉｆ（文書データ２∋｛ＮＴＴ，野球｝）
【００３６】
なお、ここではトピックを「通信」及び「スポーツ」等と表記しているが、実際にはトピックは確率変数ｚで表されるにすぎない。また、ｚは、後述する教師なし事後確率の推定で用いる確率変数ｚと共通であるので、教師あり事後確率と教師なし事後確率との対応をとることが可能である。
【００３７】
教師あり事後確率付与部１８は、手掛かり語を含む文書データ３４の文書データｄｋ毎にＺ個のトピックに対して上記のような教師あり事後確率｛ｐ_ｐ(ｚ＝１｜ｄｋ），・・・，ｐ_ｐ(ｚ＝Ｚ｜ｄｋ)｝を付与する。
【００３８】
事後確率推定部２０ａは、手掛かり語を含む文書データ３４の各文書データｄｋ、トピックモデルパラメータ３８または初期トピックモデルパラメータ４０を入力とし、教師なし事後確率４４ａを計算する。ＥＭアルゴリズムのＥステップに相当する処理である。トピックモデルパラメータは、事後確率計算部５６で説明したのと同様に、下記（３）式で表されるモデルのパラメータｐ(ｚ)（１×Ｚmatrix）及びｐ(ｖ｜ｚ)（Ｚ×Ｖmatrix）である。なお、ｎｄｋｖは文書データｄｋ中に単語ｖが出現した回数である。
【００３９】
【数３】
0005503633.tif 000004
【００４０】
また、初期トピックモデルパラメータ４０は、ｐ(ｚ)及びｐ(ｖ｜ｚ)の初期値である。ｐ(ｚ)の初期値については、例えば、ｐ(ｚ)の各値をランダムに生成し、Σｚｐ(ｚ)＝１と正規化を行った値を用いることができる。また、パラメータの分散が極端に大きくなるのを防ぐため、各々のパラメータについてＮ回ランダム生成したものの平均をとるなどしてもよい。ｐ(ｖ｜ｚ)の初期値については、対象コンポーネント抽出部５０で抽出されたｐ(ｖ｜ｋ)とする。すなわち、トピックモデルの各コンポーネントにおけるパラメータの初期値（混合多項分布の場合は１多項分布）を、１つ上層のトピックにおけるトピックモデルパラメータとし、混合比ｐ(ｚ)のみをランダム初期値とする。
【００４１】
事後確率推定部２０ａは、具体的には、上記の入力を元に、下記（４）式により、手掛かり語を含む文書データ３４の文書データｄｋ毎にＺ個のトピックに対して教師なし事後確率｛ｐ_ｕ(ｚ＝１｜ｄｋ），・・・，ｐ_ｕ(ｚ＝Ｚ｜ｄｋ)｝を推定する。
【００４２】
【数４】
0005503633.tif 000005
【００４３】
事後確率推定部２０ｂは、事後確率推定部２０ａとは、入力として手掛かり語を含まない文書データ３６の各文書データｄｋを用い、教師なし事後確率４４ｂを推定する点が異なるだけであるので、詳細な説明を省略する。
【００４４】
重み付き事後確率付与部２２は、教師あり事後確率４２、教師なし事後確率４４ａ、及び重み調整テーブル４６に定められた重みを入力として、後述するパラメータ更新部２４で利用するトピック事後確率を、教師あり事後確率４４ｂと教師なし事後確率４４ａとを重みを用いて線形補間して求め、重み付き事後確率４８として各文書データｄｋに付与する。重み付き事後確率４８を求める際に用いる重みは、重み調整テーブル４６から取得する。重み調整テーブル４６には、例えば、（ｗ(１)＝1.0，ｗ(２)＝0.5，ｗ(３)＝0.0）のように、ＥＭアルゴリズムの繰り返し処理において、徐々に教師あり事後確率４２の重みを下げるように、重みが定められている。
【００４５】
重み付き事後確率付与部２２は、具体的には、教師あり事後確率ｐ_ｐ(ｚ｜ｄｋ)、教師なし事後確率ｐ_ｕ(ｚ｜ｄｋ)、現在のイテレーション数ｉ（ｉ回目の繰り返し処理を示す）、及び重み調整テーブル４６から参照される重みｗ(ｉ)を用いて、下記（５）式により線形補間を行って、手掛かり語を含む文書データ３４の文書データｄｋ毎にＺ個のトピックに対して重み付き事後確率｛ｐ(ｚ＝１｜ｄｋ），・・・，ｐ(ｚ＝Ｚ｜ｄｋ)｝を付与する。
【００４６】
ｐ(ｚ｜ｄｋ)＝ｗ(ｉ)×ｐ_ｐ(ｚ｜ｄｋ)＋(１−ｗ(ｉ))×ｐ_ｕ(ｚ｜ｄｋ)    （５）
【００４７】
重み調整テーブル４６に、例えば上記のように（ｗ(１)＝１，ｗ(２)＝0.5，ｗ(３)＝0.0）と重みが定められている場合には、
１stite. ｐ(ｚ｜ｄｋ)＝1.0×ｐ_ｐ(ｚ｜ｄｋ)＋0.0×ｐ_ｕ(ｚ｜ｄｋ)
２ndite. ｐ(ｚ｜ｄｋ)＝0.5×ｐ_ｐ(ｚ｜ｄｋ)＋0.5×ｐ_ｕ(ｚ｜ｄｋ)
３rdite. ｐ(ｚ｜ｄｋ)＝0.0×ｐ_ｐ(ｚ｜ｄｋ)＋1.0×ｐ_ｕ(ｚ｜ｄｋ)
となる。なお、１stiteはイテレーション数が１、２nditeはイテレーション数が２、３rditeはイテレーション数が３であることを示す。
【００４８】
パラメータ更新部２４は、手掛かり語を含まない文書データ３６集合についての教師なし事後確率４４ｂ、手掛かり語を含む文書データ３４集合についての重み付き事後確率４８、及び初期トピックモデルパラメータ４０を入力として、ＥＭアルゴリズムのＭステップに相当する処理を実行する。具体的には、上記入力を元に、ＭＡＰ（Maximum a posteriori）推定を用いて、下記（６）式及び（７）式により、トピックモデルパラメータ３８を更新する。なお、（６）式及び（７）式では、簡単のため教師なし事後確率４４ｂについてもｐ(ｚ|ｄｋ)として表記している。文書データｄｋが手掛かり語を含まない文書データ３６の場合には、（６）式及び（７）式内のｐ(ｚ|ｄｋ)は、ｐ_ｕ(ｚ|ｄｋ)と読み替える。なお、（６）式内のｐ(ｖ｜ｋ)は初期トピックモデルパラメータ４０の１つ（対象コンポーネント）である。すなわち、１つ上層のトピックの確率分布を事前確率としたＭＡＰ推定を行う。
【００４９】
【数５】
0005503633.tif 000006
【００５０】
収束判定部２６は、ＥＭアルゴリズムの繰り返し処理について、必要なイテレーション数を繰り返したか否かにより、パラメータが収束したか否かを判定する。必要なイテレーション数を繰り返していれば、パラメータが収束したと判定する。また、Ｅステップで付加的に計算可能な文書データの尤度に基づいて、パラメータが収束したか否かを判定するようにしてもよい。
【００５１】
出力部２８は、収束判定部２６によりパラメータが収束したと判定されたときのトピックモデルパラメータ３８を出力する。
【００５２】
次に、図３を参照して、本実施の形態のトピックモデル学習装置１０により実行されるトピックモデル学習処理ルーチンについて説明する。
【００５３】
ステップ１００で、既に学習されたトピック数Ｋのトピックモデル６２を取得し、次に、ステップ１０２で、トピックモデル６２からトピックｋの対象コンポーネントとしてｐ(ｖ｜ｋ)を抽出し、初期トピックモデルパラメータ４０の１つとして記憶する。
【００５４】
次に、ステップ１０４で、適当なスコア関数（例えば、ｐ(ｖ｜ｋ)／ｐ(ｖ)）を用いて、対象コンポーネントに含まれる単語をソートし、スコアの上位Ｎ単語を特徴単語として抽出し、抽出された単語を特徴単語リスト６４として作成する。
【００５５】
次に、ステップ１０６で、作成された特徴単語リストに基づいて人手により作成された手掛かり語ＤＢ３２を受け付ける。
【００５６】
次に、ステップ１０８で、文書集合３０を取得して、上記ステップ１００で取得したトピックモデル６２を用いて、（２）式により、文書データｄ毎にＫ個のトピックに対して教師なし事後確率｛ｐ_ｕ(ｚ＝１｜ｄ），・・・，ｐ_ｕ(ｚ＝Ｋ｜ｄ)｝を計算する。
【００５７】
次に、ステップ１１０で、上記ステップ１０８で計算された教師なし事後確率ｐ_ｕ(ｋ｜ｄ)が予め定めた閾値（例えば、０．５）を超える文書データｄを、対象トピックｋを表す文書データｄｋとして抽出し、各文書データｄｋに含まれる単語毎の出現回数をまとめたテーブル（Ｄｋ×Ｖ行列）で表したトピックｋを表す文書データｄｋ集合６８として出力する。
【００５８】
次に、ステップ１１２で、図４に示す半教師あり学習処理ルーチンを実行する。
【００５９】
ステップ１１２０で、文書データｄｋ集合６８を取得し、手掛かり語ＤＢ３２に定められた手掛かり語を参照して、文書データｄｋ集合６８に含まれる文書データｄｋ各々を、手掛かり語を含む文書データ３４と手掛かり語を含まない文書データ３６とに分割する。
【００６０】
次に、ステップ１１２２で、手掛かり語ＤＢ３２を参照して、手掛かり語を含む文書データ３４の文書データｄｋ毎に、文書データ３４に含まれる各クラスの手掛かり語の割合に応じて、Ｚ個のトピックに対して教師あり事後確率｛ｐ_ｐ(ｚ＝１｜ｄｋ），・・・，ｐ_ｐ(ｚ＝Ｚ｜ｄｋ)｝を付与する。
【００６１】
次に、ステップ１１２４で、インテレーション数ｉに０を設定し、次に、ステップ１１２６で、手掛かり語を含む文書データ３４の各文書データｄｋ、及び初期トピックモデルパラメータ４０を用いて、（４）式により、手掛かり語を含む文書データ３４の文書データｄ毎にＺ個のトピックに対して教師なし事後確率｛ｐ_ｕ(ｚ＝１｜ｄｋ），・・・，ｐ_ｕ(ｚ＝Ｚ｜ｄｋ)｝を推定する。
【００６２】
次に、ステップ１１２８で、重み調整テーブル４６から重みｗ(ｉ)を取得して、上記ステップ１１２２で付与された教師あり事後確率ｐ_ｐ(ｚ｜ｄｋ)と、上記ステップ１１２６で推定された教師なし事後確率ｐ_ｕ(ｚ｜ｄｋ)とを、（５）式により線形補間して、手掛かり語を含む文書データ３４の文書データｄｋ毎にＺ個のトピックに対して重み付き事後確率｛ｐ(ｚ＝１｜ｄｋ），・・・，ｐ(ｚ＝Ｚ｜ｄｋ)｝を付与する。
【００６３】
次に、ステップ１１３０で、手掛かり語を含まない文書データ３６の各文書データｄｋを用いて、上記ステップ１１２６と同様に、教師なし事後確率｛ｐ_ｕ(ｚ＝１｜ｄｋ），・・・，ｐ_ｕ(ｚ＝Ｚ｜ｄｋ)｝を推定する。
【００６４】
次に、ステップ１１３２で、上記ステップ１１３０で推定した教師なし事後確率４４ｂ、上記ステップ１１２８で付与した重み付き事後確率４８、及び初期トピックモデルパラメータ４０（対象コンポーネントｐ(ｖ｜ｋ)）に基づいて、（６）式及び（７）式により、トピックモデルパラメータ３８を更新する。
【００６５】
次に、ステップ１１３４で、イテレーション数ｉが予め定めた必要な繰り返し数となったか否かを判定する。イテレーション数ｉがまだ必要な繰り返し数に到達していない場合には、パラメータが収束していないと判定して、ステップ１１３６へ移行して、ｉを１インクリメントして、ステップ１１２６へ戻り、ステップ１１２６〜１１３２の処理を繰り返す。繰り返し処理におけるステップ１１２６及び１１３０で教師なし事後確率を推定する際には、初期トピックモデルパラメータ４０ではなく、前処理のステップ１１３２で更新されたトピックモデルパラメータ３８を用いる。
【００６６】
上記ステップ１１３４で、イテレーション数ｉが必要な繰り返し数に到達したと判定された場合には、パラメータが収束したと判定して、リターンする。
【００６７】
次に、ステップ１１４へ移行し、上記ステップ１１３２で更新されたトピックモデルパラメータ３８、すなわち現在のトピックモデルパラメータ３８を出力して、トピックモデル学習処理を終了する。
【００６８】
以上説明したように、本実施の形態のトピックモデル学習装置によれば、学習済みのトピックモデルにおける対象のトピックについて、対象トピックのパラメータ（対象コンポーネント）、各下層トピックの手掛かり語、対象トピックを表す文書データ集合に基づいて、対象トピックを上層トピックとし、かつ複数の下層トピック各々を表すパラメータを含むトピックモデルを半教師あり学習により学習するため、処理負荷を増大させることなく、人間の直感に合致した階層的トピックモデルを学習することができる。
【００６９】
また、対象トピックのパラメータ（混合多項分布の場合は１多項分布）を１つ上層のトピックにおけるトピックモデルパラメータとし、混合比のみをランダム初期値とし、１つ上層のトピックの確率分布を事前確率としたＭＡＰ推定を行うことで、下層トピックのモデリングが、上層トピックから大きく外れることがなくなる。
【００７０】
また、文書集合の一部である手掛かり語を含む文書データに付与された教師あり事後確率と教師なし事後確率とに基づいて、重みを用いた線形補間により重み付け事後確率を求めることで、トピックモデルのパラメータ更新に用いるトピック事後確率に対してバイアスをかけることができ、任意の学習方向を定めることができる。すなわち、少ない教師ありデータを用いた場合であっても、人間の直感に合致したトピックモデルを学習することができる。また、上記実施の形態のように、例えばＥＭアルゴリズムのような高速なアルゴリズムを学習方法として用いることができ、モデルが複雑化することもないため、処理負荷が増大することもない。
【００７１】
また、繰り返し処理において、重み付き事後確率を求める際に、繰り返し回数に応じて教師あり事後確率に対する重みを小さくすることで、実際の教師あり事後確率が誤っている場合でも修正が効き、より精度良くトピックモデルを学習することができる。
【００７２】
また、半教師あり学習部において、下層トピックモデルのトピック数Ｚは事前に設定する必要があるが、基本的には手掛かり語のクラス数Ｃよりも多めに与えることが効果的である。これは手掛かり語のクラスをどれだけ網羅的に設計したとしても、文書集合の中には、いずれのクラスにも属さない文書や単語が現れる可能性は高く、それらの文書を無理に既存のトピックに当てはめようとしたところで歪みが生じてしまうためである。具体的には、その他のトピックに押されて既存のトピックが縮小してしまう現象等が見られる。
【００７３】
なお、本発明は、上記実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００７４】
また、本願明細書中において、プログラムが予めインストールされている実施の形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。また、本発明のトピックモデル学習装置を、上記処理を実現するための半導体集積回路等のハードウエアにより構成してもよい。
【符号の説明】
【００７５】
１０   トピックモデル学習装置
１２   文書データ分割部
１８   事後確率付与部
２０ａ、２０ｂ       事後確率推定部
２４   パラメータ更新部
２６   収束判定部
２８   出力部
５０   対象コンポーネント抽出部
５２   特徴単語抽出部
５４   手掛かり語受付部
５６   事後確率計算部
５８   対象文書データ抽出部
６０   半教師あり学習部
【図１】
0005503633.tif 000007
【図２】
0005503633.tif 000008
【図３】
0005503633.tif 000009
【図４】
0005503633.tif 000010