(58)【調査した分野】(Int.Cl.,DB名)
前記関連抽出部が抽出した前記付随情報に関連する単語および前記共通抽出部が抽出した前記共通して出現する単語に基づいて、前記付随情報に関連する単語に対応するトピック、および前記共通して出現する単語に対応するトピックの確率分布を割り当てる割当部と、
前記割当部がトピックおよびトピックの確率分布を割り当てた全ての単語について、統計的な手法により、前記付随情報に関連する単語に対応するトピックと、前記共通して出現する単語に対応するトピックの確率分布と、前記単語に対応するトピックと前記共通して出現する単語に対応するトピックの確率分布とを選択するスイッチ変数の確率分布とを推定する推定部と、
をさらに備えることを特徴とする請求項1に記載の情報処理装置。
【発明を実施するための形態】
【0013】
(第1の比較例)
以下、本発明の実施形態と比較する第1の比較例について図面を参照しながら詳しく説明する。
図16は、本発明の実施形態と比較する第1の比較例に係るグラフィックモデルである。
図16において、ノード112は、ハイパーパラメータβのノードである。ハイパーパラメータβは、トピック(単語)の確率分布θ
dを求めるのに用いられる。ハイパーパラメータβは、初期値としてランダム値が用いられる。
ノード113は、テキストデータごとに特異なトピックの確率分布θ
dを求めるノードである。ここで、Dは、文章の数を表し、トピックの確率分布θ
dは、テキストデータごとにD種類存在する。
【0014】
ノード114は、トピックの確率変数z
iを取得するノードである。すなわち、ノード114は、テキストデータから、ノード113で求められた特異なトピックの確率分布θ
dに基づき、トピックの確率変数z
iを取得する。ここで、z
iは、i番目(iは任意の整数)の単語(トークン:単語の最小単位)に関連するトピックである。
【0015】
ノード115は、ハイパーパラメータγのノードである。ハイパーパラメータγは、単語の確率分布φを求めるために用いられる。ハイパーパラメータγは、初期値としてランダム値が用いられる。
ノード116は、トピックごとに特異な単語の確率分布φを求めるノードである。トピックの数はZであり、ノード116の単語の確率分布φは、Z種類となる。
ノード117は、トピックごとのタイムスタンプの確率分布λを求めるノードである。トピックの数はZであり、ノード117のタイムスタンプの確率分布λは、Z種類となる。
【0016】
ノード118は、トピックごとのタイムスタンプを取得するノードである。すなわち、ノード118は、ノード114で取得されたトピックから、ノード117で求められたタイムスタンプの確率分布λに基づき、タイムスタンプの確率変数t
dを取得する。ここで、t
dは、テキストデータにおけるトピックごとの確率変数である。
ノード119は、単語w
iを取得するノードである。すなわち、ノード119は、ノード114で取得されたトピックから、ノード116で求められた単語の確率分布φに基づき、単語の確率変数w
iを取得する。ここで、w
iは、i番目(iは任意の整数)の単語を表す。
【0017】
(第2の比較例)
以下、本発明の実施形態と比較する第2の比較例について図面を参照しながら詳しく説明する。
図17は、本発明の実施形態と比較する第2の比較例に係るグラフィックモデルである。
図17において、ノード101は、ハイパーパラメータβのノードである。ハイパーパラメータβは、トピック(単語)の確率分布θ
dを求めるのに用いられる。ハイパーパラメータβは、初期値としてランダム値が用いられる。
ノード102は、テキストデータごとに特異なトピックの確率分布θ
dを求めるノードである。ここで、Dは、文章の数を表し、トピックの確率分布θ
dは、テキストデータごとにD種類存在する。
【0018】
ノード103は、ハイパーパラメータεのノードである。ハイパーパラメータεは、スイッチ変数の確率分布μ
dを求めるのに用いられる。ハイパーパラメータεは、初期値としてランダム値が用いられる。ここで、スイッチ変数とは、トピックを切り替えるスイッチとして使用される確率変数である。
ノード104は、テキストデータごとにスイッチ変数の確率分布μ
dを求めるノードである。
ノード105は、スイッチ変数r
iを取得するノードである。すなわち、ノード105は、ノード104で求められたスイッチ変数の確率分布μ
dに基づき、スイッチ変数r
iを取得する。ここで、r
iは、i番目(iは任意の整数)のスイッチ変数である。
【0019】
ノード106は、トピックの確率変数z
iを取得するノードである。すなわち、ノード106は、テキストデータから、ノード102で求められた特異なトピックの確率分布θ
dに基づき、トピックの確率変数z
iを取得する。ここで、z
iは、i番目(iは任意の整数)の単語(トークン:単語の最小単位)に関連するトピックである。
【0020】
ノード107は、ハイパーパラメータγのノードである。ハイパーパラメータγは、単語の確率分布φを求めるために用いられる。ハイパーパラメータγは、初期値としてランダム値が用いられる。
ノード108は、トピックごとに特異な単語の確率分布φを求めるノードである。トピックの数はZであり、ノード108の単語の確率分布φは、Z+1種類となる。
ノード109は、トピックごとのタイムスタンプの確率分布λを求めるノードである。トピックの数はZであり、ノード109のタイムスタンプの確率分布λは、Z種類となる。
【0021】
ノード110は、トピックごとのタイムスタンプを取得するノードである。すなわち、ノード110は、ノード106で取得されたトピックから、ノード109で求められたタイムスタンプの確率分布λに基づき、タイムスタンプの確率変数t
dを取得する。ここで、t
dは、テキストデータにおけるトピックごとの確率変数である。
ノード111は、単語w
iを取得するノードである。すなわち、ノード111は、ノード106で取得されたトピックから、ノード108で求められた単語の確率分布φに基づき、単語の確率変数w
iを取得する。ここで、w
iは、i番目(iは任意の整数)の単語を表す。
【0022】
(第3の比較例)
以下、本発明の実施形態と比較する第3の比較例について図面を参照しながら詳しく説明する。
図18は、本発明の実施形態と比較する第3の比較例に係るグラフィックモデルである。
図18において、ノード120は、ハイパーパラメータαのノードである。ハイパーパラメータαは、トピック(単語)の確率分布θ
dを求めるのに用いられる。ハイパーパラメータαは、初期値としてランダム値が用いられる。
ノード121は、テキストデータごとにトピックの確率分布θ
dを求めるノードである。ここで、Dは、文章の数を表し、トピックの確率分布θ
dは、テキストデータごとにD種類存在する。
【0023】
ノード122は、トピックの確率変数z
iを取得するノードである。すなわち、ノード122は、テキストデータから、ノード121で求められたトピックの確率分布θ
dに基づき、トピックの確率変数z
iを取得する。ここで、z
iは、i番目(iは任意の整数)の単語(トークン:単語の最小単位)に関連するトピックである。
【0024】
ノード123は、ハイパーパラメータβのノードである。ハイパーパラメータβは、トピック(単語)の確率分布θ
dzを求めるのに用いられる。ハイパーパラメータβは、初期値としてランダム値が用いられる。
ノード124は、テキストデータごとに特異なトピックの確率分布θ
dzを求めるノードである。ここで、トピックの確率分布θ
dzは、トピックごとにZ種類、存在する。
【0025】
ノード125は、テキストデータごとに特異なトピックの確率変数z
’iを取得するノードである。すなわち、ノード125は、テキストデータから、ノード124で求められたテキストデータごとに特異なトピックの確率分布θ
dzに基づき、テキストデータごとに特異なトピックの確率変数z
’iを取得する。ここで、z
’iは、i番目(iは任意の整数)の単語(トークン:単語の最小単位)に関連するトピックである。
【0026】
ノード126は、ハイパーパラメータγのノードである。ハイパーパラメータγは、単語の確率分布φを求めるために用いられる。ハイパーパラメータγは、初期値としてランダム値が用いられる。
ノード127は、トピックごとに特異な単語の確率分布φを求めるノードである。トピックの数はZ’であり、ノード127の単語の確率分布φは、Z’種類となる。
【0027】
ノード128は、単語w
iを取得するノードである。すなわち、ノード128は、ノード125で取得されたテキストデータごとに特異なトピックから、ノード127で求められた単語の確率分布φに基づき、単語の確率変数w
iを取得する。ここで、w
iは、i番目(iは任意の整数)の単語を表す。
【0028】
(実施形態)
以下、本発明の実施形態について図面を参照しながら詳しく説明する。
図1は、本発明の実施形態により実現される付随情報に関連する単語、および付随情報に関連する単語以外であって同一カテゴリーの文章情報に共通して出現する単語の抽出の一例を示す概略図である。
例えば、図示するように、実施形態における分類装置は、文章情報群200の中の文章情報201から抽出情報210として、付随情報に関連する単語「England」、および付随情報に関連する単語以外であって同一カテゴリーの文章情報に共通して出現する単語「Tower Bridge」、「Buckingham Palaces」、「Royal Family」などを、単語の集合を表すトピックとして抽出することができる。
【0029】
また、分類装置は、文章情報群200の中の文章データ202から抽出情報230として、抽出情報230として、付随情報に関連する単語「America」、および付随情報に関連する単語以外であって同一カテゴリーの文章情報に共通して出現する単語「Rocky Mountains」、「Wall Street」、「Niagara Falls」、「Statue of Liberty」などを、トピックとして抽出することができる。
【0030】
また、分類装置は、文章情報群200の中の文章データ201、202から抽出情報220として、付随情報に関連する単語「5.0」、および付随情報に関連する単語以外であって同一カテゴリーの文章情報に共通して出現する単語「Nice Country」、「Good Place」、「Exciting」などを、トピックとして抽出することができる。
【0031】
以下の説明において、文章情報群には、複数の文章情報と複数の文章情報のそれぞれに付随する付随情報とが含まれる。文章情報とは、例えば、メール、論文、商品やアイテムのレビューなどのテキストデータ、ソーシャルメディア内において投稿された投稿文などのインターネット上でのブログやウェブページなどの文章データである。レビューとは、ユーザが購入した商品や店舗の評価および感想の文章データや、ホテルやレストランを利用したユーザが記載した評価および感想の文章データなどである。
【0032】
付随情報とは、文章情報の作成者に関する情報、文章情報の生成日時に関する情報、文章情報名に関する情報、文章情報の評価に関する情報などである。
文章情報の作成者に関する情報には、文章情報を作成した作成者を識別する作成者識別情報、当該作成者に対する信頼度を表す信頼度情報、当該作成者に関連づけられたユーザを識別する識別情報などが含まれる。
文章情報名に関する情報には、文章情報の名称、文章情報の本文に含まれる商品の名称、施設や店舗の名称、場所の名称などの名称に関する情報が含まれる。
【0033】
同一カテゴリーの文章情報とは、例えば、文章情報を構成する単語のうち、付随情報に関連する単語に対応するトピックが所定の数(例えば、8割)以上、同一である文章情報のことである。
トピックには、テーマトピックとトレンドトピックとが含まれる。
【0034】
図2は、本実施形態に係るグラフィカルモデルの一例である。
図2において、ノード11は、ハイパーパラメータαのノードである。ハイパーパラメータαは、テーマトピックの確率分布θを求めるためのものである。ハイパーパラメータαは、初期値としてランダム値が用いられる。
【0035】
ノード12は、文章データごとに特異なテーマトピックの確率分布θを求めるノードである。テーマトピックの確率分布θは、例えば、多項分布である。本実施形態では、テーマトピックの確率分布θとして、ディリクレ分布を用いている。ディリクレ分布は、連続型の確率分布であるが、積分することにより、離散値として計算できる。ここで、Dは、文章情報における文章データの数を表し、テーマトピックの確率分布θは、文章データごとにD種類となる。
【0036】
ノード13は、テーマトピックの確率変数gを取得するノードである。すなわち、ノード13は、文章データから、ノード12で求められたテーマトピックの確率分布θに基づき、テーマトピックの確率変数gを取得する。N
dは、文章データの中の単語の数であり、テーマトピックの確率変数gは、N
d種類、すなわち、対象とする文章データにおける単語の数に対応する種類となる。
【0037】
ノード14は、ハイパーパラメータβのノードである。ハイパーパラメータβは、単語の確率分布Ψを求めるためのものである。ハイパーパラメータβは、初期値としてランダム値が用いられる。
【0038】
ノード15は、文章データごとに特異なトレンドトピックの確率分布Ψを求めるノードである。トレンドトピックの確率分布Ψは、例えば、多項分布である。本実施形態では、トレンドトピックの確率分布Ψとして、ディリクレ分布を用いている。ここで、Gは、トレンドトピックの数を表し、トレンドトピックの確率分布Ψは、文章データごとにG種類となる。
【0039】
ノード16は、トレンドトピックの確率変数cを取得するノードである。すなわち、ノード16は、文章データから、ノード15で求められたトレンドトピックの確率分布Ψに基づき、トレンドトピックの確率変数cを取得する。トレンドトピックの確率変数cは、N
d種類、すなわち、対象とする文章データにおける単語の数に対応する種類となる。
【0040】
ノード17は、ハイパーパラメータγのノードである。ハイパーパラメータγは、単語の確率分布φを求めるために用いられる。ハイパーパラメータγは、初期値としてランダム値が用いられる。
【0041】
ノード18は、単語の確率分布φを求めるノードである。本実施形態では、単語の確率分布φとして、ディリクレ分布を用いている。ここで、Cは、トレンドトピックの数を表し、ノード18の単語の確率分布φは、G+C+D+1種類となる。
【0042】
ノード19は、ハイパーパラメータεのノードである。ハイパーパラメータεは、スイッチ変数の確率分布μ
dを求めるのに用いられる。ハイパーパラメータεは、初期値としてランダム値が用いられる。ここで、スイッチ変数とは、テーマトピックとトレンドトピックとを切り替えるスイッチとして使用される確率変数である。
【0043】
ノード20は、文章データごとに特異なスイッチ変数の確率分布μ
dを求めるノードである。スイッチ変数の確率分布μ
dは、例えば、多項分布である。本実施形態では、スイッチ変数の確率分布μ
dとして、ディリクレ分布を用いている。スイッチ変数の確率分布μ
dは、D種類となる。
【0044】
ノード21は、スイッチ変数rを取得するノードである。すなわち、ノード21は、文章データから、ノード20で求められたスイッチ変数の確率分布μ
dに基づき、スイッチ変数rを取得する。スイッチ変数rは、N
d種類、すなわち、対象とする文章データにおける単語の数に対応する種類となる。
【0045】
ここで、スイッチ変数rは単語の機能を示している。単語の機能とは、例えば、抽出される単語「高い」は、商品の「値段」なのか、お店の「評価」なのかの違いを扱うためのものである。スイッチ変数rとしては、例えば、r=0、r=1、r=2、r=3の4種類がある。各スイッチ変数と単語の機能との関係は、以下の通りである。
【0046】
r=0:全ての文章データで共通の単語
r=1:各文章データにおいて固有の単語(各文章データにおける独特な単語など)
r=2:テーマトピックに関連する単語
r=3:トレンドトピックに関連する単語
【0047】
ノード22は、単語の確率変数wを取得するノードである。すなわち、ノード22は、スイッチ変数rに応じて、ノード13で求められたテーマトピックの確率変数gとノード16で求められたトレンドトピックの確率変数cとを切り替え、ノード18で求められた単語の確率分布φに基づき、単語の確率変数wを取得する。具体的には、ノード22は、スイッチ変数r=0、1のとき、ノード18で求められた単語の確率分布φに基づき、単語の確率変数wを取得する。また、ノード22は、スイッチ変数r=2のとき、ノード13で求められたテーマトピックの確率変数gとノード18で求められた単語の確率分布φとに基づき、単語の確率変数wを取得する。また、ノード22は、スイッチ変数r=3のとき、ノード16で求められたトレンドトピックの確率変数cとノード18で求められた単語の確率分布φとに基づき、単語の確率変数wを取得する。
【0048】
このように、本実施形態では、スイッチ変数rを導入し、文章データごとに単語の機能の違いにより、単語の確率変数wを取得している。単語の確率変数wは、N
d種類、すなわち、対象とする文章データにおける単語の数に対応する種類となる。
【0049】
ノード23は、トレンドの確率分布λを求めるノードである。本実施形態では、トレンドの確率分布λとして、ベータ分布を用いている。ノード23のトレンドの確率分布λは、C種類となる。
【0050】
ノード24は、トレンドの確率変数tを取得するノードである。すなわち、ノード24は、ノード23で求められたトレンドの確率分布λに基づき、トレンドの確率変数tを取得する。トレンドの確率分布tは、N
d種類、すなわち、対象とする文章データにおける単語の数に対応する種類となる。
【0051】
なお、上述した単語の確率変数w、トレンドの確率変数tは、直接、観測することが可能な観測変数である。また、テーマトピックの確率変数g、トレンドトピックの確率変数c、スイッチ変数rは、直接、観測することができない潜在変数である。また、各ノード間の矢印の向きは、それぞれのノード間における因果関係を表す。
【0052】
次に、
図2に示したようなグラフィックモデルにおける処理について、具体的に説明する。
図3は、本実施形態に係る分類システムS1の構成の一例を示す概略図である。
図4は、本実施形態に係る分類システムS1の構成の一例を示す概略ブロック図である。
分類システムS1は、ファイルサーバ51と、計算サーバ52(分類装置)と、データベース53と、サービスサーバ54と、を含んで構成される。
【0053】
ファイルサーバ51は、
図4に示すように、計算対象となる文章データを保存するデータファイル保存部61を備えている。データファイル保存部61は、文章データを保存する。なお、計算対象となる文章データは、インターネット上の文章に限られるものではない。
【0054】
計算サーバ52(分類装置)は、ファイルサーバ51から計算対象の文章データを取り出し、
図2に示したグラフィックモデルで示されるような計算処理を行い、計算結果を出力する。計算サーバ52は、
図4に示すように、事前処理部71と、計算処理部72と、を含んで構成される。
事前処理部71は、
図2に示したグラフィカルモデルに対応する事前処理を行い、計算処理対象の文章データから、単語を抽出する。事前処理部71の事前処理については、後述する。
【0055】
計算処理部72は、事前処理部71で処理されたデータを入力し、
図2に示したグラフィックモデルに対応するような計算処理を行う。計算処理部72は、事前処理部71が単語の抽出を行った文章データ、当該文章データの付随情報、抽出した単語のそれぞれに対して、文章データID、付随情報ID、単語IDを付加し、その対応表をデータベース53に記憶させる。
本実施形態では、確率変数の取得に、ギブスサンプリングを用いている。計算処理部72の計算処理については、後述する。
【0056】
データベース53は、
図4に示すように、計算結果記憶部81を有している。計算サーバ52の計算処理部72の計算結果は、データベース53に送られ、計算結果記憶部81に記憶される。
サービスサーバ54は、計算結果をサービスの利用のために提供するためのサーバである。
図4に示すように、サービスサーバ54は、呼び出し部91を備えている。
ユーザ端末55からの呼び出しに応じて、呼び出し部91は、計算結果をユーザ端末55に送る。この計算結果は、商品検索、レビュー検索、マーケティングなど、各種のサービスに利用できる。
【0057】
図5は、本実施形態に係る計算サーバ52(分類装置)の構成の一例を示す概略ブロック図である。
事前処理部71は、関連抽出部711と、共通抽出部712と、を含んで構成される。また、計算処理部72は、割当部721と、算出部722と、を含んで構成される。
【0058】
関連抽出部711は、文章データと当該文章データ付随する付随情報とに対して、文章データから付随情報に関連する単語を抽出する。関連抽出部711は、抽出した付随情報に関連する単語の情報を共通抽出部712および計算処理部72に出力する。
共通抽出部712は、文章データと当該文章データに付随する付随情報とに対して、関連抽出部711が抽出した付随情報に関連する単語以外であって同一カテゴリーの文章情報に共通し、かつ高頻度で出現する単語を抽出する。共通抽出部712は、抽出した共通して出現する単語の情報を計算処理部72に出力する。
【0059】
計算処理部72は、事前処理部71が単語の抽出を行った文章データ、当該文章データの付随情報、抽出した単語のそれぞれに対して、文章データID、付随情報ID、単語IDを付加する。
【0060】
割当部721は、付随情報に関連する単語および共通して出現する単語に基づいて、付随情報に関連する単語に対応するトピック、および共通して出現する単語に対応するトピックの確率分布を割り当てる。具体的には、割当部721は、付随情報に関連する単語(テーマトピック)に対応するテーマトピックの確率変数の数の値Gを割り当てる。また、割当部721は、付随情報に関連する単語以外であって同一カテゴリーの文章データに共通して出現する単語(トレンドトピック)に対応するトレンドトピックの確率変数の数の値Cを割り当てる。
【0061】
算出部722(推定部)は、割当部721がトピックおよびトピックの確率分布を割り当てた全ての単語について、統計的な手法により、付随情報に関連する単語に対応するトピックと、共通して出現する単語に対応するトピックの確率分布と、単語に対応するトピックと共通して出現する単語に対応するトピックの確率分布とを選択するスイッチ変数の確率分布とを推定する。
【0062】
具体的には、算出部722は、割当部721が値(G、C)を割り当てた全ての単語(テーマトピックおよびトレンドトピック)について、テーマトピックの確率変数と、トレンドトピックの確率変数と、これらのテーマトピックの確率変数とトレンドトピックの確率変数とに関するスイッチとして使用されるスイッチ変数とを潜在変数として、統計的な手法、例えば、ギブスサンプリングにより、当該テーマトピックの確率変数とトレンドトピックの確率変数とを選択するスイッチ変数の確率分布とを推定する。
【0063】
図6は、本実施形態に係る分類装置における計算処理に用いる確率変数と確率分布のパラメータとその種類を示すテーブルの一例である。
図示するように、テーブルT1は、計算処理部72における計算結果の一例であり、確率変数と、確率分布のパラメータとその種類からなる。確率変数には、観測変数であるトレンドの確率変数tと、潜在変数であるスイッチ変数rと、潜在変数であるテーマトピックの確率変数gおよびトレンドトピックの確率変数cと、観測変数である単語の確率変数wと、が保存される。また、確率分布のパラメータとその種類には、確率変数を取得するための確率分布のパラメータおよびその種類が保存される。トレンドの確率変数tに対応する確率分布はλであり、その種類はC種類である。また、スイッチ変数rに対応する確率分布はμ
dであり、その種類はD種類である。また、テーマトピックの確率変数gに対応する確率分布はθであり、その種類はD種類、トレンドトピックの確率変数cに対応する確率分布はΨ
dgであり、その種類はDG種類である。ここで、確率分布Ψ
dgは、文章データdにおける特異なテーマトピックの確率変数gの確率分布Ψである。また、単語の確率変数wに対応する確率分布はφ
c(g、d、b)であり、その種類はG+C+D+1種類である。確率分布φ
c(g、d、b)は、文章データdにおける特異なトレンドトピックの確率変数cの確率分布φである。なお、bは、バックグラウンドトピックである。
【0064】
図7は、本実施形態に係る分類装置(計算サーバ52)における計算処理の説明の一例を示すフローチャートである。
ステップST101の前に、事前処理部71の事前処理について
図8を参照して説明する。
図8は、本実施形態に係る分類装置における計算処理の処理内容の一例を説明する説明図である。
テーブルT2では、最初のレコードの文章データには、文章データとして「テキストAAAB」が記述され、付随情報として「44Like」が記述されている。文章データの要素となるトークン(単語)のそれぞれの項目列には、関連抽出部711および共通抽出部712が抽出した単語「リンゴ」、「操作性」、・・・、「遺産」が記述されている。そして、最後のレコードの文章データには、文章データとして「テキストXDCF」が記述され、付随情報として「5Like」が記述されている。文章データの要素となるトークン(単語)のそれぞれの項目列には、関連抽出部711および共通抽出部712が抽出した単語「音楽」、「芸術」、・・・、「リンゴ」が記述されている。
当該テーブルT2に対して、計算処理部72は、以下のステップST101を行う。
なお、トピックとは、テーマトピックとトレンドトピックとを総称したものである。また、Zは、トピックの数を表す。
【0065】
図7に戻って、ステップST101において、計算処理部72は、関連抽出部711および共通抽出部712が単語の抽出を行った文章データ、当該文章データの付随情報、関連抽出部711および共通抽出部712が抽出した単語のそれぞれに対して、文章データID、付随情報ID、単語IDを付加する。
図9を参照して、ステップST101の処理を詳細に説明する。
【0066】
図9は、本実施形態に係る分類装置における計算処理の処理内容の一例を説明する説明図である。
テーブルT3は、テーブルT2に対して、ステップST101で、文章データID、付随情報ID、単語IDを割り振る処理を行ったときの一例である。
テーブルT3に図示するように、最初のレコードの文章データには、文章データIDとして「000」が割り当てられ、付随情報IDとして「44」が割り当てられる。トークン1〜トークンN_
dに対して、単語ID「0000」、「0003」、・・・、「0120」がそれぞれ割り振られる。そして、最後のレコードの文章データでは、文章データIDとして「086」が割り当てられ、付随情報IDとして「0211」が割り当てられる。そして、トークン1〜トークンN_
dに対して、単語ID「121234」、「03043」、・・・、「0000」がそれぞれ割り振られる。なお、同一のトークンには、同一のトークンIDが割り振られる。
【0067】
図7に戻って、ステップST102において、計算処理部72は、トピックの確率変数の数(G、C)およびハイパーパラメータ(α、β、γ、ε)の初期値を設定する。また、計算処理部72は、ギブスサンプリングの計算処理の繰り返し回数を、トピックの確率変数の数(G、C)により設定する。
ステップST103において、計算処理部72は、トピックの確率変数の数(G、C)のそれぞれの値の範囲で乱数を発生し、その値をトピックの確率変数(g、c)およびスイッチ変数rに与える。
図9を参照して、ステップST103の処理を詳細に説明する。
【0068】
図9のテーブルT4は、ステップST101の処理を行ったテーブルT3に対してトピックの確率変数に、乱数が挿入されたときの一例である。トピック1において、テーマトピックの数Gを、例えば、20とすると、テーマトピックの確率変数の欄には、例えば「0」〜「19」の範囲の乱数値が挿入される。同様に、トレンドトピックの数Cを例えば15とすると、トレンドトピックの確率変数の欄には、例えば、「0」〜「14」の範囲の乱数値が挿入される。
図8のテーブルT2の例では、最初のレコードの文章データには、トピック「1」〜「N
_d」として、それぞれに対応するテーマトピックの確率変数の欄およびトレンドトピックの確率変数の欄に、「11」、「5」、「8」、「13」、・・・、「3」、「9」が挿入されている。そして、最後のレコードの文章データには、トピック「1」〜「N
_d」として、それぞれに対応するテーマトピックの確率変数の欄およびトレンドトピックの確率変数の欄に、「2」、「4」、「1」、「5」、・・・、「11」、「6」が挿入されている。
【0069】
図7に戻って、ステップST104において、計算処理部72は、ギブスサンプリングで確率変数の取得を行う。具体的には、割当部721は、付随情報に関連する単語(テーマトピック)に対応するテーマトピックの確率変数の数の値Gを割り当てる。また、割当部721は、付随情報に関連する単語以外であって同一カテゴリーの文章データに共通して出現する単語(トレンドトピック)に対応するトレンドトピックの確率変数の数の値Cを割り当てる。
【0070】
算出部722は、割当部721が値(G、C)を割り当てた全ての単語(テーマトピックおよびトレンドトピック)について、テーマトピックの確率変数と、トレンドトピックの確率変数と、これらのテーマトピックの確率変数とトレンドトピックの確率変数とに関するスイッチとして使用されるスイッチ変数とを潜在変数として、統計的な手法、例えば、ギブスサンプリングにより、当該テーマトピックの確率変数とトレンドトピックの確率変数とに関するスイッチとして使用されるスイッチ変数とを推定する。
【0071】
ステップST105において、計算処理部72は、ステップST102からST104の処理を繰り返し、ギブスサンプリングの繰り返し数がトピックの確率変数の数(G、C)により設定した繰り返し数に達したら、計算処理を終了する。
このように、本実施形態では、ギブスサンプリングにより、確率変数の取得が行われる。
図10は、
図2に示したグラフィカルモデルにおける各ノードと、ギブスサンプリングにより取得される確率変数(
図9におけるテーブルT4)との対応を示している。
【0072】
次に、本実施形態において、ギブスサンプリングにより各確率変数が求められることについて説明する。
本実施形態では、
図11に示すように、確率変数を統計的処理により取得するために、ディリクレ分布およびベータ分布を導入している。ディリクレ分布は、連続型の確率分布であるが、積分することにより、離散型に変換できる。
【0073】
文章データ全体の同時確率は、ディリクレ分布およびベータ分布を導入すると、以下のようになる。
【0075】
ここで、w
diは、文章データdのi番目の単語(iは整数)を表し、φ
cdiは、文章データdにおけるi番目のトレンドトピックの確率変数cに対する単語の確率分布φを表す。また、c
dは、文章データdにおけるトレンドトピックの確率変数cを表し、Ψ
dgdは、文章データdにおけるテーマトピックの確率変数gに対するトレンドトピックの確率分布Ψであり、t
dは、文章データdにおけるタイムスタンプを表す。また、λ
cdは、文章データdにおけるトレンドトピックの確率変数cに対するトレンドの確率分布λを表し、g
dは、文章データdにおけるテーマトピックの確率変数gを表し、r
diは、文章データdにおけるi番目のスイッチ変数rを表す。
【0076】
式(1)に対して、確率分布φ、μ、Ψ、θについて積分することで、多項分布のパラメータは消去でき、以下の式(2)に変形できる。確率変数の推定におけるギブスサンプリングに用いる式は、式(2)である。すなわち、上述のディリクレ分布を積分した式(1)から、以下のように、条件付き確率を導出する式(2)が求められる。テーマトピックj、トレンドトピックk、かつ、スイッチ変数rが{0、1、2、3}である確率を導出する式は、以下のようになる。
【0078】
ここで、n
dj_diは、i番目(iは整数)の文章データdを除く文章データdにおけるテーマトピックjに対する単語の数を表し、n
djk_diは、i番目の文章データdを除く文章データdにおけるテーマトピックjとトレンドトピックkとに対する単語の数を表し、α
jは、テーマトピックjに対するハイパーパラメータαを表す。また、n
dg_diは、i番目(iは整数)の文章データdを除く文章データdにおけるテーマトピックの確率変数gの数を表し、α
gは、テーマトピックの確率変数gに対するハイパーパラメータαを表す。β
kは、トレンドトピックkに対するハイパーパラメータβを表すし、n
djcは、文章データdにおけるテーマトピックjに対するトレンドトピックの確率変数cの数を表す。β
cは、トレンドトピックの確率変数cに対するハイパーパラメータβを表し、n
d0は、文章データdにおけるスイッチ変数r=0のときの単語の数を表す。ε
0は、スイッチ変数r=0のときのハイパーパラメータεを表し、n
drは、文章データdにおけるスイッチ変数rの単語の数を表す。
【0079】
また、ε
rは、スイッチ変数rのときのハイパーパラメータεを表し、n
bvは、文章データdにおけるバックグラウンドトピックvの単語の数を表す。γ
vは、バックグラウンドトピックvに対するハイパーパラメータγを表し、n
bwは、バックグラウンドトピックbに対する単語の確率変数wの数を表す。γ
wは、単語の確率変数wに対するハイパーパラメータγを表し、n
d1は、文章データdにおけるスイッチ変数r=1のときの単語の数を表す。ε
1は、スイッチ変数r=1のときのハイパーパラメータεを表し、n
d2は、文章データdにおけるスイッチ変数r=2のときの単語の数を表す。ε
2は、スイッチ変数r=2のときのハイパーパラメータεを表し、n
jvは、テーマトピックjに対するバックグラウンドトピックvの単語の数を表す。n
jwは、テーマトピックjに対する単語の確率変数wの数を表し、n
d3は、文章データdにおけるスイッチ変数r=3のときの単語の数を表す。
【0080】
また、ε
3は、スイッチ変数r=3のときのハイパーパラメータεを表し、n
kvは、トレンドトピックkに対するバックグラウンドトピックvの単語の数を表し、n
kwは、トレンドトピックkに対する単語の確率変数wの数を表す。λ
k1は、スイッチ変数r=1のときのトレンドトピックkに対するトレンドの確率分布λを表し、λ
k2は、スイッチ変数r=2のときのトレンドトピックkに対するトレンドの確率分布λを表す。r
jは、テーマトピックjに対するスイッチ変数rを表す。
【0081】
本実施形態におけるギブスサンプリングの処理手順は、まず、テーマトピックの確率変数gおよびトレンドトピックの確率変数cを確率分布に基づいて取得し、全てのトピックの組み合わせについて、スイッチ変数r=0〜3を全て取得し、予め決められたサンプリング数に達するまで、確率変数を更新する。
【0082】
なお、このような計算を行う際に、一括計算では、計算量が多くなるため、本実施形態では、列ごとに計算して、確率変数を更新する。これにより、最適解が得られる。そして、本実施形態では、全て埋め終えたら初期値の影響をなくすために、再度計算をやり直し、前回の状態とは比較せず、確率が高くなるように、確率変数を更新する。
【0083】
式(3)は、式(2)をHadoopなどにより実行可能な形に変形したものである。式(3)により、Hadoopの各ノードにあるデータに対して、Mapで処理を行い、Reduceで集約を行い、その結果をHDFS(Hadoop Distributed File System:分散ファイルシステム)で共有し、Map側の入力データとして利用される。
【0086】
式(4)は、式(3)によりHDFSで共有される結果を表し、当該式(4)がMap側の入力データとなる。以降、式(3)および式(4)の処理を任意の回数繰り返す。
【0087】
図12は、本実施形態により単語の抽出を行ったときの一例を示す説明図である。
テーブルT5は、テーマトピック(theme)と、分布(distribution)と、第1のトレンドトピック(trend1)と、第2のトレンドトピック(trend2)と、第3のトレンドトピック(trend3)と、の各項目列を有する。例えば、テーマトピックの最初の行には、training、learning、classification、feature、supervise、analysis、label、vector、regression、trainが格納される。
【0088】
また、分布の最初の行には、横軸に時刻を1で正規化したもの、縦軸に確率密度をそれぞれとり、第1から第3のトレンドトピックに対応する単語の確率密度の特性が格納される。例えば、第1のトレンドトピックに対応する特性は、横軸0.3付近で、確率密度のピークを迎え、第2のトレンドトピックに対応する特性は、横軸0.4から0.9あたりにおいて、ほぼ変化のない確率密度となり、第3のトレンドトピックに対応する特性は、横軸0.9付近で確率密度のピークを迎える。各分布の曲線は、ベータ分布に従う。また、当該確率密度の特性は、観測変数tとして、時刻を用いているため、第3のトレンドトピックに対応する特性が、最近話題になっているトピックであることを表し、第1のトレンドトピックに対応する特性が、以前に話題になったトピックであることを表している。
【0089】
また、第1のトレンドトピックの最初の行には、web、algorithm、database、tree、retrieval、human、feedback、svm、requires、relevantが格納される。
また、第2のトレンドトピックの最初の行には、information、application、queries、relations、ontology、ranking、hypertext、unstructured、graphs、precisionが格納される。
また、第3のトレンドトピックの最初の行には、probabilistic、models、model、knowledge、framework、future、access、statistics、commercial、networksが格納される。
【0090】
また、テーブルT5におけるテーマトピックの最後の行には、wars、star、lucas、jar、episode、phantom、menace、effects、trilogy、dvdが格納される。
また、分布の最後の行には、横軸に評点を1で正規化したもの、縦軸に確率密度をとり、第1から第3のトレンドトピックに対応する単語の確率密度の特性が格納される。なお、当該最後の行における第1から第3のトレンドトピックは、第1から第3のスコアトピックを表す。
【0091】
例えば、第1のスコアトピックに対応する特性は、横軸0.1付近で、確率密度のピークを迎え、第2のスコアトピックに対応する特性は、横軸0.5付近で、確率密度のピークを迎え、第3のスコアトピックに対応する特性は、横軸0.8付近で確率密度のピークを迎える。各分布の曲線は、ベータ分布に従う。また、当該確率密度の特性は、観測変数tとして、評点(スコア)を用いているため、第3のスコアトピックに対応する特性が、評点の高いトピックであることを表し、逆に第1のスコアトピックに対応する特性が、評点の低いトピックであることを表している。
【0092】
また、第1のトレンドトピックの最後の行、すなわち、第1のスコアトピックの最後の行には、years、long、look、actor、expensive、second、picture、price、old、justが格納される。
また、第2のトレンドトピックの最後の行、すなわち、第2のスコアトピックの最後の行には、family、good、fans、enjoy、quality、make、people、funny、special、qualityが格納される。
また、第3のトレンドトピックの最後の行、すなわち、第3のスコアトピックの最後の行には、great、best、really、love、better、like、feel、know、highly、recommendが格納される。
【0093】
ここで、言語モデルの有用性の評価指標としては、例えば、PPXがあり、確率モデルの予測能力を評価する指標である。このPPXの値は、値が小さいほど、モデルの予測精度が高いことを表す。一般式として、次のように表される。
【0095】
ここで、Wは、単語の数を表し、hは、サンプル数を表し、θ
hzは、サンプル数h、文章データdにおけるトピックの確率変数zの確率分布θを表す。φ
hzvは、サンプル数h、トピックの確率変数zに対する単語の確率変数vの確率分布φを表す。トピックの確率変数zは、上述のテーマトピックの確率変数およびトレンドトピックの確率変数cである。
本実施形態では、トピックをテーマトピックとトレンドトピックとで階層化しているため、式(5)を変形して、次のように表すことができる。
【0097】
ここで、μ
hd0(μ
hd1、μ
hd2、μ
hd3)は、文章データdにおけるスイッチ変数rが0から3のときのスイッチ変数rの確率分布μ
d0(μ
d1、μ
d2、μ
d3)を表す。また、θ
hdg(Ψ
hdgc)は、サンプル数hのときの文章データdにおけるテーマトピックの確率変数g(トレンドトピックの確率変数c)の確率分布θ(Ψ)を表す。
【0098】
図13は、本実施形態および各比較例により単語の抽出を行ったときの一例を示す説明図である。
テーブルT6は、データ(Data)と、第1の比較例と、第2の比較例と、第3の比較例と、本実施形態と、の各項目列を有する。
データの各行は、計算対象の文章データが異なる。また、各比較例では、トピックであるのに対し、本実施形態では、当該トピックがテーマトピック、トレンドトピックの二つのトピックである点が異なる。
【0099】
テーブルT6の各列には、各比較例に対しては式(5)を用い、本実施形態に対しては式(6)を用いて算出した評価指標が格納される。図示するように、Data1〜Data4の各データにおいて、本実施形態における評価指標の値が、比較例と比べて小さく、本実施形態のモデルの予測精度が高いことを表している。
【0100】
図14は、本実施形態および各比較例により単語の抽出を行ったときの一例を示す説明図であり、
図13におけるテーブルT6のData3の行に対応する各比較例、本実施形態におけるそれぞれの評価指標の特性である。
横軸は、本実施形態に対してはテーマトピック、トレンドトピックの数を表し、各比較例ではトピックの数を表す。
図示するように、本実施形態における評価指標の値は、各比較例の評価指標の値と比べて小さく、本実施形態のモデルの予測精度が高いことを表している。
【0101】
図15は、本実施形態および各比較例により単語の抽出を行ったときの一例を示す説明図である。
テーブルT7は、各比較例と本実施形態により単語の抽出を行ったときの予測誤差の値を示したものである。当該予測誤差の値は、値が小さいほど予測誤差が少なく、予測精度が高いことを表している。
図示するように、本実施形態では、データの種類や観測変数(t、v)の種類によらず、観測変数の予測誤差の値が各比較例の値と比べて小さく、予測精度が高いことを表している。
【0102】
なお、上述の説明では、単語を、英単語として説明しているが、英単語に限定されず、日本語、その他の言語でも、単語の抽出することが可能である。
【0103】
また、本実施形態の計算サーバ52の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムを、コンピュータシステムに読み込ませ、実行することにより、計算サーバ52に係る上述した種々の処理を行ってもよい。
【0104】
このように、本実施形態によれば、分類装置(計算サーバ52)は、文章情報と当該文章情報に対応する付随情報とに対して、文章情報から前記付随情報に関連する単語を抽出する関連抽出部711と、関連抽出部711が抽出した付随情報に関連する単語以外であって同一カテゴリーの文章情報に共通し、かつ高頻度で出現する単語を抽出する共通抽出部712と、を備える。
【0105】
これにより、分類装置(計算サーバ52)は、文章情報と当該文章情報に対応する付随情報とから、付随情報に対応する特徴、および当該付随情報に対応する特徴以外であって同一カテゴリーの文章情報に共通して出現する特徴を抽出することができる。
【0106】
なお、ここでいう「コンピュータシステム」とは、OSや周辺機器などのハードウェアを含むものであってもよい。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリなどの書き込み可能な不揮発性メモリ、CD−ROMなどの可搬媒体、コンピュータシステムに内蔵されるハードディスクなどの記憶装置のことをいう。
【0107】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネットなどのネットワークや電話回線などの通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置などに格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。
【0108】
ここで、プログラムを伝送する「伝送媒体」は、インターネットなどのネットワーク(通信網)や電話回線などの通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0109】
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計なども含まれる。