【文献】
川前 徳章,著者の興味と文書の内容の依存関係に着目した潜在変数モデル,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2009年 5月15日,Vol.109 No.51,19−24ページ
(58)【調査した分野】(Int.Cl.,DB名)
前記スイッチ変数が割り当てられた対象トークンに対応付けられた前記トピックと、前記対象トークンの直前の前記トークンの出現確率分布と、前記トークンの数とに応じて、前記対象トークンの確率変数が決定される関係にあること
を特徴とする請求項1に記載の分類装置。
前記決定部は、前記文章データに含まれるアイテムごとに与えられた固有の文字列であるアイテム変数に関連づけられた一つ以上の前記トークンごとの前記トピックを決定すること
を特徴とする請求項2に記載の分類装置。
前記トピック変数を決定する出現確率分布は、前記トピックごとの階層クラスの出現確率分布と、前記文章データごとの階層クラスと、文章全体での階層クラスと、前記トークンの階層クラスとのいずれか一つ以上によって決定され、前記アイテムに対応する特徴量に基づいて、前記文章データから前記アイテムごとのn−グラム(nは整数)を抽出する抽出部をさらに備えること
を特徴とする請求項4に記載の分類装置。
【発明を実施するための形態】
【0016】
(比較例)
以下、本発明の実施形態と比較する比較例について図面を参照しながら詳しく説明する。
図12は、このようなグラフィックモデルを示すものである。
図12において、ノード101は、ハイパーパラメータαのノードである。ハイパーパラメータαは、トピックの確率分布θ
dを求めるのに用いられる。ハイパーパラメータαは、初期値としてランダム値が用いられる。
ノード102は、文書データ毎に特異なトピックの確率分布θ
dを求めるノードである。ここで、Dは、文書の数を表し、トピックの確率分布θ
dは、文書毎に存在するD種類となる。
【0017】
ノード103
1、・・・、103
i、103
i+1、・・・は、トピックの確率変数z(z1、・・・、z
i、z
i+1、・・・)を取得するノードである。すなわち、ノード103
1、・・・、103
i、103
i+1、・・・は、文書データから、ノード102で求められた文書毎に特異なトピックの確率分布θ
dに基づき、トピックの確率変数z
1、・・・、z
i、z
i+1、・・・を取得する。ここで、z
iは、i番目(iは任意の整数)の単語(トークン:単語の最小単位)に関連するトピックである。
【0018】
ノード104は、ハイパーパラメータβのノードである。ハイパーパラメータβは、単語の確率分布φを求めるために用いられる。ハイパーパラメータβは、初期値としてランダム値が用いられる。
ノード105は、トピック毎に特異な単語の確率分布φを求めるノードである。トピックの数はZであり、ノード105の単語の確率分布φは、Z種類となる。
【0019】
ノード106は、ハイパーパラメータεのノードである。ハイパーパラメータεは、次の単語間状態の確率分布σを求めるために用いられる。ハイパーパラメータεは、初期値としてランダム値が用いられる。
ノード107は、以前の単語と以前のトピック毎に特異な次の単語間状態の確率分布σを求めるためのノードである。なお、次の単語間状態の確率分布σは、(Z×W)種類となる。
【0020】
ノード108は、ハイパーパラメータγのノードである。ハイパーパラメータγは、次の単語の確率分布ψを求めるために用いられる。ハイパーパラメータγは、初期値としてランダム値が用いられる。
ノード109は、以前の単語と現在のトピック毎に特異な次の単語の確率分布ψを求めるノードである。ここで、Zは、トピックの数、Wは、単語の数を表し、次の単語の確率分布ψは、(Z×W)種類となる。
【0021】
ノード110
1、・・・、110
i、110
i+1、・・・は、単語を取得するノードである。すなわち、ノード110
1、・・・、110
i、110
i+1、・・・は、ノード103
1、・・・、103
i、103
i+1、・・・で取得されたトピックz
1、・・・、z
i、z
i+1、・・・から、ノード105で求められた単語の確率分布φに基づき、単語の確率変数w
1、・・・、w
i、w
i+1、・・・を取得する。また、ノード110
i、110
i+1、・・・は、以前の単語と現在のトピックから、ノード109で求められた次単語の確率分布ψに基づき、次の単語の確率変数w
i、w
i+1、・・・を取得する。ここで、w
iは、i番目(iは任意の整数)の単語を表す。
【0022】
ノード111
i、111
i+1、・・・は、以前の単語と以前のトピックとから、次の単語間の状態を取得するノードである。すなわち、ノード111
i、111
i+1、・・・は、ノード103
1、・・・、103
i、103
i+1・・・で取得された以前のトピックz
1、・・・、z
i、z
i+1、・・・と、ノード110
1、・・・、110
i、110
i+1、・・・で取得された以前の単語w
1、・・・、w
i、w
i+1、・・・とから、ノード107で求められた次の単語間状態の確率分布σに基づき、次の単語間の状態の確率変数x
i、x
i+1、・・・を取得する。ここで、次の単語間の状態の確率変数xは、(i−1)番目の単語とi番目の単語との間の2語の状態の確率であり、x
iとして表される。
【0023】
(実施形態)
以下、本発明の実施形態について図面を参照しながら詳しく説明する。
本実施形態は、文章から、文章データの対象となったアイテムに相当する特徴量、およびアイテムに相当する特徴量に対応するn−グラムを同時に抽出するものである。
【0024】
図1は、本発明の第1の実施形態により実現される2−グラム抽出の一例を示す概念図である。
例えば、
図1に示すように、実施形態では、文書データ200中のアイテム「England」に関する文書データ201から、その特徴を示す2−グラムとして、「Tower Bridge」、「Buckingham Palace」、「Royal Family」などを抽出できる。また、文書データ200中のアイテム「America」に関する文書データ202から、その特徴を示す2−グラムとして、「Rocky Mountains」、「Wall Street」、「Niagara Falls」を抽出できる。
【0025】
図2は、本実施形態に係るグラフィカルモデルである。
図2において、ノード11は、ハイパーパラメータαのノードである。ハイパーパラメータαは、トピックの確率分布θ
dを求めるためのものである。ハイパーパラメータαは、初期値としてランダム値が用いられる。
【0026】
ノード12は、アイテムが関連付けられた文章毎に特異なトピックの確率分布θ
dを求めるノードである。トピックの確率分布θ
dは、例えば、多項分布である。ここで、文章とは、例えば、レビューデータなどである。また、レビューデータには、例えば、インターネット上でのブログやウェブページなどが用いられる。また、レビューとは、顧客が購入した商品や店舗の評価および感想の文書や、ホテルやレストランを利用した顧客がインターネット上において記載した評価および感想の文書などである。また、アイテムとは、店舗名や本のタイトル、CDやDVDのタイトルなどである。本実施形態では、トピックの確率分布θ
dとして、ディレクレ分布を用いている。ディレクレ分布は、連続型の確率分布であるが、積分することにより、離散値として計算できる。ここで、Dは、レビューデータの数を表し、トピックの確率分布θ
dは、レビューデータ毎にD種類となる。
【0027】
ノード13
1、・・・、13
i、13
i+1、・・・は、トピックの確率変数z(z
1、・・・、z
i、z
i+1、・・・)を取得するノードである。すなわち、ノード13
1、・・・、13
i、13
i+1、・・・は、レビューデータから、ノード12で求められたレビューデータ毎に特異なトピックの確率分布θ
dに基づき、トピックの確率変数z
1、・・・、z
i、z
i+1、・・・を取得する。ここで、z
iは、i番目(iは任意の整数)の単語(トークン:単語の最小単位)に関連するトピックである。また、N
dは、レビューデータの中の単語の数を表す。
【0028】
ノード14は、ハイパーパラメータβのノードである。ハイパーパラメータβは、単語の確率分布φを求めるためのものである。ハイパーパラメータβは、初期値としてランダム値が用いられる。
【0029】
ノード15は、単語の確率分布φを求めるノードである。本実施形態では、スイッチ変数r(r
1、・・・、r
i、r
i+1、・・・)に応じて、単語を取得する確率分布を、クラス毎に切り替えている。このため、単語の確率変数を取得するための確率分布φを、クラス毎の確率分布に対応するように、単語の確率分布に拡張している。すなわち、本実施形態では、単語の確率変数w(w
1、・・・、w
i、w
i+1、・・・)を取得するための確率分布φを、スイッチ変数r(r
1、・・・r
i、r
i+1、・・・)により、トピック毎のクラスの確率分布と、レビューデータ毎のクラスの確率分布と、全体でのクラスの確率分布とで切り替えている。ここで、w
iは、i番目(iは任意の整数)の単語を示し、r
iは、i番目の単語に対するスイッチ変数を示す。単語の確率分布φは、例えば、多項分布である。本実施形態では、単語の確率分布φとして、ディレクレ分布を用いている。トピックの数は、Zであり、レビューデータの数は、Dであり、全体として扱う数は「1」であるから、ノード15の単語の確率分布φは、(Z+D+1)種類となる。
【0030】
ノード16は、ハイパーパラメータγのノードである。ハイパーパラメータγは、次の単語の確率分布ψを求めるためのものである。ハイパーパラメータγは、初期値としてランダム値が用いられる。
【0031】
ノード17は、以前の単語と現在のトピック毎に特異な次の単語の確率分布ψを求めるノードである。次の単語の確率分布ψは、例えば、多項分布である。本実施形態では、次の単語(次トークン)の確率分布ψとして、ディレクレ分布を用いている。ここで、Zは、トピックの数を表し、Wは、単語の数を示し、次の単語の確率分布ψは、(Z×W)種類となる。ここで、次の単語(対象トークン)の確率変数は、スイッチ変数が割り当てられた次の単語に対応付けられた直前の単語と、直前の単語の出現確率分布と、トークンの数とに応じて決定される。
【0032】
ノード18は、ハイパーパラメータεのノードである。ハイパーパラメータεは、スイッチ変数の確率分布μ
dを求めるためのものである。ハイパーパラメータεは、初期値としてランダム値が用いられる。
【0033】
ノード19は、レビューデータ毎に特異なスイッチ変数の確率分布μ
dを求めるノードである。スイッチ変数の確率分布μ
dは、例えば、多項分布である。本実施形態では、スイッチ変数の確率分布μ
dとして、ディレクレ分布を用いている。レビューデータの数は、上述のレビューデータの数Dであり、スイッチ変数の確率分布μ
dは、D種類となる。
【0034】
ノード20
1、・・・、20
i、20
i+1、・・・は、スイッチ変数r(r
1、・・・、r
i、r
i+1、・・・)を取得するノードである。すなわち、ノード20
1、20
i、20
i+1は、レビューデータから、ノード19で求められたレビューデータ毎のスイッチ変数の確率分布μ
dに基づき、スイッチ変数r(r
1、・・・、r
i、r
i+1、・・・)を取得する。
【0035】
ここで、スイッチ変数rは単語の機能を示している。単語の機能とは、例えば、抽出される単語「高い」は、商品の「値段」なのか、お店の「評価」なのかの違いを扱うためのものである。スイッチ変数rとしては、例えば、r=0、r=1、r=2、r=3の4種類がある。各スイッチ変数と単語の機能との関係は、以下の通りである。
【0036】
r=0:全レビューデータ共通の単語
r=1:各レビューデータ固有の単語(各レビュー独特な単語など)
r=2:各トピック(種目、商品種別など、例えば、ディジタルカメラ、サッカー)に共通する単語
r=3:各トピックに共通かつ前の単語と連結する単語
【0037】
ノード21
1、・・・、21
i、21
i+1、・・・は、単語の確率変数w(w
1、、・・・、w
i、w
i+1、・・・)を取得するノードである。ノード21
1、・・・、21
i、21
i+1、・・・は、スイッチ変数r(r
1、、・・・、r
i、r
i+1、・・・)に応じて、単語を取得する確率分布を、クラス毎に切り替えている。すなわち、ノード21
1、・・・、21
i、21
i+1・・・は、スイッチ変数が(r=0)のときには、ノード15で求められた全体での単語のクラスの確率分布φに基づき、単語の確率変数w(w
1、・・・、w
i、w
i+1、・・・)を取得する。また、ノード21
1、・・・、21
i、21
i+1、・・・は、スイッチ変数が(r=1)のときには、ノード15で求められたレビュー毎の単語のクラスの確率分布φに基づき、単語の確率変数w(w
1、・・・、w
i、w
i+1、・・・)を取得する。
【0038】
また、ノード21
1、・・・、21
i、21
i+1、・・・(単語取得部)は、スイッチ変数が(r=2)のときには、ノード15で求められたトピック毎の単語のクラスの確率分布φに基づき、単語の確率変数w(w
1、・・・、w
i、w
i+1、・・・)を取得する。また、ノード21
1、・・・、21
i、21
i+1、・・・は、スイッチ変数が(r=3)のときには、ノード17で求められた現在のトピックと前の単語のクラスの確率分布ψに基づき、次の単語の確率変数w(w
i、w
i+1、、・・・)を取得する。なお、単語の確率変数wは、観測変数である。
【0039】
ノード22は、ハイパーパラメータηのノードである。ハイパーパラメータηは、アイテムの確率分布ωを求めるためのものである。ハイパーパラメータηは、初期値としてランダム値が用いられる。
【0040】
ノード23は、トピック毎に特異なアイテムの確率分布ωを求めるノードである。アイテムの確率分布ωは、例えば、多項分布である。本実施形態では、アイテムの確率分布ωとして、ディレクレ分布を用いている。ここで、Zはトピックの数を表し、アイテムの確率分布ωは、Z種類となる。
【0041】
ノード24は、アイテムの確率変数を取得するノードである。すなわち、ノード24は、ノード13
1、・・・、13
i、13
i+1、・・・で取得されたトピックの確率変数z(z
1、・・・、z
i、z
i+1、・・・)から、ノード23で求められたトピック毎に特有なアイテムの確率分布ωに基づき、アイテムの確率変数m
dを取得する。
【0042】
このように、本実施形態では、スイッチ変数rを導入し、レビューデータ毎に特有な確率分布μ
dに基づき、単語の機能の違いにより、単語の出現の確率変数をクラス毎に取得している。これにより、n−グラムを、人手を介すことなく、また、辞書などを用いずに、一意に抽出できる。また、本実施形態では、各アイテムに相当する特徴量を抽出するためにアイテム変数mを導入し、その出現をコントロールする確率分布ωを導入している。これにより、アイテム毎の特徴に相当する特徴量を、人手を介すことなく、一意に抽出することができる。そして、本実施形態では、n−グラムの抽出とアイテムの特徴に相当する特徴量の抽出とが同時に行えることから、アイテム毎の特徴に相当する特徴量を反映したn−グラムを、人手を介すことなく、一意に抽出できる。なお、ここで、一意とは、誰がやっても常に同じ結果になることを意味する。
【0043】
また、本実施形態では、スイッチ変数が(r=3)のときにのみ、現在のトピックと前の単語の確率分布ψに基づき、次の単語の確率変数wを取得している。具体的には、各スイッチ変数に応じて単語の機能の違いを判定し、スイッチ変数が(r=2、3)のときにトピックの違いを判定する。ここで、単語の機能の違いとは、例えば、単語「高い」は、商品の「値段」に対するものなのか、店舗の「評価」に対するものなのかの違いのことである。次の単語の確率変数wを取得するには、(Z×W)種類の確率分布が必要になり、演算量が膨大になる。本実施形態では、このような演算は、スイッチ変数が(r=0、1、2)のときには行われないため、演算量の削減が図れる。
【0044】
次に、
図2に示したようなグラフィックモデルで示される処理について、具体的に説明する。
図3は、本実施形態に係る分類システムの構成の一例を示す概略図であり、
図4は、分類装置の構成の一例を示す概略ブロック図である。
図3に示すように、本発明の実施形態に係るシステムは、ファイルサーバ51と、計算サーバ52と、データベース53と、サービスサーバ54とから構成される。
【0045】
ファイルサーバ51は、
図4に示すように、計算対象となるレビューデータを保存するデータファイル保存部61を備えている。データファイル保存部61に保存するレビューデータは、インターネット上のブログの文書や、ウェブページの文書などである。また、レビューデータは、アイテムとレビューとが関連付けられた文書データである。なお、計算対象となるレビューデータは、インターネット上の文書に限られるものではない。
【0046】
計算サーバ52は、ファイルサーバ51から計算対象のレビューデータを取り出し、
図2に示したグラフィックモデルで示されるような計算処理を行い、計算結果を出力する。計算サーバ52は、
図4に示すように、事前処理部71と、計算処理部72とを備えている。計算処理部72は、割当部721と、算出部722と、決定部723と、抽出部724とを備えている。
【0047】
事前処理部71は、計算処理対象のレビューデータを含むファイルから、単語およびアイテムを抽出する。そして、事前処理部71は、抽出した単語およびアイテムに単語IDおよびアイテムIDを付加し、その対応表をファイルシステムに保存する。
【0048】
計算処理部72は、事前処理部71で処理されたデータを入力し、
図2に示したグラフィックモデルに対応するような計算処理を行う。本実施形態では、確率変数の取得に、ギブスサンプリングを用いている。計算処理部72の計算処理については、後述する。
【0049】
データベース53は、
図4に示すように、計算結果記憶部81を有している。計算サーバ52の計算処理部72の計算結果は、データベース53に送られ、計算結果記憶部81に保存される。
図5のテーブルT1に示すように、計算結果としては、確率変数と、各確率分布のパラメータからなる。確率変数は、アイテムの確率変数mと、スイッチ変数r
iと、トピックの確率変数z
iと、単語の確率変数w
iとが保存される。また、各確率分布のパラメータは、該確率変数を取得するための確率分布とパラメータが保存される。ここで、アイテムの確率変数mと単語の確率変数w
iとが観測変数、スイッチ変数r
iとトピックの確率変数z
iは潜在変数である。
【0050】
サービスサーバ54は、計算結果をサービスの利用のために提供するためのサーバである。
図4に示すように、サービスサーバ54は、呼び出し部91を備えている。
ユーザ端末55からの呼び出しに応じて、呼び出し部91は、ユーザ端末55に計算結果をユーザ端末55に送る。この計算結果は、商品検索、レビュー検索、マーケティングなど、各種のサービスに利用できる。
【0051】
図6は、本実施形態に係る分類装置(計算サーバ52)における計算処理の説明の一例を示すフローチャートである。
図6において、まず、計算サーバ52の事前処理部71は、計算対象のレビューデータについて、レビューIDと、アイテムIDと、単語IDとを割り振る処理を行う(ステップS1)。
つまり、
図7のテーブルT2では、最初のレコードのレビューデータには、レビューとして「レビューAAAB」が記述され、アイテムとして「A型スマートフォン」が付けられている。文書の要素となるトークン(単語)は、「リンゴ」、「操作性」、・・・、「遺産」である。そして、最後のレコードのレビューデータには、レビューとして「レビューXDCFR」が記述され、アイテムとして「A型コンピュータ」が付けられている。文書の要素となるトークン(単語)は、「音楽」、「芸術」、・・・、「リンゴ」である。
【0052】
図7のテーブルT3は、このようなデータに対して、ステップS1で、レビューID、アイテムID、単語IDを割り振る処理を行った場合の例である。
図7のテーブルT3に示すように、最初のレコードのレビューデータには、レビューに、レビューIDとして「000」が割り当てられ、アイテムIDとして「0000」が割り当てられる。トークン1〜トークンN
dに対して、単語ID「0000」、「0003」、・・・、「0120」が割り振られる。そして、最後のレコードのレビューデータでは、レビューに、レビューIDとして「086」が割り当てられ、アイテムIDとして「0211」が割り当てられる。そして、トークン1〜トークンN
dに対して、単語ID「121234」、「03043」、・・・、「000」が割り振られる。なお、同一のアイテムには、同一のアイテムIDが割り振られる。また、同一のトークンには、同一の単語IDが割り振られる。
【0053】
次に、計算サーバ52の計算処理部72は、トピックの確率変数の数(Z)およびハイパーパラメータ(α、β、γ、ε、η)の初期値を設定し、また、ギブスサンプリングの計算処理の繰り返し回数を設定する(ステップS2)。そして、計算サーバ52の計算処理部72は、乱数を発生し、その値をトピックの確率変数zおよびスイッチ変数rに与える(ステップS3)。
【0054】
つまり、
図8のテーブルT4は、ステップS1の処理で、計算対象のレビューデータについて、レビューIDと、アイテムIDと、単語IDとを割り振った状態を示している。このようなデータに対して、
図8のテーブルT5に示すように、トピックの確率変数に、乱数が挿入される。トピックの数Zを、例えば、40とすると、トピックの確率変数の欄には、例えば「0」〜「39」の任意の値が挿入される。
図8のテーブルT5の例では、最初のレコードのレビューデータには、トピック「1」〜「N」として、乱数「11」、「8」、・・・、「3」が挿入されている。そして、最後のレコードのレビューデータには、トピック「1」〜「N」として、乱数「2」、「1」、・・・、「11」が挿入されている。
【0055】
次に、計算サーバ52の計算処理部72は、ギブスサンプリングで確率変数の取得を行う(ステップS4)。具体的には、割当部721は、文章データに含まれる単語であるトークンごとに、トピックを表すトピック変数の値を割り当てる。算出部722は、割当部721が値を割り当てた全てのトピック変数について、トークンの出現確率分布を切り替えるスイッチとして使用されるスイッチ変数ごとに文章データに含まれる全てのトークンが同時に出現する確率を算出する。決定部723は、算出部722が算出した確率に応じて、トピック変数ごとに割り当てられたトピックを決定する。
ギブスサンプリングの繰り返し数が、予め決められた計算の繰り返し数に達したら、計算処理を終了する(ステップS5)。そして、抽出部724は、アイテムに対応する特徴量に基づいて、文章データからアイテムごとのn−グラム(nは整数)を抽出する。
【0056】
このように、本実施形態では、ギブスサンプリングにより、確率変数の取得が行われる。
図9は、各ノードと、ギブスサンプリングにより取得される確率変数との対応を示している。
【0057】
次に、本実施形態において、ギブスサンプリングにより各確率変数が求められることについて説明する。
本実施形態では、
図10に示すように、確率変数の取得を統計的処理により取得するために、ディリクレ分布を導入している。ディリクレ分布は、連続型の確率分布であるが、積分することにより、離散型に変換できる。
【0058】
レビューデータ全体の同時確率は、ディレクリ分布を積分すると、以下のようになる。
【0060】
式(1)より、ディリクレ分布を導入して、積分することで、多項分布のパラメータは消去できる。
ギブスサンプリングに用いる式は、上述のディリクレ分布を積分した式(1)を変形した式(2)である。すなわち、上述のディリクレ分布を積分した式(1)から、以下のように、条件付き確率を導出する式(2)が求められる。トピックzがトピックzの識別子k、または、スイッチ変数rが{0、1、2、3}である確率を導出する式は、以下のようになる。
【0062】
本実施形態におけるギブスサンプリングの処理手順は、まず、トピックの確率変数zトピックの出現確率分布に基づいて取得し、全てのトピックの組み合わせについて、スイッチ変数r=0〜3を全て取得し、予め決められたサンプリング数に達するまで、確率変数を更新する。例えば、
図9のテーブルT6において、トピックの変数が0のとき、スイッチ変数の取りうる値は、r={0、1、2}のいずれかの値であり、r=0、r=1、r=2のとき各々の確率を算出部722は、式(2)を用いて算出する。算出部722は、算出した各々の確率と、0から1の間で発生させた乱数とを比較し、テーブルT6のトピック列の値を更新する。
【0063】
実装時には、算出部722は、更新する確率を累積し、累積した確率の合計値を、累積数で除算する。算出部722は、除算した値が1に近づくようにギブスサンプリングを繰り返し、該値が乱数よりも大きくなるようにテーブルT6を更新する。乱数の発生は、細かく各々の組み合わせについて行ってもよいが、累積した確率と、発生させた乱数との大小関係でスイッチ変数rまたは、トピックの識別子kを決定してもよい。
【0064】
なお、このような計算を行う際に、一括計算では、計算量が多くなるため、本実施形態では、列ごとに計算して、確率変数を更新する。これにより、最適解が得られる。そして、本実施形態では、全て埋め終えたら初期値の影響をなくすために、再度計算をやり直し、前回の状態とは比較せず、確率が高くなるように、確率変数を更新する。
【0065】
図11は、本実施形態により抽出したアイテム特有のフレーズ(2−グラム)と、比較例により抽出したアイテム特有のフレーズ(2−グラム)とを比較したものである。
アイテムの特徴に相当する特徴量は、ノード24から、アイテムの確率変数m
dを示す観測変数として抽出できる。アイテム特有のフレーズ(n−グラム)は、ノード21
1、・・・、21
i、21
i+1、・・・から、単語の確率変数w(w
1、・・・、w
i、w
i+1、・・・)を示す観測変数として抽出できる。ここでは、DVDタイトルと、本のタイトルと、音楽のタイトルをアイテムとして、本実施形態により抽出したフレーズと、
図12に示した比較例により抽出したフレーズとについて、Precision(適合率)とRecall(再現率)とを比較している。
【0066】
ここで、Precisionは、(計算結果の中の正解数/計算結果の数)を示し、Recallは、(計算結果の中の正解数/全ての正解数)を示す。Precisionは、抽出結果中にどれくらい間違った結果が含まれているかの指標となり、Recallは、抽出のとりこぼしがどれくらいあるかの指標となる。基本的に、PrecisionとRecallとは、トレードオフの関係にある。
【0067】
図11に示す結果から、本実施形態では、PrecisionとRecallとの双方について、比較例より、良好な抽出結果が得られることが確認されている。例えば、本のタイトルでは、比較例では、Precisionが「0.69」、Recallが「0.65」であったが、本実施形態では、Precisionが「0.85」、Recallが「0.88」となり、PrecisionとRecallとの双方について、良好な抽出結果が得られている。
【0068】
以上説明したように、本実施形態では、スイッチ変数rを導入し、レビューデータ毎に特有な確率分布μ
dに基づき、単語wの機能の違いにより、単語の出現の確率変数をクラス毎に取得している。また、本実施形態では、各アイテムを抽出するためにアイテム変数mを導入し、その出現をコントロールする確率分布を導入している。これにより、アイテム特有のフレーズを抽出することが可能になる。
【0069】
なお、上述の説明では、n−グラム抽出を、英単語を中心して説明しているが、本発明は、英単語によるn−グラム抽出ばかりでなく、日本語、その他の多言語でも、抽出可能である。
【0070】
また、本実施形態の計算サーバ52の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムを、コンピュータシステムに読み込ませ、実行することにより、計算サーバ52に係る上述した種々の処理を行ってもよい。
【0071】
なお、ここでいう「コンピュータシステム」とは、OSや周辺機器などのハードウェアを含むものであってもよい。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリなどの書き込み可能な不揮発性メモリ、CD−ROMなどの可搬媒体、コンピュータシステムに内蔵されるハードディスクなどの記憶装置のことをいう。
【0072】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネットなどのネットワークや電話回線などの通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置などに格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。
【0073】
ここで、プログラムを伝送する「伝送媒体」は、インターネットなどのネットワーク(通信網)や電話回線などの通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0074】
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計なども含まれる。