(57)【要約】【課題】  データ群のトピックを分析する際に、予めトピックが分かっている教師データを部分的に与えることで、計算量を削減し、かつ、狙ったトピックについての抽出も可能にする。【解決手段】  本発明は、構成要素が離散値のベクトルとして表現された解析対象データの集合、ユーザのWeb閲覧履歴、ユーザにレコメンデーションしたい対象データ、のいずれかを入力する入力手段と、解析対象データに教師データとして与えられるトピック内容に対応するラベルを付与するラベル付与手段と、予めトピックが既知であり、ラベルが付与されている教師データが与えられると、前記解析対象データと該教師データに対して、所定の確率モデルを適用してパラメータを求める演算手段と、を有する。【選択図】  図１
2013246586.tif 000002
【特許請求の範囲】
【請求項１】
データの構成要素が離散値のベクトルとして表現されたデータに含まれる潜在的な主題（以下、「トピック」と記す）を抽出するデータ群のトピック分析装置であって、
構成要素が離散値のベクトルとして表現された解析対象データの集合、ユーザのWeb閲覧履歴、ユーザにレコメンデーションしたい対象データ、のいずれかを入力する入力手段と、
前記解析対象データに教師データとして与えられるトピック内容に対応するラベルを付与するラベル付与手段と、
予めトピックが既知であり、ラベルが付与されている教師データが与えられると、前記解析対象データと該教師データに対して、所定の確率モデルを適用してパラメータを求める演算手段と、
を有することを特徴とするデータ群のトピック分析装置。
【請求項２】
前記演算手段は、
各データにおいてトピック分布が確率的に生成されており、データ内の構成要素はそのデータのトピック分布及び各トピックに内在する構成要素分布に基づいて確率的に生成されるという構成要素の生成の第１の確率モデルに基づいて、前記解析対象データ及び前記教師データを観測データとした尤度関数が最大となるようなパラメータを計算する手段を含む
請求項１記載のデータ群のトピック分析装置。
【請求項３】
前記演算手段は、
前記解析対象データ及び前記教師データの集合内でトピック分布に関連性が認められる場合に、各データのトピック分布はラベルの有無やその情報だけではなく、そのデータとトピック分布に関連性が認められる全データのトピック分布に影響を受けて生成されるとする第２の確率モデルに基づいて、該確率モデルの尤度関数を大きくするパラメータを求める手段を含む
請求項１記載のデータ群のトピック分析装置。
【請求項４】
前記解析対象データに対し、データをキーとし、該データのトピックの正解を値とする辞書を用い、該辞書に存在するデータに対しては該データのトピックの正解をラベルとして与えることで前記教師データを生成し、記憶手段に格納する第１の教師データ生成手段を更に有し、
前記演算手段は、
前記記憶手段から前記教師データを取得する
請求項１乃至３のいずれか１項に記載のデータ群のトピック分析装置。
【請求項５】
前記教師データとして、ラベルのトピックに対応した構成要素を含むデータ群とし、記憶手段に格納する第２の教師データ生成手段を更に有し、
前記演算手段は、
前記記憶手段から前記教師データを取得する手段を含む
請求項１乃至３のいずれか１項に記載のデータ群のトピック分析装置。
【請求項６】
前記演算手段は、
前記データに対し、データをキーとし、該データのトピックの正解を値とする辞書を用い、該辞書に存在するデータに対しては該データのトピックの正解をラベルとして与えることで前記教師データを生成し、記憶手段に格納する、または、ラベルのトピックに対応した構成要素を含むデータ群を教師データとし、該記憶手段に格納する教師データ生成手段と、
前記Web履歴データの構成要素をWebサイトの特徴を表す離散値ベクトルとし、該Web履歴データのトピック分布を、Webサイトを閲覧したユーザの意図についての分布とみなし、前記記憶手段から前記教師データを取得し、前記第１の確率モデルを用いて前記Web閲覧履歴からユーザの意図についての分布を求め、該分布と前記ユーザにレコメンデーションしたい対象データのトピック分布との距離を求め、所定の閾値以下の距離のユーザを抽出する手段を含む
請求項２記載のデータ群のトピック分析装置。
【請求項７】
前記演算手段は、
前記データに対し、データをキーとし、該データのトピックの正解を値とする辞書を用い、該辞書に存在するデータに対しては該データのトピックの正解をラベルとして与えることで前記教師データを生成し、記憶手段に格納する、または、ラベルのトピックに対応した構成要素を含むデータ群を教師データとし、該記憶手段に格納する教師データ生成手段と、
前記Web履歴データの構成要素をWebサイトの特徴を表す離散値ベクトルとし、該Web履歴データのトピック分布を、Webサイトを閲覧したユーザの意図についての分布とみなし、前記記憶手段から前記教師データを取得し、前記第２の確率モデルを用いて前記Web閲覧履歴からユーザの意図についての分布を求め、該分布と前記ユーザにレコメンデーションしたい対象データのトピック分布との距離を求め、所定の閾値以下の距離のユーザを抽出する手段を含む
請求項３記載のデータ群のトピック分析装置。
【請求項８】
前記演算手段は、
前記教師データを利用せずに、前記Web履歴データについて、各ユーザのトピックの語彙分布を求め記憶手段に格納するする手段と、
前記記憶手段の語彙分布が所定の閾値以上の語彙の集合をドキュメントと見做して、トピック番号を与えたデータを教師データとする手段と、
前記ユーザにレコメンデーションしたい対象データと前記教師データを用いて、前記第１の確率モデルを用いて該対象データのトピック分布を求め、前記各ユーザのトピックの語彙分布と該トピック分布の距離を用いて、該ユーザにレコメンデーションしたい対象データの対象ユーザを決定する手段と、
を有する請求項２記載のデータ群のトピック分析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ群のトピック分析装置に係り、特に、文書データなど、データの構成要素が離散値のベクトルとして表現することが可能である場合に、各データに含まれる潜在的なトピックを、教師データを利用することで少ない計算量で分析し、かつ狙ったトピックについても抽出するためのデータ群のトピック分析装置に関する。
【背景技術】
【０００２】
文書データ（ドキュメント）を分類する際の手法を大きく分けると、教師あり学習と教師なし学習の２つに大別される。教師あり学習では、事前に分類ラベルが与えられたドキュメント（教師データ）を用いて、機械学習によりモデルの学習を行い、学習されたモデルによってドキュメントの分類を行う手法である。
【０００３】
教師あり学習によるドキュメント分類としては、ナイーブベイズ（例えば、非特許文献１参照）やサポートベクターマシン（例えば、非特許文献２参照）を用いた方法が挙げられる。
【０００４】
一方で、教師なし学習として、ドキュメントに含まれる複数の潜在的な主題（トピック）を分析するトピックモデルが、テキストマイニングの分野に留まらず画像認識、Web上でのユーザ行動分析といった様々な場面で活用されている（例えば、非特許文献３，４，５参照）。トピックモデルにおいては、ドキュメント内の単語が生成される過程を確率モデルとして表現し、その確率分布を推定することで、教師データを必要とする事無く、複数の潜在的なトピックの分布を分析することが可能である。トピックモデルでは推定アルゴリズムとしてギブスサンプリング（例えば、非特許文献６参照）、変分ベイズ法（例えば、非特許文献７参照）、期待値伝播法（例えば、非特許文献８参照）などといった手法が提案されている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】A. McCallum et al. "A Comparison of Event Models for Naive Bayes Text Classification," In Proc. AAAI Workshop on Learning for Text Categorization, 1998.
【非特許文献２】T. Joachims "Text Categorization with Support Vector Machines: Learning with Many Relevant Features," In Proc. ECML, 1998.
【非特許文献３】D. Ramage et al. "Partially Labeled Topic Models for. Interpretable Text Mining," In Proc. KDD, 2011.
【非特許文献４】T. Hospedales et al. "A Markov Clustering Topic Model for Mining Behaviour in Video," In Proc. ICCV, 2009.
【非特許文献５】A. Ahmed et al. "Scalable Distributed Inference of Dynamic User Interests for Behavioral Targeting," In Proc. KDD, 2011.
【非特許文献６】D. M. Blei et al. "Latent Dirichlet Allocation," Journal of Machine Learning Research, 2003.
【非特許文献７】T. L. Griffiths et al. "Finding Scientific Topics," In Proc. NAS, 2004.
【非特許文献８】T. Minka et al. "Expectation-Propagation for the Generative Aspect Model," In Proc. UAI, 2002.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、教師あり学習によるドキュメント分類のナイーブベイズやサポートベクターマシンを用いた方法は、教師データを準備するコストがかかってしまうことや、分類ラベルとして用意した内容でしかドキュメントを分類できないといった問題がある。
【０００７】
また、上記従来の教師なし学習における、トピックモデルの推定アルゴリズムのいずれの手法でも分析対象となる総単語数が大きくなるほど、その計算量も大きくなる。そのため、対象ドキュメント数やそのサイズが大きくなると、実用的な時間では分析をおこなえない恐れがある（文献「Y. Wang et al. "PLDA : Parallel Latent Dirichlet Allocation for Large-scale Applications," In Proc. AAIM, 2009.」参照）。特に、レコメンデーションを目的とした、Web上でのユーザ行動分析においては、対象データが大規模であるため、従来のアルゴリズムではリアルタイムなレコメンデーションが行えないといった課題がある。
【０００８】
本発明は、上記の点に鑑みなされたもので、データ群のトピックを分析する際に、予めトピックが分かっている教師データを部分的に与えることで、計算量を削減し、かつ、狙ったトピックについての抽出も可能とするデータ群のトピック分析装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するため、本発明（請求項１）は、データの構成要素が離散値のベクトルとして表現されたデータに含まれる潜在的な主題（以下、「トピック」と記す）を抽出するデータ群のトピック分析装置であって、
構成要素が離散値のベクトルとして表現された解析対象データの集合、ユーザのWeb閲覧履歴、ユーザにレコメンデーションしたい対象データ、のいずれかを入力する入力手段と、
前記解析対象データに教師データとして与えられるトピック内容に対応するラベルを付与するラベル付与手段と、
予めトピックが既知であり、ラベルが付与されている教師データが与えられると、前記解析対象データと該教師データに対して、所定の確率モデルを適用してパラメータを求める演算手段と、を有する。
【００１０】
また、本発明（請求項２）は、前記演算手段において、各データのトピック分布が確率的に生成されており、データ内の構成要素はそのデータのトピック分布及び各トピックに内在する構成要素分布に基づいて確率的に生成されるという構成要素の生成の第１の確率モデルに基づいて、前記解析対象データ及び前記教師データを観測データとした尤度関数が最大となるようなパラメータを計算する手段を含む。
【００１１】
また、本発明（請求項３）は、前記演算手段において、前記解析対象データ及び前記教師データの集合内でトピック分布に関連性が認められる場合に、各データのトピック分布はラベルの有無やその情報だけではなく、そのデータとトピック分布に関連性が認められる全データのトピック分布に影響を受けて生成されるとする第２の確率モデルに基づいて、該確率モデルの尤度関数を大きくするパラメータを求める手段を含む。
【００１２】
また、本発明（請求項４）は、前記解析対象データに対し、データをキーとし、該データのトピックの正解を値とする辞書を用い、該辞書に存在するデータに対しては該データのトピックの正解をラベルとして与えることで前記教師データを生成し、記憶手段に格納する第１の教師データ生成手段を更に有し、
前記演算手段は、
前記記憶手段から前記教師データを取得する。
【００１３】
また、本発明（請求項５）は、前記教師データとして、ラベルのトピックに対応した構成要素を含むデータ群とし、記憶手段に格納する第２の教師データ生成手段を更に有し、
前記演算手段は、
前記記憶手段から前記教師データを取得する手段を含む。
【００１４】
また、本発明（請求項６）は、前記演算手段において、
前記データに対し、データをキーとし、該データのトピックの正解を値とする辞書を用い、該辞書に存在するデータに対しては該データのトピックの正解をラベルとして与えることで前記教師データを生成し、記憶手段に格納する、または、ラベルのトピックに対応した構成要素を含むデータ群を教師データとし、該記憶手段に格納する教師データ生成手段と、
前記Web履歴データの構成要素をWebサイトの特徴を表す離散値ベクトルとし、該Web履歴データのトピック分布を、Webサイトを閲覧したユーザの意図についての分布とみなし、前記記憶手段から前記教師データを取得し、前記第１の確率モデルを用いて前記Web閲覧履歴からユーザの意図についての分布を求め、該分布と前記ユーザにレコメンデーションしたい対象データのトピック分布との距離を求め、所定の閾値以下の距離のユーザを抽出する手段を含む。
【００１５】
また、本発明（請求項７）は、前記演算手段において、
前記データに対し、データをキーとし、該データのトピックの正解を値とする辞書を用い、該辞書に存在するデータに対しては該データのトピックの正解をラベルとして与えることで前記教師データを生成し、記憶手段に格納する、または、ラベルのトピックに対応した構成要素を含むデータ群を教師データとし、該記憶手段に格納する教師データ生成手段と、
前記Web履歴データの構成要素をWebサイトの特徴を表す離散値ベクトルとし、該Web履歴データのトピック分布を、Webサイトを閲覧したユーザの意図についての分布とみなし、前記記憶手段から前記教師データを取得し、前記第２の確率モデルを用いて前記Web閲覧履歴からユーザの意図についての分布を求め、該分布と前記ユーザにレコメンデーションしたい対象データのトピック分布との距離を求め、所定の閾値以下の距離のユーザを抽出する手段を含む。
【００１６】
また、本発明（請求項８）は、前記演算手段において、
前記教師データを利用せずに、前記Web履歴データについて、各ユーザのトピックの語彙分布を求め記憶手段に格納するする手段と、
前記記憶手段の語彙分布が所定の閾値以上の語彙の集合をドキュメントと見做して、トピック番号を与えたデータを教師データとする手段と、
前記ユーザにレコメンデーションしたい対象データと前記教師データを用いて、前記第１の確率モデルを用いて該対象データのトピック分布を求め、前記各ユーザのトピックの語彙分布と該トピック分布の距離を用いて、該ユーザにレコメンデーションしたい対象データの対象ユーザを決定する手段と、を有する。
【発明の効果】
【００１７】
上記のように、本発明によれば、文書データ等、データの構成要素が離散値のベクトルとして表現することが可能である場合に、各データに含まれる潜在的なトピックを、教師データを利用することで、少ない計算量で分析し、かつ狙ったトピックについても抽出することが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施の形態における分析装置の構成図である。
【図２】本発明の第１の実施の形態における分析装置の動作のフローチャートである。
【図３】本発明の第３の実施の形態における分析装置のフローチャートである。
【図４】本発明の第５の実施の形態における分析装置のフローチャートである。
【図５】本発明の第７の実施の形態における分析装置のトピック分布算出のフローチャートである。
【図６】本発明の第７の実施の形態における分析装置のリコメンデーションしたいデータのトピック分布算出のフローチャートである。
【図７】本発明についてシミュレーションを行った際のギブスサンプリングの各イテレーションにおけるパープレキシティの比較結果である。
【図８】本発明についてシミュレーションを行った際のトピックにおける語彙分布の比較結果である。
【図９】本発明についてシミュレーションを行った際のトピックにおける第５の実施の形態と第６の実施の形態の語彙分布の比較結果である。
【発明を実施するための形態】
【００１９】
まず、最初に、本明細書で用いる記号表記を表１に示す。
【００２０】
【表１】
2013246586.tif 000003
以下に、第１〜第７の実施の形態について図面と共に説明する。
【００２１】
［第１の実施の形態］
本実施の形態では、構成要素が離散値のベクトルとして表現されたデータについて、そのデータのトピック分布を分析する。ここでは、データをドキュメント、構成要素をドキュメント内の単語、ドキュメントの主題をトピックと見做し、確率モデルとして潜在的ディリクレ配分法（LDA: Latent Dirichlet Allocation）を応用したモデルを用いた例について説明する。
【００２２】
図１は、本発明の第１の実施の形態における分析装置の構成を示す。
【００２３】
同図に示す分析装置は、入力部１０、データ整形部２０、ラベル付与部３０、演算部４０、記憶部５０、出力部６０を有する。
【００２４】
図２は、本発明の第１の実施の形態における分析装置の動作のフローチャートである。
【００２５】
ステップ１００）  入力部１０は、解析対象データ、教師データおよび分析したいトピックの数Ｋを入力する。
【００２６】
ステップ１１０）  次に、データ整形部２０は、各単語に、例えば「犬=1」「猫=2」のように、語彙毎にユニークな番号を割り与え、ベクトルとして表現する。当該例の場合、例えば「犬  猫  猫  犬」というドキュメントは、(1, 2, 2, 1)のように表現され、記憶部５０に語彙と番号の対応関係をリストとして保存する。また、各ドキュメントには、ドキュメント番号を割り与える。
【００２７】
ステップ１２０）  ラベル付与部３０は、ドキュメントに対してラベルΛdを与え、記憶部５０に格納する。ここで、d番目のドキュメントに対するラベルΛdは、下記のようにして与えられる。
【００２８】
・教師データとして与える全てのトピック内容を、それぞれトピック番号に割り与える。例えば、「政治」「経済」「IT」の３つの正解を用意した場合、トピック1は「政治」、トピック2は「経済」、トピック3は「IT」のように定める。ここで、教師データとして与えるトピック数Lは、分析したいトピックの数Kより少なくてもよい(L≦K)。すなわちトピックの正解が割り与えられないトピック番号が存在してもよい。
【００２９】
・トピックの正解が与えられているデータ（教師データ）については、正解として与えられているトピック内容に対応したトピック番号の要素が1であり、それ以外の要素は0となったラベルを与える。例えば上記の例で、トピックの正解として「政治」「IT」の二つが与えられていた場合、その教師データのラベルはΛd＝（1,0,1）となる。
【００３０】
・トピックの正解が与えられていないデータ（解析対象データ）については、ラベルの要素はすべて０、すなわちΛd＝（0,…，０）である。
【００３１】
ステップ１３０）  演算部４０は、パラメータを初期化する。
【００３２】
ステップ１４０）  演算部４０は、記憶部５０に保存されたデータを元に、下記の尤度関数を高くする計算を収束するまで繰り返す。
【００３３】
【数１】
2013246586.tif 000004
式(1)において、P(ψk｜β)、P(θd|γd)はそれぞれハイパーパラメータをβ，γd とするディリクレ分布で表される。また、P(zdi|θd)、
【００３４】
【数２】
2013246586.tif 000005
はそれぞれ
【００３５】
【数３】
2013246586.tif 000006
をパラメータとする多項分布で表される。ここで、d番目のドキュメントにおけるハイパーパラメータγdは下記のようにして定められる。
【００３６】
・ラベルΛdにおいて、その要素が1である番号の集合λdを定義する。例えば前記のように、Λd＝(1,0,1)である場合、λd＝（1,3）となる。Λdの要素がすべて0の場合（解析対象データ）、
【００３７】
【数４】
2013246586.tif 000007
である。
【００３８】
・d番目のドキュメントにおけるハイパーパラメータは、λdに基づき下記のアルゴリズムで定められる。
【００３９】
【数５】
2013246586.tif 000008
ここで、ｒは０≦ｒ＜１で与えられる定数であり、ラベルで与えられていないトピックkについてのトピック分布θd,kの期待値を、ラベルで与えられているトピックについてのトピック分布の期待値に比べてどの程度低くするかを定める。ωdは、
【００４０】
【数６】
2013246586.tif 000009
を定数に保つための係数であり、ラベルとして与えられているトピックの数によって異なる。また、
【００４１】
【数７】
2013246586.tif 000010
の場合、すなわち解析対象データにおいては、ハイパーパラメータをαとしたディリクレ分布によりθdが生成されると仮定したモデルとなっている。
【００４２】
式(1)の尤度関数を高くする計算として、ギブスサンプリングを例に挙げる。演算部４０は、下記のアルゴリズムに従ってｚd,iの更新を繰り返す。
【００４３】
【数８】
2013246586.tif 000011
ここでP(zd,i=k|rest)は、zd,i以外のパラメータを全て固定した上で、zd,iに割り与えられるトピックがkである条件付き確率を表している。また、
【００４４】
【数９】
2013246586.tif 000012
はドキュメントｄにおけるトピックｋに割り与えられた単語の数（ｗd,iを除く）であり、
【００４５】
【数１０】
2013246586.tif 000013
はドキュメント全体で語彙vがトピックkに割り与えられている数（ｗd,iを除く）である。ここで語彙vとは、単語ｗd,iに対応する語彙である。尤度関数が収束したと判定された場合は計算を終了する。収束判定については、各イテレーションにおいて式(1)の尤度関数の値を求め、前回のイテレーション時との値の差が、予め定めた定数ε以下になることが一定回数続いたら、尤度関数が収束したと判断して計算を終了する方法や、予め決められたイテレーション数の計算を行ったら計算を終了するといった方法が考えられる。
【００４６】
計算が終了したら、各ドキュメントの各単語に割り与えられたトピックzd,iから、トピック分布および語彙分布を下記のように求めることができる。
【００４７】
【数１１】
2013246586.tif 000014
上式は、θd,k、ψk,v、それぞれを表すディリクレ分布の期待値である。ここで、
【００４８】
【数１２】
2013246586.tif 000015
はドキュメントｄにおけるトピックkに割り与えられた単語の数であり、
【００４９】
【数１３】
2013246586.tif 000016
はドキュメント全体で語彙vがトピックkに割り与えられている数である。
【００５０】
ステップ１５０）  出力部６０は、上記パラメータを出力する。ただし、語彙分布については、記憶部５０に保存された語彙と番号のリストを元に、「1=犬」「2=猫」のように、元の語彙に戻した状態で出力する。
【００５１】
出力例）トピック数3で、トピック1に「動物」、トピック2に「政治」というラベルを与えた場合
●各トピックの語彙分布（V個の語彙中上位3単語）
トピック1  「犬」…0.2，「猫」…0.1，「鳥」…0.05
トピック2  「内閣」…0.3，「国会」…0.1，「税」…0.03
トピック3  「株価」…0.2，「輸入」…0.15，「税」…0.1
●各ドキュメントのトピック分布（降順）
ドキュメント1  トピック1…0.7，トピック2…0.2，トピック3…0.1
ドキュメント2  トピック3…0.6，トピック2…0.3，トピック1…0.1
ドキュメント3  ・・・
・・・
各トピックの語彙分布については、上記のように、トピック1およびトピック2では、それぞれラベルとして与えた「動物」「政治」に関係する語彙が、語彙分布の上位に表れる。また、トピック3についてはラベルを与えていないが、上記のような語彙分布になった場合、トピックの内容は「経済」であると判断できる。一方で、各ドキュメントのトピック分布から、それぞれのドキュメントがどういった内容のトピックをどれだけの割合で含んでいるかが分かる。上記の例では、ドキュメント1は「動物」に関するトピックを多く含んでおり、ドキュメント2は「経済」に関するトピックを多く含んでいることが分かる。
【００５２】
［第２の実施の形態］
本実施の形態は、前述の第１の実施の形態において、ドキュメントのトピック間に関連性が存在する場合に適用される方法である。本実施の形態では、第１の実施の形態におけるドキュメントのトピックについて、一次のマルコフ性が成立している場合を想定する。
【００５３】
装置構成は、図１と同様であるが、データ整形部２０と演算部４０の処理が異なる。
【００５４】
データ整形部２０は、「d+1番目のドキュメントのトピックはd番目のドキュメントのトピックに影響を受けている」が、全てのd(1≦d≦D−１)が成立するようにドキュメント番号を与える。その上で、演算部４０は、d番目のドキュメントのハイパーパラメータλdを下記のように定める。
【００５５】
【数１４】
2013246586.tif 000017
ωdやω'dは第１の実施の形態の方法と同様に、
【００５６】
【数１５】
2013246586.tif 000018
を定数に保つための係数である。ここでは、ハイパーパラメータがラベルの有無だけではなく、d-1番目のトピック分布にも影響を受けていると仮定したアルゴリズムとなっている。
【００５７】
上記以外の処理は、第１の実施の形態と同様であるので、その説明は省略する。
【００５８】
[第３の実施の形態]
本実施の形態では、教師データを生成する方法について説明する。
【００５９】
本実施の形態における装置構成は、前述の図１と同様である。
【００６０】
本実施の形態では、ラベル付与部３０が、データをキーとし、そのデータのトピックの正解を値とする辞書を予め保有しているものとする。図３は、本発明の第３の実施の形態におけるフローチャートである。
【００６１】
ステップ３００）  入力部１０は、解析対象データのみを入力する。
【００６２】
ステップ３１０）  データ整形部２０は、前述の第１の実施の形態と同様の方法で、解析対象データの単語にドキュメント番号を割り与える。
【００６３】
ステップ３２０）  ラベル付与部３０は、保有する辞書を参照し、解析対象データのなかでそのドキュメントが辞書内にキーとして存在するドキュメントについては、そのドキュメントのトピックの正解をドキュメントに対してラベルとして与える。辞書内に存在しないドキュメントについては、第１の実施の形態と同様にΛd＝（0,…,0）とする。
【００６４】
以下に、ラベル付与部３０が保有する辞書の作成方法について説明する。
【００６５】
Webサイトをドキュメント、そのドキュメントに含まれる名詞を単語としたような分析を行う際に、Yahoo!カテゴリ（登録商標）のようなディレクトリ型検索サービスを外部情報として利用する方法が考えられる。例えば、「政治」のカテゴリ内、およびそのカテゴリの配下に存在するサブカテゴリ内に含まれるURLが、ユーザの閲覧したWebサイトのURLと前方一致した場合、そのWebサイトに対して「政治」のラベルを与える。前方一致するURLがYahoo!カテゴリ（登録商標）内に複数存在する場合には、そのURLの長さが最も長い物を、ラベルを付与するためのURLとして採用する。
【００６６】
ステップ３４０）  演算部４０の動作は第１の実施の形態と同様である。
【００６７】
ステップ３５０）  出力部６０の動作は第１の実施の形態と同様である。
【００６８】
[第４の実施の形態]
本実施の形態では、教師データ生成する際に、ラベルのトピックに対応した構成要素を含むデータ群を用意する方法について説明する。
【００６９】
本実施の形態では、ラベル付与部３０において、入力部１０から入力された教師データもしくは記憶部５０に予め保存された教師データに対して、第１の実施の形態と同様にラベルを与える。解析対象データについては、全てΛd＝（0,…,0）とする。
【００７０】
教師データの作成方法として、通常のトピックモデルを用いて生成された各トピックの語彙分布を教師データとして利用する方法が考えられる。第１の実施の形態に示すように、データをドキュメント、構成要素を単語とする場合、予め準備した、様々なトピックを含むドキュメント群に対して、通常のトピックモデルを実行する。その結果得られた各トピックの語彙分布について見た時、例えばあるトピックの語彙分布の上位に「内閣」「国会」「大臣」のような単語が出現していた場合、そのトピックは「政治」に関係していると考えられる。その場合、そのトピックの語彙分布において、出現割合（ψk,v）がある閾値以上である単語の集合を一つのドキュメントとしてみなし、そのドキュメントに対して「政治」のラベルを与えたものを教師データとして利用する。
【００７１】
[第５の実施の形態]
本実施の形態では、第１の実施の形態をWebユーザ行動分析に適用する手法について説明する。
【００７２】
本実施の形態では、ユーザが閲覧した各Webサイトを、第１の実施の形態におけるそれぞれドキュメントとみなし、WebサイトのHTML内に含まれる名詞を単語とし、あるユーザが閲覧したドキュメントのトピック分布を集約した分布を、そのユーザの意図に関する分布であるとみなす。以下、ユーザの意図に関する分布についても「トピック分布」と表現する。また、レコメンデーションしたい対象（ニュース記事，広告など）をレコメンデーションデータとしてドキュメントで表現し、前記ドキュメントと一緒に分析を行う。
【００７３】
本実施の形態の説明で用いる記号を以下に示す。
【００７４】
【表２】
2013246586.tif 000019
図４は、本発明の第５の実施の形態における分析装置のフローチャートである。
【００７５】
ステップ５００）  入力部１０は、ユーザが閲覧したドキュメント集合（Web閲覧履歴）、レコメンデーションデータ（及び教師データ）を入力する。なお、教師データは、第３の実施の形態を適用する場合、ラベル付与部３０にて解析対象データに対してラベルを与えることで生成され、第４の実施の形態を適用する場合は、予め準備した教師データが記憶部５０に保存されているか、もしくは入力部１０から入力されるものとする。
【００７６】
ステップ５１０）  データ整形部２０は、Web閲覧履歴のデータにドキュメント番号を割り与えた上で、各ユーザが閲覧したドキュメント番号の集合Duをリスト化する。なお、同じWebサイトであっても、閲覧したユーザが異なる場合、ここでは違うドキュメント番号が割り与えられる。また、データ整形部２０では、全ドキュメントの中で、出現頻度が高すぎる、もしくは低すぎる単語をドキュメントから取り除く。この作業は、利用する単語の辞書を予め準備し、その辞書に含まれない単語を取り除く方法や、解析対象データ（Web閲覧履歴のデータ）における出現頻度を元に、予め定められた最大値ｒmax以上であるか、または予め定められた最小値ｒmin以下である単語を取り除くといった方法が考えられる。
【００７７】
ステップ５２０）  上記の作業が終わり次第、ラベル付与部３０によりラベルが与えられたドキュメントおよびDuのリストを記憶部５０に格納する。
【００７８】
ステップ５３０）  演算部４０は、パラメータを初期化する。
【００７９】
ステップ５４０）  演算部４０は、第１の実施の形態と同様に解析を行う。
【００８０】
ステップ５５０）  演算部４０は、計算が終了した後に、各ユーザuのトピック分布
【００８１】
【数１６】
2013246586.tif 000020
について、ユーザuが閲覧したドキュメント集合
【００８２】
【数１７】
2013246586.tif 000021
のトピック分布θdを集約することで求める。集約の仕方は、単純に足し合わせて正規化する方法や、閲覧時間を考慮して重みをつける方法などが考えられる。その後演算部４０は、レコメンデーションデータのトピック分布と、各ユーザのトピック分布の距離を計算する。
【００８３】
ステップ５６０）  出力部６０は、レコメンデーションデータと、そのレコメンデーションデータのトピック分布の距離が、予め定めた閾値以下のユーザのリストを作成し、全パラメータと一緒に出力する。分布の距離の算出については、コサイン類似度やピアソン相関係数などを用いる。
【００８４】
[第６の実施の形態]
本実施の形態は、第２の実施の形態の手法を、Webユーザ行動分析に適用するものである。
【００８５】
本実施の形態では、第５の実施の形態において、あるユーザが連続して閲覧したドキュメントのトピックは関連性があるとみなし、データ整形部２０において、ドキュメント番号をユーザがドキュメントを閲覧した順番に与え、演算部４０において、各ユーザが閲覧したドキュメントの集合
【００８６】
【数１８】
2013246586.tif 000022
に対して一次のマルコフ性を仮定し、第２の実施の形態と同様に、推論アルゴリズムを用いてドキュメントのトピック分布を求める。
【００８７】
その他の処理は、第２の実施の形態と同様である。
【００８８】
[第７の実施の形態]
本実施の形態では、レコメンデーションを行う度に、膨大な量のWebサイト閲覧履歴を分析することなく、ユーザに対してレコメンデーションを行うものである。
【００８９】
本実施の形態は、ユーザトピック分布を求める段階（図５のフローチャート）と、レコメンデーションしたいデータのトピック分布を求める段階（図６のフローチャート）の二段階によって実施される。
【００９０】
図５に沿って、ユーザトピック分布を求める処理を説明する。
【００９１】
ステップ７００）  入力部１０は、解析対象データを入力する。
【００９２】
ステップ７１０）  データ整形部２０は、第１の実施の形態と同様の方法で各ドキュメントにドキュメント番号を割り与える。
【００９３】
ステップ７２０）  演算部４０は、パラメータを初期化する。
【００９４】
ステップ７３０）  演算部４０は、第１の実施の形態と同様の推論アルゴリズムを用いてパラメータを推定する。
【００９５】
ステップ７４０）  演算部４０は、各ユーザのトピック分布を計算し、記憶部５０に格納する。
【００９６】
ステップ７５０）  演算部４０は、各トピックの語彙分布を教師データ化し、記憶部５０に格納する。
【００９７】
次に、図６に沿って、レコメンデーションしたいデータのトピック分布を求める処理を説明する。
【００９８】
ステップ８００）  入力部１０は、リコメンデーションデータを入力する。
【００９９】
ステップ８１０）  記憶部５０より図５のステップ７５０の処理により予め求められた教師データを取得する。
【０１００】
ステップ８２０）  データ整形部２０は、第１の実施の形態と同様に、各ドキュメントにドキュメント番号を割り与える。
【０１０１】
ステップ８３０）  ラベル付与部３０は、第１の実施の形態と同様に、ドキュメントにラベルを付与する。
【０１０２】
ステップ８４０）  演算部４０は、パラメータを初期化する。
【０１０３】
ステップ８５０）  演算部４０は、第１の実施の形態と同様に、推論アルゴリズムを用いてパラメータを推定する処理を収束するまで繰り返す。
【０１０４】
ステップ８６０）  演算部４０は、レコメンデーションデータのトピック分布と、図５の処理により予め記憶部５０に格納されているユーザトピック分布（教師データ）の距離を計算する。
【０１０５】
ステップ８７０）  出力部６０は、全パラメータ及びレコメンデーションデータとトピック分布の距離が近い上位Ｎ件のユーザのリストを出力する。
【０１０６】
上記のように、本実施の形態では、第５の実施の形態において、教師データを利用せずに通常のトピックモデルでユーザが閲覧したドキュメントの集合のみを分析し、各ユーザのトピック分布を予め求めて、記憶部５０に保持しておく。また、第４の実施の形態の方法を用いて、各トピックにおいて、そのトピックの語彙分布が予め定めた閾値以上である語彙の集合をドキュメントとみなし、ラベルとしてそのトピック番号を与えたデータを教師データとして全トピック分準備する。レコメンデーションを行う際には、ドキュメント化したレコメンデーションデータと、先述の教師データとを入力し、第５の実施の形態と同様に分析を行うことで、初めに求めておいたユーザのトピック分布と同じトピック空間におけるレコメンデーションデータのトピック分布を求めることができる。求めた分布の距離を用いて、第５の実施の形態と同様にレコメンデーション対象ユーザを決定する。
【０１０７】
この方法により、レコメンデーションを行う度に膨大な量のユーザのWeb閲覧履歴を分析する必要がなくなる。
【０１０８】
以下に、本発明を適用したシミュレーション結果を示す。
【０１０９】
本発明により、文書のようなドキュメントデータが与えられた時に、従来手法と比べて少ない計算量でドキュメントデータのトピック分布を求めることが可能となる。実際に第５の実施の形態及び第６の実施の形態について、モニタを募集して収集したユーザのWebアクセス履歴を対象に分析をおこなった際の結果を示す。対象データは
・ユーザ数531人
・2011/8/1〜2011/8/31の一ヶ月分
・全アクセスURL情報
である。各Webページをドキュメントとみなし、WebページのHTMLに含まれる各名詞を単語とみなした。また、教師データについては、第３の実施の形態のようにYahoo!カテゴリ（登録商標）を用いて教師データを生成させた。
【０１１０】
図７に、ギブスサンプリングによる計算の各イテレーションにおけるパープレキシティの変化を示す。パープレキシティとは言語モデルの性能を示す指標であり、その値が低いほどモデルは良く単語の生成過程をモデリングできているとされる。ここでは、通常のLDAと、第５の実施の形態と、第６の実施の形態の、３つのモデルを比較している。図より、第５の実施の形態および第６の実施の形態のどちらも、通常のLDAと比べてイテレーションの早い段階でパープレキシティが低下しており、特に、トピックのマルコフ性を仮定した実施例６は、通常のLDAの1/10程度の計算量で同等のパープレキシティまで低下している。
【０１１１】
ラベル付の効果を定性的に確認するために、図８に、イテレーション数20の時点における、第５の実施の形態と通常のLDAにおけるトピックの語彙分布を示す。なお、語彙分布において登録商標となっている単語については「**」を挿入している。ここでは、第５の実施の形態においてはラベルとして「美容」「グルメ」の内容を与えた二つのトピックを示しており、通常のLDAについては、前記の内容の単語が最も多く出現した二つのトピックを示している。また、「美容」に関する単語には下線を引き、「グルメ」に関する単語は斜体で表している。図８より、第５の実施の形態では、20イテレーションという少ない計算量で、ラベルの内容に沿ったトピックを生成できていることが確認できる。
【０１１２】
マルコフ性の効果を定性的に確認するために、図９に、第５の実施の形態と第６の実施の形態のトピックの語彙分布の比較を示す。図９では、様々なファッションブランドを扱うブランドグループ「BAYCREW'S」をトピック1のラベルとして与え、ギブスサンプリングを50イテレーション実行した際の、トピック1の語彙分布の上位20単語を示している。なお、図８と同様に登録商標となっている単語については「**」を挿入している。ここでは、BAYCREW'Sが扱うブランド名 (journal standard luxe、 DEUXIEME CLASSE等) に含まれる単語を下線で示している。図９より、同じイテレーション数でも、マルコフ性の仮定を行った第６の実施の形態の方がBAYCREW'Sに関連した単語が多く上位の単語に現れていることが確認できる。
【０１１３】
なお、通常のLDAを実行した際には、BAYCREW'Sに関する単語の出現するトピックはほぼ見られなかった。このことから、第５の実施の形態や第６の実施の形態では通常のLDAでは現れにくい、より狭いトピックも生成できることが確認できる。
【０１１４】
なお、第１〜第７の実施の形態に示した上記の図１に示す分析装置の構成要素の動作をプログラムとして構築し、データ群のトピック分析装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【０１１５】
本発明は、上記の第１〜第７の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【０１１６】
１０  入力部
２０  データ整形部
３０  ラベル付与部
４０  演算部
５０  記憶部
６０  出力部
【図１】
2013246586.tif 000023
【図２】
2013246586.tif 000024
【図３】
2013246586.tif 000025
【図４】
2013246586.tif 000026
【図５】
2013246586.tif 000027
【図６】
2013246586.tif 000028
【図７】
2013246586.tif 000029
【図８】
2013246586.tif 000030
【図９】
2013246586.tif 000031