JP5677999B2 - 分類装置、分類システム、分類方法及び分類プログラム - Google Patents

分類装置、分類システム、分類方法及び分類プログラム Download PDF

Info

Publication number
JP5677999B2
JP5677999B2 JP2012082951A JP2012082951A JP5677999B2 JP 5677999 B2 JP5677999 B2 JP 5677999B2 JP 2012082951 A JP2012082951 A JP 2012082951A JP 2012082951 A JP2012082951 A JP 2012082951A JP 5677999 B2 JP5677999 B2 JP 5677999B2
Authority
JP
Japan
Prior art keywords
trend
time
distribution
classification
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012082951A
Other languages
English (en)
Other versions
JP2013214149A (ja
Inventor
徳章 川前
徳章 川前
Original Assignee
エヌ・ティ・ティ・コムウェア株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by エヌ・ティ・ティ・コムウェア株式会社 filed Critical エヌ・ティ・ティ・コムウェア株式会社
Priority to JP2012082951A priority Critical patent/JP5677999B2/ja
Publication of JP2013214149A publication Critical patent/JP2013214149A/ja
Application granted granted Critical
Publication of JP5677999B2 publication Critical patent/JP5677999B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、分類装置、分類システム、分類方法及び分類プログラムに関する。
本願発明者は、非特許文献1に示すように、先に、潜在クラスを階層的に用いることで、ユーザの興味を推定するモデルを提案している。このモデルは、インターネット上のブログや、ウェブページ、ツィッター、論文のようなテキストデータから、ユーザ(ブログやウェブページの著者)がどのコミュニティクラスに属し、その文書がどのトレンドクラスに属し、その内容(単語)がどのトピックに属するかを潜在変数として階層的に推定することで、ユーザの興味の推定を行っている。このユーザの興味の推定結果は、マーケティングの需要予測をしたり、そのユーザに最適な広告を提示したり、そのユーザの興味に適合した新たなアイテムをレコメンドしたりするような場合に役立たせることができる。
Noriaki Kawamae: Latent interest-topic model: finding the causal relationships behind dyadic data. CIKM 2010: 649-658
しかしながら、非特許文献1に示されているモデルでは、時系列データからトレンドを抽出できないという問題がある。
本発明は、上記問題に鑑みてなされたものであり、時系列データからトレンドを抽出することを可能とする分類装置、分類システム、分類方法及び分類プログラムを提供することを課題とする。
(1)本発明は前記事情に鑑みなされたもので、本発明の一態様は、トレンドを分類するトレンド部類毎に、データの時刻毎の出現頻度を定めた時刻頻度分布を取得する時刻頻度分布取得部と、前記時刻頻度分布取得部が取得した時刻頻度分布に基づいて、時刻情報を含む対象データを複数のトレンド部類のいずれかに分類するトレンド分類部を備えることを特徴とする分類装置である。
(2)本発明の一態様は、上記の分類装置において、階層毎に、観測変数の確率分布を取得する観測変数確率分布取得部と、前記観測変数確率分布取得部が取得した確率分布を階層に応じて切り替え、切り替えた確率分布に基づいて観測変数を生成する観測変数生成部と、を備えることを特徴とする。
(3)本発明の一態様は、上記の分類装置において、前記対象データ毎に、スイッチ変数の確率分布を取得するスイッチ変数確率分布取得部と、前記スイッチ変数確率分布取得部が取得した確率分布に基づいて、観測変数毎にスイッチ変数を生成するスイッチ変数生成部と、を備え、前記観測変数生成部は、前記観測変数確率分布取得部が取得した確率分布のうち、スイッチ変数取得部が取得したスイッチ変数に応じた階層の確率分布へ切り替えることを特徴とする。
(4)本発明の一態様は、上記の分類装置において、前記時刻頻度分布は、確率分布であることを特徴とする。
(5)本発明の一態様は、トレンドを分類するトレンド部類毎に、データの時刻毎の出現頻度を定めた時刻頻度分布を取得する時刻頻度分布取得部と、前記時刻頻度分布取得部が取得した時刻頻度分布に基づいて、時刻情報を含む対象データを複数のトレンド部類のいずれかに分類するトレンド分類部を備えることを特徴とする分類システムである。
(6)本発明の一態様は、時刻頻度分布取得部が、トレンドを分類するトレンド部類毎に、データの時刻毎の出現頻度を定めた時刻頻度分布を取得する手順と、トレンド分類部が、前記時刻頻度分布取得部が取得した時刻頻度分布に基づいて、時刻情報を含む対象データを複数のトレンド部類のいずれかに分類する手順を有することを特徴とする分類方法である。
(7)本発明の一態様は、コンピュータに、トレンドを分類するトレンド部類毎に、データの時刻毎の出現頻度を定めた時刻頻度分布を取得する時刻頻度分布取得ステップと、前記時刻頻度分布取得ステップにより取得された時刻頻度分布に基づいて、時刻情報を含む対象データを複数のトレンド部類のいずれかに分類するステップを実行させるための分類プログラムである。
本発明によれば、時系列データからトレンドを抽出することができる。
潜在クラスの階層構造を用いたプレファレンスモデルの説明に用いるグラフィカルモデルである。 本発明の実施形態に係るプレファレンスモデルの説明に用いるグラフィカルモデルである。 各ブロックの名称と機能部の名称との対応関係、及び本実施形態の確率分布の具体例と確率分布の名称との対応関係を示す図である。 本発明の実施形態に係る分類システムの概略ブロック図である。 本発明の実施形態に係る分類システムの説明に用いる機能ブロック図である。 本発明の実施形態に係る分類システムにおける確率変数と確率変数に対応するパラメータの一覧表である。 本発明の実施形態に係る分類システムにおける計算処理の説明に用いるフローチャートである。 本発明の実施形態に係る事前処理部における前処理の説明図である。 本発明の実施形態に係る分類システムにおける計算処理の処理内容の説明図である。 本発明の実施形態に係る計算処理部における処理とグラフィカルモデルの関連図である。 本発明の実施形態に係る提案モデルで利用する確率分布を示した図である。 本発明の実施形態に係る分類システムにおける潜在変数を推定するアルゴリズムの説明図である。 上のテーブルは期間毎に集計した映画のタイトル、下のテーブルは提案モデルで推定したトレンドに対応する映画のタイトルである。 本実施形態の手法と従来手法のレコメンドの精度を比較したテーブルである。
以下、本発明の実施の形態について図面を参照しながら説明する。先ず、本発明を理解するために、本発明の実施の形態の説明に先立ち、本願発明者が先に提案しているプレファレンスモデルについて説明する。
図1に示すように、本願発明者は、階層的な潜在クラスを用いることで、ユーザの興味を推定するモデルを提案している。このモデルでは、コミュニティクラスと、トレンドクラスと、トピックの潜在クラスを階層構造でモデル化している。ここで、トレンドとは、
例えば、傾向、趨勢、潮流または流行である。トレンドとは、例えば、ある期間内に、ある単語が出現する頻度の傾向である。
図1において、ブロック11は、コミュニティクラスの多項分布ψを求めるためのハイパーパラメータαのブロックである。ハイパーパラメータαとしては、初期値としてランダム値が用いられる。ブロック12は、コミュニティクラスの多項分布ψを求めるブロックである。
ブロック13は、トレンドクラスの多項分布Ψを求めるためのハイパーパラメータβのブロックである。ハイパーパラメータβとしては、初期値としてランダム値が用いられる。ブロック14は、コミュニティクラス毎のS種類のトレンドクラスの多項分布Ψを求めるブロックである。なお、ここでSはコミュニティクラスの数を示している。
ブロック15は、トピックの多項分布θを求めるためのハイパーパラメータγのブロックである。ハイパーパラメータγとしては、初期値としてランダム値が用いられる。ブロック16は、トレンドクラス毎のC種類のトピックの多項分布θを求めるブロックである。なお、ここでCはトレンドクラスの数を示している。
ブロック17は、トークン内の単語の多項分布φを求めるためのハイパーパラメータδのブロックである。ハイパーパラメータδとしては、初期値としてランダム値が用いられる。トークンは、例えばインターネット上に書かれたブログやウェブページの文書中の区切り(例えば、単語)である。ブロック18は、トピック毎のZ種類のトークン内の単語の多項分布φを求めるブロックである。なお、ここでZはトピックの数を示している。
ブロック19は、ユーザIDからコミュニティクラスの潜在変数sを求めるブロックである。ユーザaがコミュニティクラスsである確率分布が潜在変数sとして示される。ここで、ユーザaは、例えばインターネット上でブログやウェブページを書いた著者であり、ユーザIDにより識別される。また、Aは、ユーザ(著者)の数である。ブロック19は、ユーザIDから、ユーザaがコミュニティクラスsである潜在変数sを、ブロック12からのコミュニティクラスの多項分布ψを用いて求めている。
ブロック20は、文書IDからトレンドクラスの潜在変数cを求めるブロックである。ここで、文書dは、例えばインターネット上に書かれたブログやウェブページの文書であり、文書IDにより識別される。文書dがトレンドクラスcに属している確率分布が潜在変数cとして示される。また、Dは、ユーザ(著者)aが書いた文書の数である。ブロック20は、ブロック19からのユーザaがコミュニティクラスsである潜在変数sにより、ブロック14のコミュニティクラス毎のトレンドクラスの多項分布Ψを対応させ、そして、ブロック20は、対応するコミュニティのトレンドクラスの多項分布Ψにより、文書dがトレンドクラスcに属している確率分布を、潜在変数cとして、推定する。
ブロック21は、各トークンにおけるトピックの潜在変数zを求めるブロックである。トークンから、トピックの潜在変数zを求めるブロックである。i番目のトークンがトピックzに属している確率分布がトピックの潜在変数zとして示されている。ここで、Nは、文書dでのトークンの数である。ブロック21は、ブロック20からの文書dがトレンドクラスcに属している潜在変数cにより、ブロック16のトレンドクラス毎のトピックの多項分布θを対応させ、そして、ブロック21は、トークンから、対応するトピックの多項分布θにより、i番目のトークンがトピックzに属する確率分布を、潜在変数zとして、推定する。
ブロック22は、観測変数wを求めるブロックである。観測変数wは、データから予め決められた規則に基づいて抽出される情報である。例えば、データが本の購入履歴の場合、観測変数wは本のタイトルである。例えば、データがある雑誌の場合、観測変数wは、単語、文、段落又は章のタイトルである。例えば、データが映画の場合、観測変数wは映画のタイトルである。
本実施形態では、一例として観測変数wはトークンの確率分布で、i番目のトークンwの出現確率分布が観測変数wとして示されている。ブロック22は、i番目のトークンがトピックzに属する潜在変数zにより、ブロック18のトピック毎のトークン内の単語の多項分布φを対応させ、そして、ブロック22は、i番目のトークンwの出現確率分布を、観測変数wとして、推定する。
このように、図1に示したモデルは、コミュニティクラスと、トレンドクラスと、トピックの潜在変数を階層的に用いることで、ユーザの興味を推定している。
すなわち、ブロック19は、ユーザaがコミュニティクラスsに属する潜在変数sを推定し、ブロック20は、この潜在変数sを用いて、コミュニティクラス毎のトレンドクラスの多項分布Ψにより、文書dがトレンドクラスcに属する潜在変数cを推定し、ブロック21は、潜在変数cを用いて、トレンドクラス毎のトピックの多項分布θにより、i番目のトークンがトピックzに属する潜在変数zを推定し、ブロック22は、この潜在変数zを用いて、トピック毎のトークン内の単語の多項分布φにより、観測変数wを推定している。
しかしながら、図1に示したモデルでは、文書を作成された日時(タイムスタンプ)がモデルに入っていない。このため、トレンドクラス(各要素の生成と時刻の同時出現確率)を抽出できない。
また、図1に示したモデルでは、トレンドクラスの抽出に必要なデータとそうでないデータとが区別されていない。このため、局所的なトレンドを自動的かつ一意に抽出できない。例えば、文書の中には、新聞のように、誰もがどの時期にでも、購入するものがある。このような全般的な文書は、トレンドを反映するものとして適しているとは言えない。また、業界紙のように、その業界の人にとっては興味があるが、一般的な人にとっては、殆ど興味の対象とならない文章がある。このような局所的な文書も、トレンドを反映するのに適しているとは言えない。
図2は、本発明の第1の実施形態に係るモデルである。図2において、ブロック111、113、115、117は、図1におけるブロック11、13、15、17と同様に、ハイパーパラメータα、β、γ、δのブロックである。
ブロック112、114、116、118は、図1におけるブロック12、14、16、18と同様に、コミュニティクラスの多項分布ψ、トレンドクラスの多項分布Ψ、トピックの多項分布θ、トークン内の単語の多項分布φを求めるブロックである。すなわち、ブロック118は、階層毎に、観測変数wの確率分布φを取得する観測変数確率分布取得部として機能する。本実施形態では、一例として、階層を、コミュニティクラスという階層と、トレンドクラスという階層と、トピックという階層の三つの階層を設ける。ブロック112、114、116については、図1におけるブロック12、14、16と同様である。
なお、本実施形態では、三つの階層に分けたが、これに限らず、タイムスタンプの代わりに位置情報、所得などの観測変数を使うことで、地域による分類という階層、所得による分類という階層などに分けても良い。また、階層の数は2以下でも、4以上でもよい。
トークン内の単語の多項分布φを求めるブロック118については、図1におけるブロック18では、トピック毎のZ種類のトークン内の単語の多項分布φであったのに対して、本実施形態では、トークン内の単語の多項分布φは、トピック毎と、トレンドクラス毎と、コミュニティクラス毎と、全体との(Z+C+S+1)種類の多項分布となっている。トピックがZ種類、トレンドクラスがC種類、コミュニティクラスがS種類あるからである。
ブロック119は、図1におけるブロック19と同様に、コミュニティクラスの潜在変数sを求める。ブロック120は、図1におけるブロック20と同様に、トレンドクラスの潜在変数cを求める。すなわち、ブロック120は、ブロック125が取得した時刻頻度分布に基づいて、時刻情報を含む対象データ(例えば、文章)を複数のトレンド部類のいずれかに分類するトレンド分類部として機能する。
ブロック121は、図1におけるブロック21と同様に、トピックの潜在変数zを求める。ブロック122は、観測変数wを求める。図1におけるブロック22では、観測変数wは、トピック毎のZ種類のトークン内の単語の多項分布φを用いて推定していた。それに対して、この実施形態では、ブロック122は、スイッチの潜在変数rにより、トピック、トレンドクラス、コミュニティクラス、全体のいずれかの階層に切り替えて、推定を行う。
すなわち、ブロック122は、ブロック118が取得した確率分布を階層に応じて切り替え、切り替えた確率分布に基づいて観測変数を生成する観測変数生成部として機能する。より詳細には、ブロック122は、ブロック118が取得した確率分布のうち、ブロック129が取得したスイッチ変数に応じた階層の確率分布へ切り替える観測変数生成部として機能する。
ブロック125は、トレンドクラス毎に、対象データ(例えば、文章)の時刻毎の出現頻度を示すベータ分布λを求める。なお、ここでCはトレンドクラスの数を示している。
すなわち、ブロック125は、トレンドを分類するトレンド部類毎に、対象データの時刻毎の出現頻度を定めた時刻頻度分布を取得する時刻頻度分布取得部として機能する。なお、対象データの時刻毎の出現頻度を示すベータ分布λは、0から1(最古時刻を0、現在時刻を1)に正規化されている。本実施形態では、時刻については、ベータ分布を用いている。これは、時刻を連続的に扱うためである。時毎、日毎、周毎、月毎のように、時刻を離散的に扱った場合、ゆっくりと変化するトレンドクラスに対しては、月毎にように周期の長いデータとして扱えるが、頻繁に変化するトレンドクラスに対しては、時毎や日毎のように、周期の短いデータとして扱わなければならなくなり、データ量が増大する。時刻を連続的に扱うことで、ゆっくりと変化するトレンドクラスに対しても、頻繁に変化するトレンドクラスに対しても、分布曲線の形状の違いだけで処理できる。
ブロック126は、文書のタイムスタンプから、ブロック125のベータ分布λを用いて、タイムスタンプの観測変数tを求めるブロックである。タイムスタンプは、文書dが生成された日時を示している。ブロック126は、ブロック120で求められたトレンドクラスの潜在変数cにより、ブロック125からのトレンドクラス毎のベータ分布λを対応させ、そして、タイムスタンプから、対応するベータ分布λを用いて、文書dがタイムスタンプtである確率分布を観測変数tとして推定している。
ブロック127は、多項分布μを求めるためのハイパーパラメータεのブロックである。ハイパーパラメータεとしては、初期値としてランダム値が用いられる。ブロック128は、D種類の多項分布μを求めている。ここで、Dは、ユーザ(著者)aが書いた文書の数である。すなわち、ブロック128は、対象データ(例えば、文章)毎に、スイッチ変数の確率分布を取得するスイッチ変数確率分布取得部として機能する。
ブロック129は、スイッチの潜在変数rを求めるブロックである。ブロック129は、文書dに対応する多項分布μから、i番目のトークンのスイッチ変数rを求める。ブロック122で観測変数wの推定に用いる多項分布は、このスイッチ変数で切り替えられる。ブロック129は、ブロック128が取得した確率分布に基づいて、観測変数毎にスイッチ変数を生成するスイッチ変数生成部として機能する。
前述のモデルでは、観測変数の時刻がモデルに入っていない。このため、トレンドクラス毎に、時刻毎の文章dの出現確率を抽出することができなかった。これに対して、図2に示す本実施形態に係るモデルでは、観測変数の一つとして時刻tが導入されている。ブロック126は、ブロック120でトレンドクラスの潜在変数cが変化すると、ブロック125から提供される文章dの出現確率の経時分布を切り替えるので、時刻t毎の文章dの出現確率が変化する。これにより、トレンドクラス毎に、時刻毎の文章dの出現確率を抽出することができる。
また、前述のモデルでは、観測変数wをトピック毎の多項分布φを用いて求めている。これに対して、本実施形態では、観測変数wを求めるための多項分布を、スイッチ変数rにより、トピック毎の多項分布と、トレンドクラス毎の多項分布と、コミュニティクラス毎の多項分布と、全体での多項分布とで切り替えている。トピックの数はZであり、トレンドクラスの数はCであり、コミュニティクラスの数はSであり、全体として扱う数は「1」であるから、ブロック118の多項分布φの数は、(Z+C+S+1)となる。
スイッチ変数rが(r=0)なら、全体の多項分布を選択し、同時生起の多項分布から観測変数wを生成する。全体の多項分布は、その内容や時間に無関係で、一般的な分布である。
スイッチ変数rが(r=1)なら、トピック毎の多項分布を選択する。トピックの多項分布は、持続的に長い期間のものとなる。
スイッチ変数rが(r=2)なら、トレンドクラス毎の多項分布を選択する。トレンドクラスの多項分布は、時間と共にその傾向が変化する持続期間が短い期間のものとなる。
スイッチ変数rが(r=3)なら、コミュニティクラス毎の多項分布を選択する。コミュニティクラスの多項分布は、そのコミュニティクラスに特化した局所的なものの分布である。
このように、本実施形態に係るモデルでは、スイッチ変数rを導入することで、時間と共に変化するものと、そうでないものとを切り分けることができる。これにより、時間と要素の組み合わせの同時確率だけでなく、要素だけの確率で表現することができる。
図3は、各ブロックの名称と機能部の名称との対応関係、及び本実施形態の確率分布の具体例と確率分布の名称との対応関係を示す図である。テーブルT31は、各ブロックの名称と機能部の名称との対応関係を示すテーブルである。テーブルT32は、本実施形態の確率分布の具体例と確率分布の名称との対応関係を示すテーブルである。
次に、図2に示したようなモデルで示される処理を実行して、ユーザの興味を推定するための処理について、具体的に説明する。
図4は、本発明の実施形態に係る分類システムの構成を示すブロック図であり、図5は、各部の機能ブロック図を示すものである。図4に示すように、本発明の実施形態に係るシステムは、ファイルサーバ501と、計算サーバ(分類装置)502と、データベース503と、サービスサーバ504とを備える。以下、単語をトークンの一例として説明する。
ファイルサーバ501は、図5に示すように、処理単位となる文書データを保存するデータファイル保存部511を有している。データファイル保存部511に保存する文書データとしては、インターネット上のブログの文書や、ウェブページの文書、ツィッター、論文等の文書データが用いられる。なお、処理単位となる文書データは、インターネット上の文書に限られるものではない。また、データファイル保存部511には、各文書データと、処理単位となる文書を識別するための文書IDと、その文書の著者を示す著者IDと、その文書を生成した日時を示すタイムスタンプとが対応付けられて保存されている。
計算サーバ502は、ファイルサーバ501から文書データを取り出し、図2に示したモデルで示されるような計算処理を行い、計算結果を出力する。計算サーバ502は、図5に示すように、事前処理部521と、計算処理部522とを有している。
事前処理部521は、例えば、ファイルサーバ501から計算処理対象となる文書データファイルを受け取り、この文書データファイルから、文書データ毎に、文書IDと、著者IDと、タイムスタンプを抽出すると共に、その文書の要素となる単語を抽出する。そして、事前処理部521は、文書に処理用文書IDを付与し、著者に処理用著者IDを付与し、抽出した各単語に、処理用単語IDを付与する。
計算処理部522は、事前処理部521で処理されたデータを入力し、図2に示したモデルに対応するような計算処理を行う。後に説明するように、この実施形態では、潜在変数の推定に、ギブスサンプリングを用いている。
データベース503は、図5に示すように、計算結果記憶部531を有している。計算サーバ502の計算処理部522の計算結果は、データベース503に送られ、計算結果記憶部531に保存される。図6に示すように、計算結果としては、コミュニティ、トレンドクラス、タイムスタンプ、スイッチ、トピック、単語の各確率変数と、各確率分布のパラメータ及びその種類からなる。図6の計算結果において、タイムスタンプと単語が観測変数であり、他は潜在変数である。
サービスサーバ504は、計算結果をサービスの利用のために提供するためのサーバである。図5に示すように、サービスサーバ504は、呼出し部541を有している。
ユーザ端末505からの呼び出しに応じて、呼出し部541は、ユーザ端末505に計算結果を送る。この計算結果は、マーケティング、需要予測、広告、レコメンド等、各種のサービスに利用できる。
図7は、計算サーバ502での処理を示すフローチャートである。図7において、先ず、計算サーバ502の事前処理部521は、計算対象文書データについて、処理用文書IDと、処理用著者IDと、処理用単語IDとを割り振る処理を行う。
つまり、図8(A)に示すように、各文書には、独自の著者IDや文書IDが付けられている。図8(A)では、最初のレコードの文書データには、著者IDとして「A」が付けられ、文書IDとして「001」が付けられている。文書の要素となるトークン(ここでは、単語)には、「ローマ」、「歴史」、…、「遺産」がある。そして、最後のレコードの文書データには、著者IDとして「Z」が付けられ、文書IDとして「087」が付けられている。文書の要素となるトークンには、「古代」、「芸術」、…、「文化」がある。
図8(B)は、このようなデータに対して、ステップS1で、処理用著者ID、処理用文書ID、処理用単語IDを割り振る処理を行った場合の例である。図8(B)に示すように、最初のレコードの文書データは、処理用著者IDとして「0」が割り当てられ、処理用文書IDとして「0」が割り当てられる。トークン1〜トークンNに対して、処理用単語ID「22」、処理用単語ID「0」、…、処理用単語ID「1212」が割り振られる。そして、最後のレコードの文書データには、処理用著者IDとして「100」が割り当てられ、処理用文書IDとして「223」が割り当てられる。そして、トークン1〜トークンNに対して、処理用単語ID「4」、処理用単語ID「1」、…、処理用単語ID「557」が割り振られる。
次に、計算サーバ502の計算処理部522は、確率変数(C,S,Z)の数及びハイパーパラメータ(α、β,γ,δ,ε)の初期値を設定し、また、計算処理の繰り返し回数を設定する(ステップS2)。そして、計算サーバ502の計算処理部522は、乱数を発生し、その値を確率変数(C,S,Z)に与える(ステップS3)。
つまり、図9(A)は、ステップS1の処理で、計算対象文書データについて、処理用文書IDと、処理用著者IDと、処理用単語IDとを割り振った状態を示している。このようなデータに対して、図9(B)に示すように、コミュニティクラスS、トレンドクラスC、トピックZに、乱数が挿入される。ここでは、コミュニティクラスの乱数として、例えば「0」〜「20」を任意に挿入し、トレンドクラスの乱数として、例えば「0」〜「40」を任意に挿入し、トピックの乱数として、例えば「0」〜「99」を任意に挿入するものとする。図9(B)の例では、最初のレコードのデータには、コミュニティクラスSとして乱数「7」が挿入され、トレンドクラスCとして乱数「20」が挿入され、トークン「1」〜「N」のトピックとして、乱数「7」、「5」、…「8」が挿入されている。そして、最後のレコードのデータには、コミュニティクラスSとして乱数「12」が挿入され、トレンドクラスCとして乱数「11」が挿入され、トピック「1」〜「N」として、乱数「8」、「8」、…、「3」が挿入されている。
次に、計算サーバ502の計算処理部522は、ギブスサンプリングで潜在変数の推定を行う(ステップS4)。ギブスサンプリングの繰り返し数が、予め決められた計算の繰り返し数に達したら、計算処理を終了する(ステップS5)。
このように、本実施形態では、ギブスサンプリングにより、潜在変数の推定が行われる。図10は、ギブスサンプリングにより推定される値と、これにより求められる潜在変数との対応を示している。
次に、本実施形態において、ギブスサンプリングにより各潜在変数が求められることについて説明する。本実施形態では、図11に示すように、各潜在変数の推定を統計的処理により推定するために、ディリクレ分布を導入している。ディリクレ分布は、連続型の確率分布であるが、積分することにより、離散型に変換できる。
このような確率分布を導入することにより、データ全体の同時確率は、次の式のように表される。
Figure 0005677999
ここで、データ全体の同時確率p(|)は、条件付確率を示している。
上式を積分すると、次の式のように表せる。
Figure 0005677999
ここで、Γは、ガンマ関数である。nは、コミュニティsに所属する著者の数である。である。nscは、コミュニティクラスsからトレンドクラスcを選択した文書の回数である。nczは、トレンドクラスcからコミュニティクラスzを選択した回数である。ndrは、コミュニティクラスzからスイッチ変数rを選択したトークンの回数である。nzwは、コミュニティクラスzから観測変数wを選択した回数である。
このように、ディリクレ分布を導入して、積分することで、多項分布のパラメータは消え、ハイパーパラメータと、頻度情報が残る。このように、ディリクレ分布を導入して積分することで、連続型の確率分布は、離散型の確率分布になる。
上述のディリクレ分布を積分した式(1)を変形すると、ギブスサンプリングにより、各潜在変数を推定するための式が求められる。つまり、コミュニティクラスzがgである確率は、次の式のように導出することができる。
Figure 0005677999
トレンドクラスcがjである確率は、次の式のように導出することができる。
Figure 0005677999
変数rの確率は、次の式のように導出することができる。
Figure 0005677999
式(4)は、変数r=0の確率である。式(5)は変数r=1の確率である。kはトピックの識別子である。式(6)は、変数r=2の確率である。式(7)は、変数r=3の確率である。
図12は、ギブスサンプリングにより潜在変数を推定するアルゴリズムを示すものである。
計算処理部522は、このアルゴリズムに従い、初期化処理を行い、ギブスサンプリングの繰り返し回数Niterationを設定する。
そして、計算処理部522は、著者数Aだけ以下の処理を繰り返す。計算処理部522は、著者毎(著者数A)に式(2)によりコミュニティクラスの潜在変数sを推定し、変数nを更新する。計算処理部522は、この潜在変数sの推定と変数nの更新処理をする毎に、以下の処理を行う。
計算処理部522は、文書数Dだけ以下の処理を繰り返す。計算処理部522は、文書毎(文書数D)に式(3)によりトレンドクラスの潜在変数cを推定し、変数nと変数λを更新する。計算処理部522は、この潜在変数c推定と変数nの更新処理をする毎に、以下の処理を行う。
計算処理部522は、文書dごとに定められる単語数だけ以下の処理を繰り返す。計算処理部522は、式(4)、(5)、(6)、(7)により、スイッチの潜在変数rdi及びトピックの潜在変数zdiを推定し、変数ndr、ncz、nzwを更新する。
計算処理部522は、上記の繰り返し処理がすべて終了した後に、各確率分布を知りたい場合、多項分布のパラメータψ、Ψ、θ、φ、μを推定する。なお、図12中で多項分布の各パラメータψ、Ψ、θ、φ、μの上に付された符号(ハット)は推定値を意味している。
次に、本発明により得られる効果について説明する。図13は、映画の人気のランキングを、全体(2000年から2005年までの6年間)、2000年から2001年、2002年から2003年、2004年から2005年に分けて、記述したものである。図13(A)は、単純な集計結果である。図13(A)に示す集計結果のうち、下線で示したようなタイトルの映画は、全体の期間にわたって、一定の人気を保持している。すなわち、これらは、時間的にあまり変化しないものである。
図13(B)は、本実施形態により得られた結果である。ここでは、コミュニティクラスの数Cが75、映画のトレンドクラスの数Sが75、映画のトピックの数Zは100である。φbは、全体的なトレンドクラスであり、全体の確率分布φのうち、確率が高いものから順に表示したものである。φc(2000−2001)は、ベータ分布のピークがt=0に最も近いトレンドクラス分布を有するトレンドクラスを抽出し、そして、抽出したトレンドクラスの確率分布φのうち、確率が高いものから順に表示したものである。φc(2002−2003)は、ベータ分布のピークがt=0.5に最も近いトレンドクラス分布を有するトレンドクラスを抽出し、そして、抽出したトレンドクラスの確率分布φのうち、確率が高いものから順に表示したものである。φc(2004−2005)は、ベータ分布のピークがt=1に最も近いトレンドクラス分布を有するトレンドクラスを抽出し、そして、抽出したトレンドクラスの確率分布φのうち、確率が高いものから順に表示したものである。
単純な集計では、図13(A)における下線で示すタイトルのように、全体の期間にわたって、一定の人気を保持するような映画タイトルがランキングに含まれる。これに対して、図13(B)に示すように、本実施形態では、2000年から2001年、2002年から2003年、2004年から2005年の各期間で、下線で示したような全期間にわたって一定の人気となるタイトルの映画は除かれ(あるいは、上記のランキングから外れ)、各期間毎のトレンドクラスを反映したタイトルの映画がランキングされる。このように、本実施形態では、時間と共に変化するものと、そうでないものとを切り分けて、トレンドクラスを求めることができる。
また、図14は、本実施形態による手法を従来の手法と比較したものである。図14において、TOT、DTMs、gPLSA、LITは、従来の手法である。POTは、本実施形態による手法であり、POT r={0,1,2,3}は、rが0,1,2,3で選択可能である場合である。POT r={1,2,3}は、rが1,2,3で選択可能である場合であって、rが0は選択できない。POT r={2,3}は、rが2,3で選択可能である場合であって、rが0及び1は選択できない。これにより、POT r={2,3}場合、トレンドクラスの確率分布またはトピックの確率分布から観測変数wを算出する。
なお、前述したように、(r=0)なら、一般的な分布である全体の多項分布を選択する。(r=1)なら、長い持続的な分布であるトピック毎の多項分布を選択する。(r=2)なら、時間と共にその傾向が変化するトレンドクラス毎の多項分布を選択する。(r=3)なら、そのコミュニティクラスに特化した局所的なコミュニティクラス毎の多項分布を選択する。
続いて、図14のそれぞれの指標について詳細に説明する。Top−10は、直前の予め決められた期間(例えば、直近1ヶ月)以外のテスト期間におけるデータから、上位10位までにランキングされた推薦映画タイトルを、ユーザがその直前の予め決められた期間の間に視聴した確率である。
また、UC(User Coverage:推薦ユーザの被覆率)は、テスト期間に映画タイトルを視聴したユーザ数に対する各推薦方法が推薦可能なユーザ数の割合である。UCが高いほど、多くのユーザに映画タイトルを推薦できるので、ユーザ全体にとって価値が高いシステムである。
IC(Item Coverage:推薦アイテムの被覆率)は、テスト期間に視聴された映画タイトル数に対する各推薦方法が推薦可能なタイトル数の割合である。ICは、システムが推薦できるシステム中の映画タイトルドメインの大きさを示す1つの指標である。従って、ICが低いシステムは、ごく限られた映画タイトルしか提示できないから、ユーザにとって価値が低いシステムである。
Gini係数は、ユーザに対して映画のタイトルをお勧めしたときに、お勧めの統計的な分散を示す指標である。Gini係数は、0から1の値をとり、値が0に近いほど映画タイトル毎の推薦ユーザ数の格差が少なく、1に近いほど格差が大きいことを意味する。
AE(Average Elapsed time)は、映画タイトルがリリースから視聴されるまでの経過時間の平均である。この値が小さければ、ユーザにとってそれだけ映画タイトルの新規性が高くなる。
AD(Average Differnece time)は、テスト期間の開始時刻と映画タイトル視聴の時刻の差の平均である。この値が大きければ、それだけ気が付き難い映画タイトルになる。
図14に示すように、POT r={1,2,3}の場合、Top−10の値が、従来のどの手法よりも統計的に大きいので、従来よりも、より良い上位10個の映画タイトルを推薦できる。
また、POT r={2,3}の場合、ICの値が、従来のどの手法よりも統計的に大きいので、従来よりもユーザ毎に推薦している映画タイトルが異なっている。これにより、本実施形態の分類システムは、幅広い映画タイトルを提示できることから、ユーザにとって価値が高い。
また、POT r={2,3}の場合、Giniの値が、従来のどの手法よりも統計的に小さいから、従来よりも映画タイトル毎の推薦ユーザ数の格差が少ない。これにより、本実施形態の分類システムは、広く映画タイトルを推薦できるので、ユーザにとって価値が高い。
また、POT r={2,3}の場合、AEの値が、従来のどの手法よりも統計的に小さいから、従来よりも映画タイトルがリリースから視聴されるまでの経過時間が短い。これにより、本実施形態の分類システムは、従来よりも新しい映画タイトルを推薦することができるので、ユーザにとって価値が高い。
以上説明したように、本実施形態における計算サーバ502は、観測変数として、時刻tを導入し、トレンドクラス毎かつ時刻毎に文章dの出現確率を抽出する。これにより、計算サーバ502は、時系列データからトレンドの周期と、各トレンドを構成するトークン(例えば、単語)を同時に抽出することができる。その結果、例えば、計算サーバ502は、コミュニティ(嗜好が類似したユーザの集合)を同時に抽出することができる。
また、本実施形態における計算サーバ502は、観測変数wを求めるための多項分布を、スイッチ変数rにより、トピック毎の多項分布と、トレンドクラス毎の多項分布と、コミュニティクラス毎の多項分布と、全体での多項分布との間で切り替える。これにより、時間と共に変化するものと、そうでないものとを切り分けることができ、時間と要素の組み合わせの同時確率だけでなく、要素だけの確率で表現することができる。
従来の分析では、時系列に対する変動を連続的に考慮していなかったため、時間の経過に対する変化の予測ができなかった。それに対し、本実施形態では、観測変数の時刻tをモデルに導入した。これにより、時系列に対し連続的に変動する要素を取り入れた予測を行うことを可能としたので、トレンドを抽出することができる。
従来の分析では、データの生成過程に階層構造が反映されておらず、階層(例えば、コミュニティまたはトピック)毎に分類することができなかった。それにより、分析対象のデータの分類が階層構造でないため、データの属性(該当するコミュニティの規模などに関連)を踏まえた分析ができなかった。
それに対し、本実施形態では、階層(例えば、コミュニティまたはトピック)毎に観測変数wを生成する確率分布を生成し、スイッチ変数rの値によって用いる確率分布を切り替える構成にした。これにより、構成要因を階層(例えば、コミュニティ、トレンド又はトピック)毎に分類することができる。その結果、例えば、分析データについて、著者ID、文書ID、単語IDを付与した場合、分析の際に、例えば、特定著者IDに固有か普遍かを分析することができる。
また、本実施形態では、観測変数の時刻tがモデルに導入し、かつ階層毎に観測変数wを生成する確率分布を生成し、スイッチ変数rの値によって用いる確率分布を切り替える構成により、階層(例えば、コミュニティ又はトピック)毎のトレンドを、人手を介すことなく、一意に抽出することができる。ここで、一意とは誰がやっても常に同じ結果になることを意味する。
更に、本実施形態では、時刻tを連続値で扱うために、トレンドの確率分布(一例として、ベータ分布)を導入した。この構成により、時刻を連続値で扱うことにより、周期の異なるトレンドと、各トレンドを構成する要素を同時に抽出可能である。ここで、周期とは、時系列変化の時間スケールである。また、それと同時にトレンドの分布を確率分布で表現することにより、トレンド間の比較が容易である。また、ある時間幅毎に頻度を離散化する必要がないので、データ毎に時間幅を調整しなくても良く、時間幅を調整する手間を削減することができる。
また、本実施形態では、観測変数の時刻tがモデルに導入し、かつ階層毎に観測変数wを生成する確率分布を生成し、スイッチ変数rの値によって用いる確率分布を切り替え、かつ時刻tを連続値で扱うために、トレンドの確率分布を導入した。この構成により、異なる周期を有する複数の時系列データを、その時系列変化の周期毎にかつ階層的に分類することができる。
なお、時刻tの確率分布は、ベータ分布λに限らず、確率分布であればよく、ガンマ分布でもよい。
また、複数の装置を備えるシステムが、本実施形態の計算サーバ502の各処理を、それらの複数の装置で分散して処理してもよい。
また、本実施形態の計算サーバ502の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、計算サーバ502に係る上述した種々の処理を行ってもよい。
なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
501 ファイルサーバ
502 計算サーバ(分類装置)
503 データベース
504 サービスサーバ
505 ユーザ端末
511 データファイル保存部
521 事前処理部
522 計算処理部
531 計算結果記憶部
541 呼出し部

Claims (6)

  1. トレンドを分類するトレンド部類毎に、データの時刻毎の出現頻度を定めた時刻頻度分布を取得する時刻頻度分布取得部と、
    前記時刻頻度分布取得部が取得した時刻頻度分布に基づいて、時刻情報を含む対象データを複数のトレンド部類のいずれかに分類するトレンド分類部と、
    を備えることを特徴とする分類装置。
  2. 階層毎に、観測変数の確率分布を取得する観測変数確率分布取得部と、
    前記観測変数確率分布取得部が取得した確率分布を階層に応じて切り替え、切り替えた確率分布に基づいて観測変数を生成する観測変数生成部と、
    を備えることを特徴とする請求項1に記載の分類装置。
  3. 前記時刻頻度分布は、確率分布であることを特徴とする請求項1または請求項のいずれか一項に記載の分類装置。
  4. トレンドを分類するトレンド部類毎に、データの時刻毎の出現頻度を定めた時刻頻度分布を取得する時刻頻度分布取得部と、
    前記時刻頻度分布取得部が取得した時刻頻度分布に基づいて、時刻情報を含む対象データを複数のトレンド部類のいずれかに分類するトレンド分類部と、
    を備えることを特徴とする分類システム。
  5. 時刻頻度分布取得部が、トレンドを分類するトレンド部類毎に、データの時刻毎の出現頻度を定めた時刻頻度分布を取得する手順と、
    トレンド分類部が、前記時刻頻度分布取得部が取得した時刻頻度分布に基づいて、時刻情報を含む対象データを複数のトレンド部類のいずれかに分類する手順と、
    を有することを特徴とする分類方法。
  6. コンピュータに、
    トレンドを分類するトレンド部類毎に、データの時刻毎の出現頻度を定めた時刻頻度分布を取得する時刻頻度分布取得ステップと、
    前記時刻頻度分布取得ステップにより取得された時刻頻度分布に基づいて、時刻情報を含む対象データを複数のトレンド部類のいずれかに分類するステップと、
    を実行させるための分類プログラム。
JP2012082951A 2012-03-30 2012-03-30 分類装置、分類システム、分類方法及び分類プログラム Active JP5677999B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012082951A JP5677999B2 (ja) 2012-03-30 2012-03-30 分類装置、分類システム、分類方法及び分類プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012082951A JP5677999B2 (ja) 2012-03-30 2012-03-30 分類装置、分類システム、分類方法及び分類プログラム

Publications (2)

Publication Number Publication Date
JP2013214149A JP2013214149A (ja) 2013-10-17
JP5677999B2 true JP5677999B2 (ja) 2015-02-25

Family

ID=49587442

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012082951A Active JP5677999B2 (ja) 2012-03-30 2012-03-30 分類装置、分類システム、分類方法及び分類プログラム

Country Status (1)

Country Link
JP (1) JP5677999B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6649182B2 (ja) * 2016-05-30 2020-02-19 日本電信電話株式会社 確率密度関数推定装置、連続値予測装置、方法、及びプログラム
AU2017356848A1 (en) * 2016-11-10 2019-06-06 Search Technology, Inc. Technological emergence scoring and analysis platform

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5276581B2 (ja) * 2009-12-25 2013-08-28 日本電信電話株式会社 トレンド分析装置、トレンド分析方法およびトレンド分析プログラム

Also Published As

Publication number Publication date
JP2013214149A (ja) 2013-10-17

Similar Documents

Publication Publication Date Title
US20230252094A1 (en) Computer-implemented system and method for updating user interest profiles
Hawalah et al. Dynamic user profiles for web personalisation
CN106503014B (zh) 一种实时信息的推荐方法、装置和系统
Liu et al. Social temporal collaborative ranking for context aware movie recommendation
Tewari et al. Sequencing of items in personalized recommendations using multiple recommendation techniques
Makhortykh et al. Detecting race and gender bias in visual representation of AI on web search engines
Lommatzsch et al. Incorporating context and trends in news recommender systems
Kanetkar et al. Web-based personalized hybrid book recommendation system
JP2014137757A (ja) 情報処理システム、情報処理装置、情報処理方法及びプログラム
Osmani et al. Enriched latent dirichlet allocation for sentiment analysis
US20120311140A1 (en) Method of processing web access information and server implementing same
CN107908653A (zh) 一种数据处理方法及装置
Lee et al. Dynamic item recommendation by topic modeling for social networks
Modani et al. Fairness aware recommendations on behance
Liu et al. Online recommendations based on dynamic adjustment of recommendation lists
Kim et al. Proposing a missing data method for hospitality research on online customer reviews: An application of imputation approach
Fraser et al. Scrutable and persuasive push-notifications
JP4879775B2 (ja) 辞書作成方法
Ashraf et al. Personalized news recommendation based on multi-agent framework using social media preferences
JP6870467B2 (ja) 広告効果推定装置、広告効果推定方法及び広告効果推定プログラム
Zhang et al. Incorporating temporal dynamics into LDA for one-class collaborative filtering
Stakhiyevich et al. An experimental study of building user profiles for movie recommender system
JP5677999B2 (ja) 分類装置、分類システム、分類方法及び分類プログラム
JP5802597B2 (ja) 分類装置、分類システム、分類方法及び分類プログラム
CN106445922B (zh) 确定多媒体资源的标题的方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20140610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140806

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150105

R150 Certificate of patent or registration of utility model

Ref document number: 5677999

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250