JP5440394B2 - 評価予測装置、評価予測方法、及びプログラム - Google Patents

評価予測装置、評価予測方法、及びプログラム Download PDF

Info

Publication number
JP5440394B2
JP5440394B2 JP2010124165A JP2010124165A JP5440394B2 JP 5440394 B2 JP5440394 B2 JP 5440394B2 JP 2010124165 A JP2010124165 A JP 2010124165A JP 2010124165 A JP2010124165 A JP 2010124165A JP 5440394 B2 JP5440394 B2 JP 5440394B2
Authority
JP
Japan
Prior art keywords
latent
item
time
vector
evaluation value
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
JP2010124165A
Other languages
English (en)
Other versions
JP2011248829A (ja
Inventor
正志 関野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2010124165A priority Critical patent/JP5440394B2/ja
Priority to US13/112,684 priority patent/US8805757B2/en
Priority to CN2011101399015A priority patent/CN102262648A/zh
Publication of JP2011248829A publication Critical patent/JP2011248829A/ja
Application granted granted Critical
Publication of JP5440394B2 publication Critical patent/JP5440394B2/ja
Priority to US14/323,943 priority patent/US9275116B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Description

本発明は、評価予測装置、評価予測方法、及びプログラムに関する。
近年、広帯域化したネットワークを通じて膨大な量の情報がユーザに提供されるようになってきた。そのため、ユーザの側からすれば、提供される膨大な情報の中から、自身が求める情報を探すのが難しくなってしまった。一方、情報を提供する側からすれば、ユーザに提供したい情報が膨大な情報の中に埋もれてしまい、そうした情報がユーザに閲覧され難くなってしまった。こうした状況を改善するため、膨大な情報の中からユーザが好む情報を的確に抽出し、その情報をユーザに提供するための仕組み作りが進められている。
膨大な情報の中からユーザが好む情報を抽出する仕組みとしては、例えば、協調フィルタリング、内容ベースフィルタリングと呼ばれるフィルタリング手法が知られている。また、協調フィルタリングには、ユーザベース協調フィルタリング、アイテムベース協調フィルタリング、行列分解ベース協調フィルタリング(例えば、下記の非特許文献1を参照)などの種類がある。一方、内容ベースフィルタリングには、ユーザベース内容ベースフィルタリング、アイテムベース内容ベースフィルタリングなどの種類がある。
ユーザベース協調フィルタリングは、あるユーザAと似た嗜好を持つユーザBを検出し、あるアイテム群に対してユーザBが行った評価に基づいて、ユーザAが好むアイテムを抽出するといった手法である。例えば、ユーザBがアイテムXに対して好意的な評価を行っている場合、ユーザAもアイテムXを好むものと予想される。この予想に基づくと、ユーザAが好む情報としてアイテムXを抽出することができる。なお、行列分解ベース協調フィルタリングは、ユーザベース協調フィルタリングとアイテムベース協調フィルタリングの特徴を併せ持つ手法であり、詳細については下記の非特許文献1を参照されたい。
また、アイテムベース協調フィルタリングは、あるアイテムAと似た特徴を持つアイテムBを検出し、あるユーザ群がアイテムBに対して行った評価に基づいて、アイテムAを好むユーザを抽出するといった手法である。例えば、アイテムBに対してユーザXが好意的な評価を行っている場合、アイテムAもユーザXに好まれるものと予想される。この予想に基づくと、アイテムAを好むユーザとしてユーザXを抽出することができる。
また、ユーザベース内容フィルタリングとは、例えば、ユーザAが好むアイテム群が存在する場合に、そのアイテム群の特徴に基づいてユーザAの嗜好を解析し、ユーザAの嗜好に合う特徴を持った新たなアイテムを抽出するといった手法である。そして、アイテムベース内容フィルタリングとは、例えば、アイテムAを好むユーザ群が存在する場合に、そのユーザ群の嗜好に基づいてアイテムAの特徴を解析し、アイテムAの特徴を好む新たなユーザを抽出するといった手法である。
Ruslan Salakhutdinov and Andriy Mnih. Probabilistic matrix factorization. In Advances in Neural Information Processing Systems, volume 20, 2008.
上記のようなフィルタリング手法を利用すると、膨大な情報の中から、ユーザが好む情報を抽出することが可能になる。ユーザは、自身が好む情報だけに絞り込まれた情報群の中から所望の情報を抽出できるようになり、情報の検索性が大きく向上する。一方、情報を提供する側からすれば、ユーザが好む情報を的確に提供することができるようになり、効果的な情報提供が実現できるようになる。しかしながら、フィルタリングの精度が低いと、ユーザが好む情報の絞り込みが適切に行われず、検索性の向上や効果的な情報提供といった効果は得られない。そのため、精度の高いフィルタリング手法が求められている。
上記の協調フィルタリングを利用する場合、ユーザ数やアイテム数が少ない状況下において低い精度となることが知られている。一方、内容ベースフィルタリングを利用する場合、ユーザ数やアイテム数が多い状況下において協調フィルタリングよりも低い精度となることが知られている。また、内容ベースフィルタリングの場合、ユーザ群やアイテム群を特徴付ける特徴の種類を巧く選択しないと低い精度となることが知られている。
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、より精度の高いフィルタリングを実現することが可能な、新規かつ改良された評価予測装置、評価予測方法、及びプログラムを提供することにある。
上記課題を解決するために、本発明のある観点によれば、複数の第1アイテムがそれぞれ潜在的に持つ特徴を表す複数の第1潜在ベクトルと、複数の第2アイテムがそれぞれ潜在的に持つ特徴を表す複数の第2潜在ベクトルと、前記第1アイテムと前記第2アイテムとの各組み合わせに対応し、前記第1潜在ベクトルと前記第2潜在ベクトルとの内積で表現される評価値と、複数の前記第1アイテムがそれぞれ持つ既知の特徴を表す複数の第1特徴ベクトルと、複数の前記第2アイテムがそれぞれ持つ既知の特徴を表す複数の第2特徴ベクトルと、前記第1特徴ベクトルを前記第1潜在ベクトルの空間に射影する第1射影行列と、前記第2特徴ベクトルを前記第2潜在ベクトルの空間に射影する第2射影行列と、を定義し、前記第1射影行列による前記第1特徴ベクトルの射影値を期待値とする正規分布によって前記第1潜在ベクトルを表現し、前記第2射影行列による前記第2特徴ベクトルの射影値を期待値とする正規分布によって前記第2潜在ベクトルを表現し、前記第1特徴ベクトル、前記第2特徴ベクトル、及び既知の前記評価値を学習データとしてベイズ推定を実行し、前記第1潜在ベクトル、前記第2潜在ベクトル、前記第1射影行列、及び前記第2射影行列を含むパラメータ群の事後分布を算出する推定部と、前記パラメータ群の事後分布に基づいて未知の前記評価値の分布を算出する予測部と、を備える、評価予測装置が提供される。
また、前記予測部は、前記パラメータ群の事後分布に基づいて前記未知の評価値の期待値を算出する、ように構成されていてもよい。
また、上記の評価予測装置は、前記予測部によって算出された前記未知の評価値の期待値が所定値よりも大きい場合に、当該未知の評価値に対応する第2アイテムを当該未知の評価値に対応する第1アイテムの推薦先に決定する推薦先決定部をさらに備えていてもよい。
また、前記第2アイテムはユーザを表していてもよい。この場合、上記の評価予測装置は、前記推薦先決定部によって第1アイテムの推薦先が決定された場合に、当該第1アイテムの推薦先に対応するユーザに当該第1アイテムを推薦する推薦部をさらに備えていてもよい。
また、上記課題を解決するために、本発明の別の観点によれば、時刻tにおいて、N個の第1アイテムがそれぞれ潜在的に持つ特徴を表すN個の第1潜在ベクトルu(t)(i=1,…,N)と、時刻tにおいて、M個の第2アイテムがそれぞれ潜在的に持つ特徴を表すM個の第2潜在ベクトルv(t)(j=1,…,M)と、前記第1アイテムと前記第2アイテムとの各組み合わせに対応し、時刻tにおいて、前記第1潜在ベクトルu(t)と前記第2潜在ベクトルv(t)との内積で表現される評価値yij(t)と、時刻(t−1)における第1潜在ベクトルu(t−1)を、時刻tにおける前記第1潜在ベクトルu(t)の空間に射影する第1射影行列と、時刻(t−1)における第2潜在ベクトルv(t−1)を、時刻tにおける前記第2潜在ベクトルv(t)の空間に射影する第2射影行列と、を定義し、前記第1射影行列により時刻(t−1)における第1潜在ベクトルu(t−1)を射影した射影値を期待値とする正規分布によって時刻tにおける第1潜在ベクトルu(t)を表現し、前記第2射影行列により時刻(t−1)における第2潜在ベクトルv(t−1)を射影した射影値を期待値とする正規分布によって時刻tにおける第2潜在ベクトルv(t)を表現し、時刻(t−1)における第1潜在ベクトルu(t−1)、第2潜在ベクトルv(t−1)、及び評価値yij(t−1)を学習データとしてベイズ推定を実行し、時刻tにおける第1潜在ベクトルu(t)、第2潜在ベクトルv(t)、前記第1射影行列、及び前記第2射影行列を含むパラメータ群の事後分布を算出する推定部と、時刻tにおける前記パラメータ群の事後分布に基づいて時刻tにおける評価値yij(t)の期待値を算出する予測部と、を備える、評価予測装置が提供される。
また、前記予測部は、前記時刻tにおけるパラメータ群の事後分布に基づいて、時刻tにおける第1潜在ベクトルu(t)の期待値、第2潜在ベクトルv(t)の期待値、評価値yij(t)を算出し、前記推定部は、前記第1射影行列により時刻(t)における第1潜在ベクトルu(t)の期待値を射影した射影値を期待値とする正規分布によって時刻(t+1)における第1潜在ベクトルu(t+1)を表現し、前記第2射影行列により時刻tにおける第2潜在ベクトルv(t)の期待値を射影した射影値を期待値とする正規分布によって時刻(t+1)における第2潜在ベクトルv(t+1)を表現し、時刻tにおける第1潜在ベクトルu(t)、第2潜在ベクトルv(t)、及び評価値yij(t)を学習データとして変分ベイズ推定を実行し、時刻(t+1)における第1潜在ベクトルu(t+1)、第2潜在ベクトルv(t+1)、前記第1射影行列、及び前記第2射影行列を含むパラメータ群の事後分布を算出し、前記予測部は、時刻(t+1)における前記パラメータ群の事後分布に基づいて時刻(t+1)における評価値yij(t+1)の期待値を算出する、ように構成されていてもよい。
また、上記の評価予測装置は、前記予測部によって算出された評価値yij(t+1)の期待値が所定値よりも大きい場合に、当該評価値yij(t+1)に対応する第2アイテムを当該評価値yij(t+1)に対応する第1アイテムの推薦先に決定する推薦先決定部をさらに備えていてもよい。
また、前記第2アイテムはユーザを表していてもよい。この場合、上記の評価予測装置は、前記推薦先決定部によって第1アイテムの推薦先が決定された場合に、当該第1アイテムの推薦先に対応するユーザに当該第1アイテムを推薦する推薦部をさらに備えていてもよい。
また、上記課題を解決するために、本発明の別の観点によれば、複数の第1アイテムがそれぞれ潜在的に持つ特徴を表す複数の第1潜在ベクトルと、複数の第2アイテムがそれぞれ潜在的に持つ特徴を表す複数の第2潜在ベクトルと、前記第1アイテムと前記第2アイテムとの各組み合わせに対応し、前記第1潜在ベクトルと前記第2潜在ベクトルとの内積で表現される評価値と、複数の前記第1アイテムがそれぞれ持つ既知の特徴を表す複数の第1特徴ベクトルと、複数の前記第2アイテムがそれぞれ持つ既知の特徴を表す複数の第2特徴ベクトルと、前記第1特徴ベクトルを前記第1潜在ベクトルの空間に射影する第1射影行列と、前記第2特徴ベクトルを前記第2潜在ベクトルの空間に射影する第2射影行列と、を定義し、前記第1射影行列による前記第1特徴ベクトルの射影値を期待値とする正規分布によって前記第1潜在ベクトルを表現し、前記第2射影行列による前記第2特徴ベクトルの射影値を期待値とする正規分布によって前記第2潜在ベクトルを表現し、前記第1特徴ベクトル、前記第2特徴ベクトル、及び既知の前記評価値を学習データとしてベイズ推定を実行し、前記第1潜在ベクトル、前記第2潜在ベクトル、前記第1射影行列、及び前記第2射影行列を含むパラメータ群の事後分布を算出する推定ステップと、前記パラメータ群の事後分布に基づいて未知の前記評価値の分布を算出する予測ステップと、を含む、評価予測方法が提供される。
また、上記課題を解決するために、本発明の別の観点によれば、時刻tにおいて、N個の第1アイテムがそれぞれ潜在的に持つ特徴を表すN個の第1潜在ベクトルu(t)(i=1,…,N)と、時刻tにおいて、M個の第2アイテムがそれぞれ潜在的に持つ特徴を表すM個の第2潜在ベクトルv(t)(j=1,…,M)と、前記第1アイテムと前記第2アイテムとの各組み合わせに対応し、時刻tにおいて、前記第1潜在ベクトルu(t)と前記第2潜在ベクトルv(t)との内積で表現される評価値yij(t)と、時刻(t−1)における第1潜在ベクトルu(t−1)を、時刻tにおける前記第1潜在ベクトルu(t)の空間に射影する第1射影行列と、時刻(t−1)における第2潜在ベクトルv(t−1)を、時刻tにおける前記第2潜在ベクトルv(t)の空間に射影する第2射影行列と、を定義し、前記第1射影行列により時刻(t−1)における第1潜在ベクトルu(t−1)を射影した射影値を期待値とする正規分布によって時刻tにおける第1潜在ベクトルu(t)を表現し、前記第2射影行列により時刻(t−1)における第2潜在ベクトルv(t−1)を射影した射影値を期待値とする正規分布によって時刻tにおける第2潜在ベクトルv(t)を表現し、時刻(t−1)における第1潜在ベクトルu(t−1)、第2潜在ベクトルv(t−1)、及び評価値yij(t−1)を学習データとしてベイズ推定を実行し、時刻tにおける第1潜在ベクトルu(t)、第2潜在ベクトルv(t)、前記第1射影行列、及び前記第2射影行列を含むパラメータ群の事後分布を算出する推定ステップと、時刻tにおける前記パラメータ群の事後分布に基づいて時刻tにおける評価値yij(t)の期待値を算出する予測ステップと、を含む、評価予測方法が提供される。
また、上記課題を解決するために、本発明の別の観点によれば、複数の第1アイテムがそれぞれ潜在的に持つ特徴を表す複数の第1潜在ベクトルと、複数の第2アイテムがそれぞれ潜在的に持つ特徴を表す複数の第2潜在ベクトルと、前記第1アイテムと前記第2アイテムとの各組み合わせに対応し、前記第1潜在ベクトルと前記第2潜在ベクトルとの内積で表現される評価値と、複数の前記第1アイテムがそれぞれ持つ既知の特徴を表す複数の第1特徴ベクトルと、複数の前記第2アイテムがそれぞれ持つ既知の特徴を表す複数の第2特徴ベクトルと、前記第1特徴ベクトルを前記第1潜在ベクトルの空間に射影する第1射影行列と、前記第2特徴ベクトルを前記第2潜在ベクトルの空間に射影する第2射影行列と、を定義し、前記第1射影行列による前記第1特徴ベクトルの射影値を期待値とする正規分布によって前記第1潜在ベクトルを表現し、前記第2射影行列による前記第2特徴ベクトルの射影値を期待値とする正規分布によって前記第2潜在ベクトルを表現し、前記第1特徴ベクトル、前記第2特徴ベクトル、及び既知の前記評価値を学習データとしてベイズ推定を実行し、前記第1潜在ベクトル、前記第2潜在ベクトル、前記第1射影行列、及び前記第2射影行列を含むパラメータ群の事後分布を算出する推定機能と、前記パラメータ群の事後分布に基づいて未知の前記評価値の分布を算出する予測機能と、をコンピュータに実現させるためのプログラムが提供される。
また、上記課題を解決するために、本発明の別の観点によれば、時刻tにおいて、N個の第1アイテムがそれぞれ潜在的に持つ特徴を表すN個の第1潜在ベクトルu(t)(i=1,…,N)と、時刻tにおいて、M個の第2アイテムがそれぞれ潜在的に持つ特徴を表すM個の第2潜在ベクトルv(t)(j=1,…,M)と、前記第1アイテムと前記第2アイテムとの各組み合わせに対応し、時刻tにおいて、前記第1潜在ベクトルu(t)と前記第2潜在ベクトルv(t)との内積で表現される評価値yij(t)と、時刻(t−1)における第1潜在ベクトルu(t−1)を、時刻tにおける前記第1潜在ベクトルu(t)の空間に射影する第1射影行列と、時刻(t−1)における第2潜在ベクトルv(t−1)を、時刻tにおける前記第2潜在ベクトルv(t)の空間に射影する第2射影行列と、を定義し、前記第1射影行列により時刻(t−1)における第1潜在ベクトルu(t−1)を射影した射影値を期待値とする正規分布によって時刻tにおける第1潜在ベクトルu(t)を表現し、前記第2射影行列により時刻(t−1)における第2潜在ベクトルv(t−1)を射影した射影値を期待値とする正規分布によって時刻tにおける第2潜在ベクトルv(t)を表現し、時刻(t−1)における第1潜在ベクトルu(t−1)、第2潜在ベクトルv(t−1)、及び評価値yij(t−1)を学習データとしてベイズ推定を実行し、時刻tにおける第1潜在ベクトルu(t)、第2潜在ベクトルv(t)、前記第1射影行列、及び前記第2射影行列を含むパラメータ群の事後分布を算出する推定機能と、時刻tにおける前記パラメータ群の事後分布に基づいて時刻tにおける評価値yij(t)の期待値を算出する予測機能と、をコンピュータに実現させるためのプログラムが提供される。
また、上記課題を解決するために、本発明の別の観点によれば、上記のプログラムが記録された、コンピュータにより読み取り可能な記録媒体が提供される。
以上説明したように本発明によれば、より精度の高いフィルタリングを実現することが可能になる。
ユーザベース協調フィルタリングに基づくアイテムの推薦を実現可能な推薦システムのシステム構成を説明するための説明図である。 ユーザベース協調フィルタリングに基づくアイテムの推薦を実現可能な推薦システムの動作を説明するための説明図である。 ユーザベース協調フィルタリングに基づくアイテムの推薦を実現可能な推薦システムの動作を説明するための説明図である。 アイテムベース協調フィルタリングに基づくアイテムの推薦を実現可能な推薦システムのシステム構成を説明するための説明図である。 アイテムベース協調フィルタリングに基づくアイテムの推薦を実現可能な推薦システムの動作を説明するための説明図である。 アイテムベース協調フィルタリングに基づくアイテムの推薦を実現可能な推薦システムの動作を説明するための説明図である。 ユーザベース内容ベースフィルタリングに基づくアイテムの推薦を実現可能な推薦システムのシステム構成を説明するための説明図である。 ユーザベース内容ベースフィルタリングに基づくアイテムの推薦を実現可能な推薦システムの動作を説明するための説明図である。 ユーザベース内容ベースフィルタリングに基づくアイテムの推薦を実現可能な推薦システムの動作を説明するための説明図である。 アイテムベース内容ベースフィルタリングに基づくアイテムの推薦を実現可能な推薦システムのシステム構成を説明するための説明図である。 アイテムベース内容ベースフィルタリングに基づくアイテムの推薦を実現可能な推薦システムの動作を説明するための説明図である。 アイテムベース内容ベースフィルタリングに基づくアイテムの推薦を実現可能な推薦システムの動作を説明するための説明図である。 行列分解ベース協調フィルタリングに基づくアイテムの推薦を実現可能な推薦システムのシステム構成を説明するための説明図である。 行列分解ベース協調フィルタリングに基づくアイテムの推薦を実現可能な推薦システムの動作を説明するための説明図である。 行列分解ベース協調フィルタリングに基づくアイテムの推薦を実現可能な推薦システムの動作を説明するための説明図である。 行列分解ベース協調フィルタリングに基づくアイテムの推薦を実現可能な推薦システムの動作を説明するための説明図である。 行列分解ベース協調フィルタリングに基づくアイテムの推薦を実現可能な推薦システムの動作を説明するための説明図である。 本発明の第1実施形態に係る評価値予測装置の機能構成について説明するための説明図である。 本発明の第1実施形態に係る評価値予測装置の動作について説明するための説明図である。 本発明の第1実施形態に係る評価値予測装置の動作について説明するための説明図である。 本発明の第1実施形態に係る評価値予測装置の動作について説明するための説明図である。 本発明の第2実施形態に係る評価値予測装置の動作について説明するための説明図である。 本発明の第2実施形態に係る評価値予測装置の動作について説明するための説明図である。 本発明の各実施形態に係る評価値予測装置の機能を実現することが可能な情報処理装置のハードウェア構成例について説明するための説明図である。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
[説明の流れについて]
ここで、以下に記載する本発明の実施形態に関する説明の流れについて簡単に述べる。まず、図1〜図3を参照しながら、ユーザベース協調フィルタリングに基づくアイテムの推薦を実現可能な推薦システムのシステム構成及びその動作について説明する。次いで、図4〜図6を参照しながら、アイテムベース協調フィルタリングに基づくアイテムの推薦を実現可能な推薦システムのシステム構成及びその動作について説明する。
次いで、図7〜図9を参照しながら、ユーザベース内容ベースフィルタリングに基づくアイテムの推薦を実現可能な推薦システムのシステム構成及びその動作について説明する。次いで、図10〜図12を参照しながら、アイテムベース内容ベースフィルタリングに基づくアイテムの推薦を実現可能な推薦システムのシステム構成及びその動作について説明する。次いで、図13〜図17を参照しながら、行列分解ベース協調フィルタリングに基づくアイテムの推薦を実現可能な推薦システムのシステム構成及びその動作について説明する。
次いで、図18〜図21を参照しながら、本発明の第1実施形態に係る確率的行列分解ベース協調フィルタリングに基づく評価値の予測及びアイテムの推薦を実現可能な評価値予測装置(推薦システム)の機能構成及びその動作について説明する。次いで、図22、図23を参照しながら、本発明の第2実施形態に係る確率的行列分解ベース協調フィルタリングに基づく評価値の時系列予測を実現可能な評価値予測装置の機能構成及びその動作について説明する。次いで、図24を参照しながら、本発明の第1及び第2実施形態に係る評価値予測装置の機能を実現可能な情報処理装置のハードウェア構成について説明する。
(説明項目)
1:はじめに
1−1:ユーザベース協調フィルタリングについて
1−1−1:推薦システム10の構成
1−1−2:推薦システム10の動作
1−2:アイテムベース協調フィルタリングについて
1−2−1:推薦システム20の構成
1−2−2:推薦システム20の動作
1−3:ユーザベース内容ベースフィルタリングについて
1−3−1:推薦システム30の構成
1−3−2:推薦システム30の動作
1−4:アイテムベース内容ベースフィルタリングについて
1−4−1:推薦システム40の構成
1−4−2:推薦システム40の動作
1−5:行列分解ベース協調フィルタリングについて
1−5−1:推薦システム50の構成
1−5−2:推薦システム50の動作
2:第1実施形態
2−1:着眼点について
2−2:評価値予測装置100の機能構成
2−3:評価値予測装置100の動作
3:第2実施形態
3−1:評価値予測装置130の機能構成
3−2:評価値予測装置130の動作
4:ハードウェア構成例
<1:はじめに>
はじめに、ユーザベース協調フィルタリング、アイテムベース協調フィルタリング、ユーザベース内容ベースフィルタリング、アイテムベース内容ベースフィルタリング、及び行列分解ベース協調フィルタリングについて簡単に説明する。そして、これら一般的なフィルタリング手法が抱える問題点について纏める。なお、後述する本実施形態のフィルタリング手法(以下、本手法と呼ぶ場合がある。)は、これら一般的なフィルタリング手法が抱える問題点を解決するものである。
[1−1:ユーザベース協調フィルタリングについて]
まず、ユーザベース協調フィルタリングについて説明する。ユーザベース協調フィルタリングは、あるユーザに対して推薦するアイテムを決めるために、そのユーザと似た嗜好を持つ他のユーザの評価値を用いる手法である。
(1−1−1:推薦システム10の構成)
まず、図1を参照しながら、ユーザベース協調フィルタリングを実現することが可能な推薦システム10の機能構成について述べる。図1は、ユーザベース協調フィルタリングを実現することが可能な推薦システム10の機能構成を示す説明図である。
図1に示すように、推薦システム10は、主に、評価値データベース11と、嗜好解析部12と、推薦部13とにより構成される。
(評価値データベース11)
評価値データベース11は、図3に示すように、ユーザとアイテムの組み合わせに対する評価値が格納されたデータベースである。例えば、図3において、ユーザID=0001のユーザが、アイテムID=0001のアイテムに付けた評価値は3である。同様に、評価値データベース11には、各ユーザが各アイテムに対して付けた評価値が格納されている。もちろん、評価値が付いていないユーザとアイテムの組み合わせも存在する。
図3の例において、ユーザID=0002のユーザは、アイテムID=0002のアイテムに対して評価値を付けていない。そのため、評価値データベース11には、ユーザID=0002のユーザとアイテムID=0002のアイテムの組み合わせに対する評価値が格納されていない。同様に、ユーザID=0003のユーザは、アイテムID=0003のアイテムに対して評価値を付けていない。そのため、評価値データベース11には、ユーザID=0003のユーザとアイテムID=0003のアイテムの組み合わせに対する評価値が格納されていない。
図3に示した評価値データベース11の構成は一例であるが、評価値データベース11には、このようなアイテムとユーザの組み合わせに対する評価値が格納されている。
(嗜好解析部12)
再び図1を参照する。嗜好解析部12は、評価値データベース11に格納された評価値を利用して各ユーザの嗜好を解析する手段である。まず、嗜好解析部12は、評価値データベース11に評価値が格納されていない欄を検出し、その欄に対応するユーザを特定する。図3の例において、嗜好解析部12は、例えば、ユーザID=0003のユーザを特定する。次いで、嗜好解析部12は、ユーザID=0003のユーザが各アイテムに付けた評価値の組み合わせを参照し、この組み合わせと似た評価値の組み合わせを付けたユーザ(嗜好の似たユーザ)を検出する。
図3の例において、ユーザID=0003のユーザは、アイテムID=0001、0004のアイテムに評価値3(比較的高評価)を付し、アイテムID=0002のアイテムに評価値1(最低評価)を付している。そこで、嗜好解析部12は、アイテムID=0001、0004のアイテムを高く評価し、アイテムID=0002のアイテムを低く評価しているユーザを特定する。図3の例において、嗜好解析部12は、このようなユーザ(ユーザID=0003と嗜好の似たユーザ)として、ユーザID=0001のユーザを特定する。
次いで、嗜好解析部12は、ユーザID=0003のユーザが評価値を付していないアイテム(アイテムID=0003のアイテム)に対する評価値を予測する。このとき、嗜好解析部12は、先に特定したユーザ(ユーザID=0001のユーザ)がアイテムID=0003に付した評価値を参照する。ユーザID=0001のユーザは、アイテムID=0003のアイテムに評価値5(最高評価)を付している。そのため、嗜好解析部12は、ユーザID=0003のユーザも、アイテムID=0003のアイテムを高く評価するものと予測する。
そこで、この予測に基づき、嗜好解析部12は、アイテムID=0003のアイテムに対するユーザID=0003のユーザの評価を「高」(例えば、評価値4又は5)に設定する。そして、嗜好解析部12は、設定した評価又は評価値を推薦部13に通知する。同様に、嗜好解析部12は、ユーザID=0002のユーザが評価値を付していないアイテムID=0002のアイテムに対しても、ユーザID=0002のユーザの評価を予測し、その予測結果を推薦部13に通知する。このように、嗜好解析部12は、嗜好が似たユーザ同士で評価値を比較し合うことにより未評価のアイテムに対する評価を予測する。
(推薦部13)
再び図1を参照する。上記の通り、嗜好解析部12により予測された未評価のアイテムに対する評価又は評価値は、推薦部13に通知される。推薦部13は、未評価のアイテムに対して予測された評価又は評価値に基づき、ユーザに対してアイテムを推薦する。図3の例において、ユーザID=0003のユーザとアイテムID=0003のアイテムの組み合わせに対する評価が「高」と通知された場合、推薦部13は、ユーザID=0003のユーザに対してアイテムID=0003のアイテムを推薦する。また、ユーザID=0002のユーザとアイテムID=0002のアイテムの組み合わせに対する評価が「低」と通知された場合、推薦部13は、ユーザID=0002のユーザに対してアイテムID=0002のアイテムを推薦しない。
以上説明したように、ユーザベース協調フィルタリングの処理を実現する推薦システム10は、あるユーザAと嗜好の似た他のユーザBの評価値を利用して、ユーザAが未評価のアイテムに対するユーザAの嗜好(評価)を予測する。そして、この推薦システム10は、予測した評価が高い場合に、そのアイテムをユーザAに推薦し、予測した評価が低い場合に、そのアイテムをユーザAに推薦しないという処理を実行する。なお、上記説明においては簡単のために、嗜好の似たユーザを1人だけ検出し、そのユーザの評価値を参照する構成としたが、実際には嗜好の似た複数のユーザの評価値を利用して、未評価のアイテムに対する評価を予測する方法が用いられる。
(1−1−2:推薦システム10の動作)
次に、図2を参照しながら、推薦システム10の動作について述べ、ユーザベース協調フィルタリングに係る処理の流れについて説明する。図2は、ユーザベース協調フィルタリングに係る処理の流れについて説明するための説明図である。
まず、推薦システム10は、嗜好解析部12の機能により、評価値データベース11から評価値の付いていないユーザとアイテムの組み合わせを検出する(Step.1)。次いで、推薦システム10は、嗜好解析部12の機能により、Step.1で検出したユーザと嗜好が似たユーザを検出する(Step.2)。次いで、推薦システム10は、嗜好解析部12の機能により、Step.2で検出した嗜好の似たユーザが、Step.1で検出したアイテムに付した評価値を参照する(Step.3)。
次いで、推薦システム10は、嗜好解析部12の機能により、Step.3で参照した評価値に基づき、Step.1で検出したユーザとアイテムの組み合わせに対応する評価値(評価)を予測する(Step.4)。Step.4における予測結果は、嗜好解析部12から推薦部13に通知される。次いで、推薦システム10は、推薦部13の機能により、Step.4で予測された評価値が高い場合に、Step.1で検出されたユーザに対し、Step.1で検出されたアイテムを推薦する(Step.5)。もちろん、評価値が低い場合、推薦システム10は、そのアイテムを推薦しない。
以上説明したように、ユーザベース協調フィルタリングにおいて、あるユーザが未評価のアイテムに対する評価予測は、そのユーザに嗜好の似たユーザの評価値を用いて行われる。そして、その評価が高い場合に、アイテムの推薦が行われる。
(ユーザベース協調フィルタリングの問題点)
これまで説明したユーザベース協調フィルタリングにおける評価予測の方法からも推察されるように、ユーザベース協調フィルタリングは、ユーザ数やアイテム数が多く、評価値データベース11に評価値のログが多く格納されている場合に高い精度が得られる。しかし、ユーザ数が少ないと、嗜好が似たユーザがうまく検出されず、評価予測の精度が低くなってしまう。また、未評価のアイテムが多いユーザに対しては、嗜好が似たユーザをうまく検出することができないため、評価予測の精度が低くなってしまう。つまり、ユーザベース協調フィルタリングは、ユーザ数やアイテム数が多く、評価値のログが多い状況下にないと、ユーザの嗜好に合った適切なアイテムの推薦を行うことが難しいという問題を抱えている。
[1−2:アイテムベース協調フィルタリングについて]
次に、アイテムベース協調フィルタリングについて説明する。アイテムベース協調フィルタリングは、あるアイテムの推薦先となるユーザを決めるために、そのアイテムと特徴の似た他のアイテムの評価値を用いる手法である。
(1−2−1:推薦システム20の構成)
まず、図4を参照しながら、アイテムベース協調フィルタリングを実現することが可能な推薦システム20の機能構成について述べる。図4は、アイテムベース協調フィルタリングを実現することが可能な推薦システム20の機能構成を示す説明図である。
図4に示すように、推薦システム20は、主に、評価値データベース21と、特徴解析部22と、推薦部23とにより構成される。
(評価値データベース21)
評価値データベース21は、図6に示すように、ユーザとアイテムの組み合わせに対する評価値が格納されたデータベースである。例えば、図6において、ユーザID=0001のユーザが、アイテムID=0001のアイテムに付けた評価値は3である。同様に、評価値データベース21には、各ユーザが各アイテムに対して付けた評価値が格納されている。もちろん、評価値が付いていないユーザとアイテムの組み合わせも存在する。
図6の例において、ユーザID=0002のユーザは、アイテムID=0002のアイテムに対して評価値を付けていない。そのため、評価値データベース21には、ユーザID=0002のユーザとアイテムID=0002のアイテムの組み合わせに対する評価値が格納されていない。同様に、ユーザID=0003のユーザは、アイテムID=0003のアイテムに対して評価値を付けていない。そのため、評価値データベース21には、ユーザID=0003のユーザとアイテムID=0003のアイテムの組み合わせに対する評価値が格納されていない。
図6に示した評価値データベース21の構成は一例であるが、評価値データベース21には、このようなアイテムとユーザの組み合わせに対する評価値が格納されている。
(特徴解析部22)
再び図4を参照する。特徴解析部22は、評価値データベース21に格納された評価値を利用して各アイテムの特徴を解析する手段である。まず、特徴解析部22は、評価値データベース21に評価値が格納されていない欄を検出し、その欄に対応するアイテムを特定する。図6の例において、特徴解析部22は、例えば、アイテムID=0003のアイテムを特定する。次いで、特徴解析部22は、アイテムID=0003のアイテムに対して各ユーザが付けた評価値の組み合わせを参照し、この組み合わせと似た評価値の組み合わせが付けられたアイテム(特徴の似たアイテム)を検出する。
図6の例において、アイテムID=0003のアイテムは、ユーザID=0001のユーザにより評価値5(最高評価)が付されており、ユーザID=0004のユーザにより評価値1(最低評価)が付されている。そこで、特徴解析部22は、ユーザID=0001により高く評価され、ユーザID=0004のユーザにより低く評価されているアイテムを特定する。図6の例において、特徴解析部22は、このようなアイテム(アイテムID=0003と特徴の似たアイテム)として、アイテムID=0004のアイテムを特定する。
次いで、特徴解析部22は、アイテムID=0003のアイテムに対して評価値を付していないユーザ(ユーザID=0003のユーザ)が付するであろう評価値を予測する。このとき、特徴解析部22は、先に特定したアイテム(アイテムID=0004のアイテム)に対してユーザID=0004が付した評価値を参照する。アイテムID=0004のアイテムには、ユーザID=0003のユーザが評価値4(比較的高評価)を付している。そのため、特徴解析部22は、アイテムID=0003のアイテムも、ユーザID=0003のユーザに高く評価されるものと予測する。
そこで、この予測に基づき、特徴解析部22は、ユーザID=0003のユーザがアイテムID=0003のアイテムに付するであろう評価を「高」(例えば、評価値4又は5)に設定する。そして、特徴解析部22は、設定した評価又は評価値を推薦部23に通知する。同様に、特徴解析部22は、アイテムID=0002のアイテムに対して評価値を付していないユーザID=0002のユーザについても、アイテムID=0002のアイテムに対する評価を予測し、その予測結果を推薦部13に通知する。このように、特徴解析部22は、特徴が似たアイテム同士で評価値を比較し合うことにより未評価のユーザが付するであろう評価を予測する。
(推薦部13)
再び図4を参照する。上記の通り、特徴解析部22により予測された未評価のユーザに対応する評価又は評価値は、推薦部13に通知される。推薦部13は、未評価のユーザに対して予測された評価又は評価値に基づき、ユーザに対してアイテムを推薦する。図6の例において、ユーザID=0003のユーザとアイテムID=0003のアイテムの組み合わせに対する評価が「高」と通知された場合、推薦部13は、ユーザID=0003のユーザに対してアイテムID=0003のアイテムを推薦する。また、ユーザID=0002のユーザとアイテムID=0002のアイテムの組み合わせに対する評価が「低」と通知された場合、推薦部13は、ユーザID=0002のユーザに対してアイテムID=0002のアイテムを推薦しない。
以上説明したように、アイテムベース協調フィルタリングの処理を実現する推薦システム20は、あるアイテムAと嗜好の似た他のアイテムBに付された評価値を利用して、アイテムAを未評価のユーザについてアイテムAに対する嗜好(評価)を予測する。そして、この推薦システム20は、予測した評価が高い場合に、そのユーザにアイテムAを推薦し、予測した評価が低い場合に、そのユーザにユーザAを推薦しないという処理を実行する。なお、上記説明においては簡単のために、特徴の似たアイテムを1つだけ検出し、そのアイテムに付された評価値を参照する構成としたが、実際には特徴の似た複数のアイテムの評価値を利用して、未評価のアイテムに対する評価を予測する方法が用いられる。
(1−2−2:推薦システム20の動作)
次に、図5を参照しながら、推薦システム20の動作について述べ、アイテムベース協調フィルタリングに係る処理の流れについて説明する。図5は、アイテムベース協調フィルタリングに係る処理の流れについて説明するための説明図である。
まず、推薦システム20は、特徴解析部22の機能により、評価値データベース21から評価値の付いていないユーザとアイテムの組み合わせを検出する(Step.1)。次いで、推薦システム20は、特徴解析部22の機能により、Step.1で検出したアイテムと特徴が似たアイテムを検出する(Step.2)。次いで、推薦システム20は、特徴解析部22の機能により、Step.2で検出した特徴の似たアイテムに対して、Step.1で検出したユーザが付した評価値を参照する(Step.3)。
次いで、推薦システム20は、特徴解析部22の機能により、Step.3で参照した評価値に基づき、Step.1で検出したユーザとアイテムの組み合わせに対応する評価値(評価)を予測する(Step.4)。Step.4における予測結果は、特徴解析部22から推薦部23に通知される。次いで、推薦システム20は、推薦部23の機能により、Step.4で予測された評価値が高い場合に、Step.1で検出されたユーザに対し、Step.1で検出されたアイテムを推薦する(Step.5)。もちろん、評価値が低い場合、推薦システム20は、そのアイテムを推薦しない。
以上説明したように、アイテムベース協調フィルタリングにおいて、あるアイテムに対して評価を付していないユーザに対する評価予測は、そのアイテムと特徴の似たアイテムに付された評価値を用いて行われる。そして、その評価が高い場合に、アイテムの推薦が行われる。
(アイテムベース協調フィルタリングの問題点)
これまで説明したアイテムベース協調フィルタリングにおける評価予測の方法からも推察されるように、アイテムベース協調フィルタリングは、ユーザ数やアイテム数が多く、評価値データベース21に評価値のログが多く格納されている場合に高い精度が得られる。しかし、アイテム数が少ないと、特徴が似たアイテムがうまく検出されず、評価予測の精度が低くなってしまう。また、未評価の特徴が多いアイテムに対しては、特徴が似たアイテムをうまく検出することができないため、評価予測の精度が低くなってしまう。つまり、アイテムベース協調フィルタリングは、ユーザ数やアイテム数が多く、評価値のログが多い状況下にないと、ユーザの嗜好に合った適切なアイテムの推薦を行うことが難しいという問題を抱えている。
[1−3:ユーザベース内容ベースフィルタリングについて]
次に、ユーザベース内容ベースフィルタリングについて説明する。ユーザベース内容ベースフィルタリングは、あるユーザに対して推薦するアイテムを決めるために、そのユーザが購入したアイテム群の特徴を用いる手法である。
(1−3−1:推薦システム30の構成)
まず、図7を参照しながら、ユーザベース内容ベースフィルタリングを実現することが可能な推薦システム30の機能構成について述べる。図7は、ユーザベース内容ベースフィルタリングを実現することが可能な推薦システム30の機能構成を示す説明図である。
図7に示すように、推薦システム30は、主に、特徴量データベース31と、特徴解析部32と、推薦部33とにより構成される。
(特徴量データベース31)
特徴量データベース31は、図9に示すように、ユーザと特徴の組み合わせに対して付されたスコアを格納するデータベースである。この特徴としては、例えば、「クラシックの音楽が好き」「ロックの音楽が好き」「ポップスの音楽が好き」「明るい曲調が好き」「暗い曲調が好き」「女性ボーカルが好き」「男性ボーカルが好き」などが例として挙げられる。その他にも、「花の写真が好き」「風景写真が好き」「動物写真が好き」や、「ホラー映画が好き」「時代劇が好き」など、多種多様な特徴が例示できる。各特徴に対する適合度を示すスコアは、各ユーザが過去に購入したアイテムや頻繁に利用するアイテムなどを解析することにより得られる。
図9の例では、ユーザID=0001のユーザと特徴ID=0001、0003の特徴の組み合わせに対するスコアは3(最高の適合度)である。同様に、ユーザID=0001のユーザと特徴ID=0002の特徴の組み合わせに対するスコアは0(最低の適合度)である。また、ユーザID=0001のユーザと特徴ID=0004の特徴の組み合わせに対するスコアは2(比較的高い適合度)である。このように、特徴量データベース31には、ユーザと特徴の各組み合わせに付されたスコアが格納されている。そして、各ユーザは、所定の特徴群に対するスコアの組み合わせにより特徴付けられている。なお、図9に例示したデータベースの構成は一例であり、特徴量データベース31の構成はこれに限定されない。
(特徴解析部32)
再び図7を参照する。特徴解析部32は、特徴量データベース31に格納されたスコアを利用して各ユーザの特徴を解析する手段である。例えば、アイテムAを推薦するユーザを決めるために、特徴量データベース31に格納されたスコアを解析してアイテムAを好むユーザを抽出する処理について考える。まず、特徴解析部32は、過去にアイテムAを購入したユーザの特徴を解析する。図9の例では、過去にアイテムAを購入したユーザ(ユーザID=0001、0002)と特徴ID=0001、0003の特徴の組み合わせに高いスコアが付されている。
そこで、特徴解析部32は、過去にアイテムAを購入したユーザの特徴として、特徴ID=0001、0003の特徴に高いスコアが付されていることを検出する。次いで、特徴解析部32は、過去にアイテムAを購入していないユーザの中から、特徴ID=0001、0003の特徴に対するスコアの高いユーザを抽出する。図9の例において、特徴ID=0001、0003の特徴に対するスコアの高いユーザは、ユーザID=1001のユーザである。そこで、特徴解析部32は、アイテムAを推薦すべきユーザとして、ユーザID=1001のユーザを抽出する。このようにして抽出されたユーザの情報(例えば、ユーザID)は、推薦部33に通知される。
(推薦部33)
再び図7を参照する。上記の通り、特徴解析部32により抽出されたユーザの情報は、推薦部33に通知される。例えば、特徴解析部32から推薦部33にユーザID=1001が通知されたものとする。この場合、推薦部33は、ユーザID=1001のユーザに対してアイテムAを推薦する。
以上説明したように、ユーザベース内容ベースフィルタリングの処理を実現する推薦システム30は、所定の特徴群に対する各ユーザの適合度を示したスコアの組み合わせにより各ユーザを特徴付け、そのスコアの組み合わせを利用してアイテムの推薦先を決める。つまり、推薦システム30は、あるアイテムを過去に購入したユーザを上記スコアの組み合わせにより特徴付け、そのスコアの組み合わせと似たスコアの組み合わせに対応するユーザに対して当該アイテムを推薦する。
(1−3−2:推薦システム30の動作)
次に、図8を参照しながら、推薦システム30の動作について述べ、ユーザベース内容ベースフィルタリングに係る処理の流れについて説明する。図8は、ユーザベース内容ベースフィルタリングに係る処理の流れについて説明するための説明図である。
まず、推薦システム30は、特徴解析部32の機能により、特徴量データベース31に格納されたスコアを参照してユーザの特徴を解析し、アイテムAを好むユーザの特徴を検出する(Step.1)。次いで、推薦システム30は、特徴解析部32の機能により、アイテムAを未購入のユーザの中から、Step.1で検出されたアイテムAを好むユーザと似た特徴を持つユーザを検出する(Step.2)。Step.2で検出されたユーザの情報は、特徴解析部32から推薦部33に通知される。次いで、推薦システム30は、推薦部33の機能により、Step.2で検出されたユーザに対してアイテムAを推薦する(Step.3)。
以上説明したように、ユーザベース内容ベースフィルタリングにおいては、あるアイテムを未購入のユーザの中から、そのアイテムの推薦先を決める場合、そのアイテムを過去に購入したユーザと似た特徴を持つユーザを検出する処理が行われる。そして、その処理により検出されたユーザに対してアイテムの推薦が行われる。
(ユーザベース内容ベースフィルタリングの問題点)
ユーザベース内容ベースフィルタリングは、先に説明した協調フィルタリングとは異なり、推薦対象のアイテムを過去に購入したユーザの特徴が分かれば、そのアイテムの推薦先を決めることができる。そのため、ユーザ数やアイテム数が少ない状況下においても、ある程度の精度でアイテムの推薦先となるユーザを決めることができる。しかし、ユーザベース内容ベースフィルタリングの場合、他のアイテムの情報を推薦先の決定判断に利用しないため、アイテム数が増えても精度が向上しない。そのため、アイテム数やユーザ数が多い状況下では協調フィルタリングよりも精度が低いという問題を抱えている。
ユーザベース内容ベースフィルタリングは、事前に用意した特徴量によってユーザの特徴を表現する。そのため、ユーザベース内容ベースフィルタリングは、その性能が、用いている特徴量に制限されてしまうという問題も抱えている。例えば、特徴量が粗すぎれば、あるアイテムを好むユーザと好まないユーザの特徴が等しくなってしまい性能が低下してしまうし、細かすぎれば、同じアイテムを好むユーザ同士が異なる特徴を持つことになり、やはり性能が低下してしまう。
[1−4:アイテムベース内容ベースフィルタリングについて]
次に、アイテムベース内容ベースフィルタリングについて説明する。アイテムベース内容ベースフィルタリングは、あるアイテムの推薦先となるユーザを決めるために、そのアイテムを購入したユーザ群の特徴を用いる手法である。
(1−4−1:推薦システム40の構成)
まず、図10を参照しながら、アイテムベース内容ベースフィルタリングを実現することが可能な推薦システム40の機能構成について述べる。図10は、アイテムベース内容ベースフィルタリングを実現することが可能な推薦システム40の機能構成を示す説明図である。
図10に示すように、推薦システム40は、主に、特徴量データベース41と、特徴解析部42と、推薦部43とにより構成される。
(特徴量データベース41)
特徴量データベース41は、図12に示すように、ユーザと特徴の組み合わせに対して付されたスコアを格納するデータベースである。この特徴としては、例えば、ジャンル、出演者、制作者、提供媒体、シリーズ、曲調、雰囲気などが例として挙げられる。各特徴に対する適合度を示すスコアは、制作者などが各アイテムに予め付しているか、多数の学習用アイテムを利用して機械学習することにより得られる(例えば、特開2008−123011号公報などを参照)。
図12の例では、アイテムID=0001のアイテムと特徴ID=0001、0003の特徴の組み合わせに対するスコアは3(最高の適合度)である。同様に、アイテムID=0001のアイテムと特徴ID=0002の特徴の組み合わせに対するスコアは0(最低の適合度)である。また、アイテムID=0001のアイテムと特徴ID=0004の特徴の組み合わせに対するスコアは2(比較的高い適合度)である。このように、特徴量データベース41には、アイテムと特徴の各組み合わせに付されたスコアが格納されている。そして、各アイテムは、所定の特徴群に対するスコアの組み合わせにより特徴付けられている。なお、図12に例示したデータベースの構成は一例であり、特徴量データベース41の構成はこれに限定されない。
(特徴解析部42)
再び図10を参照する。特徴解析部42は、特徴量データベース41に格納されたスコアを利用して各アイテムの特徴を解析する手段である。例えば、ユーザAに推薦するアイテムを決めるために、特徴量データベース41に格納されたスコアを解析してユーザAが好むアイテムを抽出する処理について考える。まず、特徴解析部42は、過去にユーザAが購入したアイテムの特徴を解析する。図12の例では、過去にユーザAが購入したアイテム(アイテムID=0001、0002)と特徴ID=0001、0003の特徴の組み合わせに高いスコアが付されている。
そこで、特徴解析部42は、過去にユーザAが購入したアイテムの特徴として、特徴ID=0001、0003の特徴に高いスコアが付されていることを検出する。次いで、特徴解析部42は、過去にユーザAが購入していないアイテムの中から、特徴ID=0001、0003の特徴に対するスコアの高いアイテムを抽出する。図12の例において、特徴ID=0001、0003の特徴に対するスコアの高いアイテムは、アイテムID=1001のアイテムである。そこで、特徴解析部42は、ユーザAに推薦すべきアイテムとして、アイテムID=1001のアイテムを抽出する。このようにして抽出されたアイテムの情報(例えば、アイテムID)は、推薦部43に通知される。
(推薦部43)
再び図10を参照する。上記の通り、特徴解析部42により抽出されたアイテムの情報は、推薦部43に通知される。例えば、特徴解析部42から推薦部43にアイテムID=1001が通知されたものとする。この場合、推薦部43は、アイテムID=1001のアイテムをユーザAに対して推薦する。
以上説明したように、アイテムベース内容ベースフィルタリングの処理を実現する推薦システム40は、所定の特徴群に対する各アイテムの適合度を示したスコアの組み合わせにより各アイテムを特徴付け、そのスコアの組み合わせを利用してユーザに推薦するアイテムを決める。つまり、推薦システム40は、あるユーザが過去に購入したアイテムを上記スコアの組み合わせにより特徴付け、そのスコアの組み合わせと似たスコアの組み合わせに対応するアイテムを当該ユーザに推薦する。
(1−4−2:推薦システム40の動作)
次に、図11を参照しながら、推薦システム40の動作について述べ、アイテムベース内容ベースフィルタリングに係る処理の流れについて説明する。図11は、アイテムベース内容ベースフィルタリングに係る処理の流れについて説明するための説明図である。
まず、推薦システム40は、特徴解析部42の機能により、特徴量データベース41に格納されたスコアを参照してアイテムの特徴を解析し、ユーザAが好むアイテムの特徴を検出する(Step.1)。次いで、推薦システム40は、特徴解析部42の機能により、ユーザAが未購入のアイテムの中から、Step.1で検出されたユーザAが好むアイテムと似た特徴を持つアイテムを検出する(Step.2)。Step.2で検出されたアイテムの情報は、特徴解析部42から推薦部43に通知される。次いで、推薦システム40は、推薦部43の機能により、Step.2で検出されたアイテムをユーザAに対して推薦する(Step.3)。
以上説明したように、アイテムベース内容ベースフィルタリングにおいては、あるユーザが未購入のアイテムの中から、そのユーザに推薦するアイテムを決める場合、そのユーザが過去に購入したアイテムと似た特徴を持つアイテムを検出する処理が行われる。そして、その処理により検出されたアイテムをユーザに推薦する処理が行われる。
(アイテムベース内容ベースフィルタリングの問題点)
アイテムベース内容ベースフィルタリングは、先に説明した協調フィルタリングとは異なり、推薦対象のユーザが過去に購入したアイテムの特徴が分かれば、そのユーザに推薦するアイテムを決めることができる。そのため、ユーザ数やアイテム数が少ない状況下においても、ある程度の精度で推薦すべきアイテムを決めることができる。しかし、アイテムベース内容ベースフィルタリングの場合、他のユーザの情報を推薦先の決定判断に利用しないため、ユーザ数が増えても精度が向上しない。そのため、アイテム数やユーザ数が多い状況下では協調フィルタリングよりも精度が低いという問題を抱えている。
アイテムベース内容ベースフィルタリングは、事前に用意した特徴量によってアイテムの特徴を表現する。そのため、アイテムベース内容ベースフィルタリングは、その性能が、用いている特徴量に制限されてしまうという問題も抱えている。例えば、特徴量が粗すぎれば、あるユーザに好まれるアイテムと好まれないアイテムの特徴が等しくなってしまい性能が低下してしまうし、細かすぎれば、同じユーザに好まれるアイテム同士が異なる特徴を持つために、やはり性能が低下してしまう。
[1−5:行列分解ベース協調フィルタリングについて]
次に、行列分解ベース協調フィルタリングについて説明する。行列分解ベース協調フィルタリングは、ユーザとアイテムの組み合わせに対する既知の評価値がうまく説明されるように、ユーザの嗜好に対応するベクトルとアイテムの特徴に対応するベクトルを推定し、その推定結果に基づいて未知の評価値を予測する手法である。なお、行列分解ベース協調フィルタリングは、先に説明したユーザベース協調フィルタリングやアイテムベース協調フィルタリングよりも精度が高いことが知られている。
(1−5−1:推薦システム50の構成)
まず、図13を参照しながら、行列分解ベース協調フィルタリングを実現することが可能な推薦システム50の機能構成について述べる。図13は、行列分解ベース協調フィルタリングを実現することが可能な推薦システム50の機能構成を示す説明図である。
図13に示すように、推薦システム50は、主に、評価値データベース51と、行列分解部52と、評価値予測部53と、推薦部54とにより構成される。
(評価値データベース51)
評価値データベース51は、図15に示すように、ユーザiとアイテムjの組み合わせに対する評価値が格納されたデータベースである。なお、以下では説明の都合上、各ユーザを識別するためのIDをi=1,…,M、アイテムを識別するためのIDをj=1,…,Nと表記する。先に説明した評価値データベース11などと同様、評価値が付されていないユーザとアイテムの組み合わせも存在する。行列分解ベース協調フィルタリングは、ユーザの潜在的な特徴とアイテムの潜在的な特徴を考慮して、このような評価値が付されていないユーザとアイテムの組み合わせに対する評価値を予測する手法である。
(行列分解部52)
ユーザi、アイテムjに対応する評価値をyijと表記すると、評価値データベース51に格納された評価値の集合は、yijを要素とする評価値行列{yij}(i=1,…,M、j=1,…,N)とみなすことができる。行列分解部52は、ユーザiの潜在的な特徴を表す潜在特徴ベクトルu(図17を参照)、アイテムj(j=1,…,N)の潜在的な特徴を表す潜在特徴ベクトルv(図16を参照)を導入し、既知の評価値yij全体がうまく説明されるように、評価値行列{yij}を分解して潜在特徴ベクトルu,vで表現する。なお、既知の評価値yijとは、評価値データベース51に評価値が格納された評価値yijのことである。
なお、潜在特徴ベクトルuの各要素は、ユーザの潜在的な特徴を表すものである。同様に、潜在特徴ベクトルvの各要素は、アイテムの潜在的な特徴を表すものである。但し、ここで「潜在的な」という表現を用いていることからも理解されるように、潜在特徴ベクトルu,vの各要素がユーザやアイテムの具体的な特徴を表すものではなく、後述するモデル計算の中で得られる単なるパラメータである。但し、潜在特徴ベクトルuを構成するパラメータ群は、ユーザの好みを反映したものとなる。また、潜在特徴ベクトルvを構成するパラメータ群は、アイテムの特徴を反映したものとなる。
さて、行列分解部52による具体的な処理について説明する。まず、行列分解部52は、下記の式(1)に示すように、評価値yijを潜在特徴ベクトルu,vの内積で表現する。但し、上付きのTは転置を表す。また、潜在特徴ベクトルu,vの次元数はHとする。既知の評価値yij全体がうまく説明されるように潜在特徴ベクトルu,vを求めるには、例えば、下記の式(2)で定義される二乗誤差Jが最小となる潜在特徴ベクトルu,vを算出すればよいと考えられる。しかし、実際には、二乗誤差Jを最小とする潜在特徴ベクトルu,vを用いて未知の評価値yijを予測しても、十分な予測精度が得られないことが知られている。
Figure 0005440394
そこで、行列分解部52は、下記の式(3)で定義される正規化項Rを用いて潜在特徴ベクトルu,vを算出する。具体的には、行列分解部52は、二乗誤差Jと正規化項Rの線形結合で表現される目的関数Q(下記の式(4)を参照)が最小化されるような潜在特徴ベクトルu,vを算出する。なお、βは、正規化項Rの重みを表現するためのパラメータである。下記の式(3)から明らかなように、正規化項Rは、目的関数Qが最小となる潜在特徴ベクトルu,vを算出する際に、潜在特徴ベクトルu,vが0に近づくように作用する。なお、目的関数Qが最小となる潜在特徴ベクトルu,vを算出する際に、潜在特徴ベクトルu,vがベクトルμ,μに近づくように作用させるには、正規化項Rを下記の式(5)のように変形すればよい。
Figure 0005440394
なお“Ruslan Salakhutdinov and Andriy Mnih. Probabilistic matrix factorization. In Advances in Neural Information Processing Systems, volume 20, 2008.”に記載の一般的な行列分解ベース協調フィルタリングにおいて、上記のベクトルμは潜在特徴ベクトルuの平均、上記のベクトルμは潜在特徴ベクトルvの平均とされている。
このように、行列分解部52は、上記の式(4)に示した目的関数Qが最小となる潜在特徴ベクトルu,vを算出する。そして、行列分解部52により算出された潜在特徴ベクトルu,vは、評価値予測部53に入力される。
(評価値予測部53)
行列分解部52から潜在特徴ベクトルu,v(i=1,…,M、j=1,…,N)が入力されると、評価値予測部53は、上記の式(1)に基づき、入力された潜在特徴ベクトルu,vを用いて未知の評価値を算出する。例えば、評価値ymnが未知の場合、評価値予測部53は、潜在特徴ベクトルu,vを用いて評価値ymn=u を算出する。このようにして評価値予測部53により算出された未知の評価値は、推薦部54に入力される。
(推薦部54)
評価値予測部53から未知の評価値ymnが入力されると、推薦部54は、入力された未知の評価値ymnに基づいて、ユーザmにアイテムnを推薦するか否かを判断する。例えば、未知の評価値ymnが所定の閾値を上回る場合、推薦部54は、ユーザmにアイテムnを推薦する。一方、未知の評価値ymnが所定の閾値を下回る場合、推薦部54は、ユーザmにアイテムnを推薦しない。なお、推薦部54は、閾値を基準に推薦するアイテムを決定するのではなく、例えば、ランキング上位となる一定数のアイテムを推薦するように構成されていてもよい。
以上、行列分解ベース協調フィルタリングを実現可能な推薦システム50の機能構成について説明した。これまで説明してきた通り、上記の行列分解ベース協調フィルタリングにおいては、既知の評価値しか利用されていない。そのため、ユーザ数やアイテム数が少なかったり、評価値のログが少なかったりする状況下では予測精度が低くなる。
(1−5−2:推薦システム50の動作)
次に、図14を参照しながら、推薦システム50の動作について述べ、行列分解ベース協調フィルタリングに係る処理の流れについて説明する。図14は、行列分解ベース協調フィルタリングに係る処理の流れについて説明するための説明図である。
まず、推薦システム50は、行列分解部52の機能により、評価値データベース51から評価値yijの集合{yij}を取得する(Step.1)。次いで、推薦システム50は、行列分解部52の機能により、Step.1で取得した既知の評価値集合{yij}を用いて、上記の式(3)で定義される目的関数Qを最小化する潜在特徴ベクトル{u}{v}を算出する(Step.2)。行列分解部52により算出された潜在特徴ベクトル{u}{v}は、評価値予測部53に入力される。
次いで、推薦システム50は、評価値予測部53の機能により、Step.2で算出された潜在特徴ベクトル{u}{v}を用いて、未知の評価値{ymn}を算出(予測)する(Step.3)。評価値予測部53により算出された未知の評価値{ymn}は、推薦部54に入力される。次いで、推薦システム50は、推薦部54の機能により、Step.3で算出された評価値{ymn}が所定の閾値を上回る場合に、ユーザmにアイテムnを推薦する(Step.4)。もちろん、Step.3で算出された評価値{ymn}が所定の閾値を下回る場合、ユーザmに対するアイテムnの推薦は行われない。
以上説明したように、行列分解ベース協調フィルタリングにおいては、既知の評価値{yij}を利用して潜在特徴ベクトル{u}{v}が算出され、その算出結果に基づいて未知の評価値{ymn}が予測される。そして、その予測結果に基づいてユーザmに対するアイテムnの推薦が行われる。
(行列分解ベース協調フィルタリングの問題点)
行列分解ベース協調フィルタリングは、先に説明したユーザベース協調フィルタリングやアイテムベース協調フィルタリングに比べて評価値の予測精度が高い。しかし、行列分解ベース協調フィルタリングにおいても既知の評価値しか利用されないため、ユーザ数やアイテム数が少なかったり、評価値のログが少なったりする状況下では予測精度が低くなるという問題点がある。こうした問題点を解決するために考案されたのが後述する本実施形態のフィルタリング手法である。
<2:第1実施形態>
以下、本発明の第1実施形態について説明する。本実施形態は、行列分解ベース協調フィルタリングに関する。但し、本実施形態は、先に説明した行列分解ベース協調フィルタリングとは異なり、既知の評価値のみならずユーザやアイテムが有する既知の特徴を考慮した新たなフィルタリング手法に関するものである。そのため、本実施形態に係るフィルタリング手法を適用すると、ユーザ数やアイテム数が少なかったり、評価値のログが少ない状況下においても、十分に高い精度で評価値を予測することが可能になる。また、協調フィルタリングがベースとなっているため、ユーザ数やアイテム数が増加するにつれ、評価値の予測精度が向上するという利点も有する。以下、詳細に説明する。
[2−1:着眼点について]
上記の通り、先に説明した行列分解ベース協調フィルタリングにおいては、既知の評価値しか考慮されていなかった。そこで、本実施形態に係るフィルタリング手法(以下、本手法)においては、既知の評価値に加えてユーザやアイテムが持つ既知の特徴を考慮し、これら既知の特徴を潜在特徴ベクトル{u}{v}に反映させる。例えば、本手法においては、先の行列分解ベース協調フィルタリングにおいて上記の式(5)で表現されていた正規化項Rを下記の式(6)に示す正規化項Rに変更する。但し、下記の式(6)に含まれるD,Dは、特徴ベクトルxui,xvjをそれぞれ潜在特徴ベクトルu,vの空間に射影するための回帰行列である。
Figure 0005440394
上記の式(6)のように正規化項Rを変更した場合、上記の式(4)で表現される目的関数Qを最小化するように潜在特徴ベクトル{u}{v}を算出する際、潜在特徴ベクトルuはDuiに近づくように、vはDvjに近づくように制限される。そのため、既知の特徴が似たユーザの潜在特徴ベクトルu同士が近づくことになる。同様に、既知の特徴が似たアイテムの潜在特徴ベクトルv同士も近づくことになる。従って、既知の評価値が少ないユーザやアイテムであっても、既知の特徴に基づいて他のユーザやアイテムと似た潜在特徴ベクトルが得られるようになる。その結果、既知の評価値が少ない状況下にあるユーザやアイテムに対しても、高い精度で評価値を予測することが可能になる。以下、具体的な計算手法及び当該計算手法を実現可能な評価値予測装置100の構成について説明する。
[2−2:評価値予測装置100の機能構成]
図18を参照しながら、本実施形態に係るフィルタリング手法を実現することが可能な評価値予測装置100の機能構成について説明する。図18は、本実施形態に係る評価値予測装置100の機能構成について説明するための説明図である。なお、図18に例示した評価値予測装置100の構成には、ユーザにアイテムを推薦する構成要素を含んでいるが、未知の評価値を予測する部分だけを切り出して評価値予測装置100としてもよい。但し、以下では、先に説明した推薦システム50などとの対比を容易にするため、評価値予測装置100を推薦システムの一例として説明する。
図18に示すように、評価値予測装置100は、評価値データベース101と、特徴量データベース102と、事後分布算出部103と、パラメータ保持部104とを有する。さらに、さらに、評価値予測装置100は、評価値予測部105と、予測評価値データベース106と、推薦部107と、通信部108とを有する。また、評価値予測装置100は、例えば、ネットワーク200を介してユーザ端末300に接続されている。
(評価値データベース101)
評価値データベース101は、図15に示すように、ユーザiとアイテムjの組み合わせに対して付された評価値が格納されたデータベースである。なお、先に説明した行列分解ベース協調フィルタリングの場合と同様、説明の都合上、各ユーザを識別するためのIDをi=1,…,M、アイテムを識別するためのIDをj=1,…,Nと表記する。また、各評価値をyijと表記し、その評価値の集合を{yij}と表記する。なお、評価値データベース101に格納されていない未知の評価値を予測する点でも、上記の行列分解ベース協調フィルタリングと同様である。
(特徴量データベース102)
特徴量データベース102は、図20、図21に示すように、ユーザが持つ既知の特徴を表した特徴ベクトル{xui}の各要素、及びアイテムが持つ既知の特徴を表した特徴ベクトル{xvj}の各要素が格納されたデータベースである。ユーザが持つ既知の特徴としては、例えば、年齢、性別、出身地、職業などがある。一方、アイテムが持つ既知の特徴としては、例えば、ジャンル、著者、出演者、監督、出版年、曲調などがある。
(事後分布算出部103、パラメータ保持部104)
さて、本手法では、上記の式(6)に示すように、回帰行列D,Dがパラメータとして追加された。そのため、パラメータ数の増加が推定の精度に与える影響を最小限に留めるため、本実施形態においてはベイズ推定のような推定手法を用いることにする。ベイズ推定は、確率モデルを用い、学習データが与えられた状況下で未知のパラメータを推定する手法である。本実施形態の場合、学習データとして、既知の評価値集合{yij}と特徴ベクトル{xui}{xvj}が与えられる。また、未知のパラメータとして、未知の評価値集合{ymn}、回帰行列D,D、その他確率モデルに含まれるパラメータが存在する。まず、本手法で用いる確率モデルについて説明する。
本手法で用いる確率モデルは、下記の式(7)〜式(9)で表現される。但し、N(μ,Σ)は、平均がμ、共分散行列がΣの正規分布を表す。また、diag(…)は、…を対角成分に持つ対角行列を表す。なお、λ、β、βは、確率モデルの中で導入されたパラメータである。λはスカラー量であり、β=(βu1,…,βuH)、β=(βv1,…,βvH)である。下記の式(7)〜式(9)で表現される確率モデルは、上記の式(6)で表現した正規化項Rを用いて目的関数Qを最小化するように潜在特徴ベクトル{u}{v}を算出する演算と等価である。但し、上記の式(4)に現れるスカラー量のパラメータβがベクトル量のβ、βに変更されている点で、より柔軟なモデルへと変更されている。
Figure 0005440394
事後分布算出部103は、上記の確率モデルに基づいてベイズ推定を行い、潜在特徴ベクトル{u}{v}、回帰行列D,D、確率モデルに含まれるパラメータλ,β,βの事後分布を算出する手段である。なお、以下の説明において、潜在特徴ベクトル{u}{v}、回帰行列D,D、確率モデルに含まれるパラメータλ,β,βをまとめてパラメータと呼ぶ場合がある。また、事後分布算出部103により設定又は算出されたパラメータは、パラメータ保持部104に格納される。さらに、ここではベイズ推定の近似解法である変分ベイズ推定を用いることにする。
ベイズ推定は、確率モデルに基づき、学習データが与えられた状況下で各パラメータの事後分布を求める推定ステップと、求めた事後分布を周辺化してパラメータの分布やその期待値を求める予測ステップとで構成される。複雑な確率モデルを用いると、事後分布も非常に複雑になり、予測ステップで求めたいパラメータの分布や期待値を求めることが難しくなる。一方、変分ベイズ推定の場合は、事後分布を計算しやすい分布で近似することにより事後分布の複雑化が回避されるため、パラメータの分布や期待値が求めやすくなる。
いま、学習データをベクトル量X、パラメータの集合をΘ={θ,…,θ}と表現すると、変分ベイズ推定の場合、事後分布p(Θ|X)は、下記の式(10)のように近似される。また、このように近似した場合、パラメータθ(k=1,…,K)の変分事後分布q(θ)は、下記の式(11)及び式(12)となることが知られている。但し、Ep(x)[f(x)]は、分布p(x)の下におけるf(x)の期待値を表す。また、const.は定数を表す。なお、各変分事後分布q(θ)(k=1,…,K)は、他の分布に依存している。そのため、最適な変分事後分布を算出するには、適当な初期化処理の下、各変分事後分布のパラメータを他の変分事後分布の下で更新する処理を繰り返し実行する必要がある。この処理に関する具体的なアルゴリズムについては後述する。
Figure 0005440394
ここで、上記の変分ベイズ推定に関するアルゴリズムを上記の式(7)〜式(9)で表現した確率モデルに当てはめる。まず、事後分布p(Θ|X)は、下記の式(13)のように表現される。但し、回帰行列D,DをD=(du1,…,duH、D=(dv1,…,dvHと表現した。なお、duh,dvh(h=1,…,H)はベクトル量である。
Figure 0005440394
ところで、潜在特徴ベクトルu、vの間には対称性がある。そこで、以下ではuの分布だけについて考えることにする。また、表記を簡単にするため、βを単にβ=(β,…,β)と表記し、Dを単にDと表記し、duhをdと表記し、xuiをxと表記する。そして、特徴量x及び回帰ベクトルdとその事前分布のパラメータγはK次元とする。ここで、パラメータd、βの事前分布を下記の式(14)、式(15)のように定義する。また、下記の式(14)に現れるパラメータγ=(γ,…,γ)の分布を下記の式(16)のように定義する。これらの分布は、事後分布も同じ分布となる共役事前分布である。なお、事前知識がない場合には、事前分布のパラメータを一様分布に設定しておけばよい。また、事前知識を反映させる場合には、事前分布のパラメータを調整すればよい。
Figure 0005440394
なお、Gam(…)はガンマ分布を表す。事後分布算出部103は、上記の式(13)〜式(16)に示した条件の下で、上記の式(11)の変分事後分布を算出する。まず、潜在特徴ベクトルuの変分事後分布q(u)は、下記の式(17)となる。但し、下記の式(17)に現れるパラメータμ’ui,Σ’uiは、下記の式(18)及び式(19)で表現される。また、回帰行列Dの要素dに関する変分事後分布q(d)は、下記の式(20)となる。但し、下記の式(20)に現れるパラメータμ’dh,Σ’dhは、下記の式(21)及び式(22)で表現される。
Figure 0005440394
なお、上記の式(18)及び式(19)に現れるベクトルπ=(πi1,…,πiNは、評価値yijが既知の場合にπij=1、未知の場合にπij=0をとるベクトルである。また、上記の式(18)に現れるベクトルyは、評価値yijを要素とするベクトルy=(yi1,…,yiNである。そして、上記の式(18)及び式(19)に現れるVは、潜在特徴ベクトルvを要素とする行列V=(v,…,vである。さらに、上記の式(21)及び式(22)に現れるXは、特徴ベクトルxを要素とする行列X=(x,…,xである。
また、確率モデルのパラメータβ、γに関する変分事後分布q(β)、q(γ)は、それぞれ下記の式(23)、式(26)となる。但し、下記の式(23)に現れるパラメータa’β、b’βは、それぞれ下記の式(24)、式(25)で表現される。そして、下記の式(26)に現れるパラメータa’γ、b’γは、それぞれ下記の式(27)、式(28)で表現される。
Figure 0005440394
上記の式(17)〜式(28)を用いて各パラメータの変分事後分布が表現されることから、下記のアルゴリズムに基づいて各変分事後分布のパラメータを他の変分事後分布の下で更新することにより、各パラメータの最適な変分事後分布が得られる。以下、潜在特徴ベクトルu(i=1,…,M)の更新アルゴリズムを示す。
Figure 0005440394
Figure 0005440394
潜在特徴ベクトルv(j=1,…,N)の更新アルゴリズムも同様に、以下のようになる。但し、潜在特徴ベクトルvの更新アルゴリズムにおいて、β=(β,…,β)はβを表し、DはDを表し、dはdvhを表し、xはxvjを表す。また、特徴量xj及び回帰ベクトルdとその事前分布のパラメータγはK次元とする。さらに、π=(π1j,…,πMjは、評価値yijが既知の場合にπij=1、未知の場合にπij=0をとるベクトルである。また、yは、評価値yijを要素とするベクトルy=(y1j,…,yMjである。そして、Uは、潜在特徴ベクトルuを要素とする行列U=(u,…,uである。さらに、Xは、特徴ベクトルxを要素とする行列X=(x,…,xである。
Figure 0005440394

Figure 0005440394
事後分布算出部103は、パラメータが収束するまで、上記の更新アルゴリズムをU、Vについて交互に反復実行する。この処理により、各パラメータの変分事後分布が得られる。ここで得られた変分事後分布は、事後分布算出部103から評価値予測部105に入力される。ここまでの処理が推定ステップである。この推定ステップを終えると、評価値予測装置100は、処理を予測ステップに進める。
(パラメータλの変分事後分布について)
ここで、パラメータλの変分事後分布を推定する処理について説明を補足する。パラメタλの変分事後分布q(λ)は、λの事前分布p(λ)を下記の式(29)で表現すると、下記の式(30)のようになる。但し、下記の式(30)に現れるa’λ、b’λは、それぞれ下記の式(31)及び式(32)のように表現される。従って、この変分事後分布q(λ)を用いてパラメータλを推定することは可能であるが、パラメータλ、その期待値E[λ]は、予備実験などを通じて設定することもできる。
Figure 0005440394
(評価値予測部105)
さて、評価値予測部105は、予測ステップの処理として、事後分布算出部103から入力された各パラメータの変分事後分布に基づいて評価値yijの期待値を算出する。上記の通り、事後分布算出部103によって潜在特徴ベクトルの変分事後分布q(u),q(v)が求められている。そこで、評価値予測部105は、下記の式(33)に示すように、潜在特徴ベクトルu,vの内積(評価値yij)に対する期待値を算出する。このようにして評価値予測部105により算出された評価値の期待値は、予測評価値データベース106に格納される。
Figure 0005440394
(推薦部107、通信部108)
推薦部107は、予測評価値データベース106に格納された未知の評価値に対する期待値(以下、予測評価値)を参照し、予測評価値が高い場合にはユーザにアイテムを推薦する。例えば、推薦部107は、予測評価値ymnが所定の閾値を上回る場合、ユーザmに対してアイテムnを推薦する。また、推薦部107は、予測評価値データベース106を参照して、あるユーザが評価を行っていないアイテムに対して予測評価値が高い順にアイテムをソートしてリストを生成し、そのリストを当該ユーザに提示してもよい。例えば、推薦部107は、通信部108を介して、生成したリストをユーザ端末300に送信する。そして、送信されたリストは、ネットワーク200を通じてユーザ端末300に伝達され、ユーザ端末300の表示手段(非図示)に表示される。
以上、評価値予測装置100の機能構成について説明した。
(メモリの節約について)
ところで、ある程度大きな次元の潜在特徴ベクトルu,vを用いて本実施形態に係るフィルタリング手法を実現するには、十分なメモリ容量が必要になる。例えば、上記の更新アルゴリズムに現れるΣ’ui(i=1,…,M)及びΣ’vj(j=1,…,N)をメモリに保持するには、それぞれO(MH)[bit]及びO(NH)[bit]のメモリ領域が必要になる。そのため、ユーザ数M、アイテム数N、潜在特徴ベクトルの次元数Hが大きいと、これらを保持するだけで膨大なメモリ容量が必要になる。
同様に、Σ’dh(h=1,…,H)を保持するためにもO(HK)[bit]のメモリ領域が必要になる。そのため、潜在ベクトルの次元数Hや特徴量数Kが大きいと、これを保持するだけで膨大なメモリ容量が必要となる。そこで、必要となるメモリ容量を減らすため、平均ベクトルμ’ui,μ’vj,μ’dhを共役勾配法などによって更新するようにし、Σ’ui,Σ’vj,Σ’dhは対角成分のみを保持するようにする。この方法を用いることにより、上記の更新アルゴリズムを実現する際に必要となるメモリ容量を大幅に削減することが可能になる。
[2−3:評価値予測装置100の動作]
次に、図19を参照しながら、評価値予測装置100の動作について述べ、本実施形態のフィルタリング手法に係る処理の流れについて説明する。図19は、本実施形態のフィルタリング手法に係る処理の流れについて説明するための説明図である。
まず、評価値予測装置100は、事後分布算出部103の機能により、評価値データベース101から既知の評価値{yij}を取得し、特徴量データベース102から特徴ベクトル{xui}{xvj}を取得する(Step.1)。次いで、評価値予測装置100は、事後分布算出部103の機能により、確率モデルに含まれるパラメータを初期化する(Step.2)。次いで、評価値予測装置100は、事後分布算出部103の機能により、Step.1で取得した既知の評価値{yij}、特徴ベクトル{xui}{xvj}を変分ベイズ推定アルゴリズムに入力し、各パラメータの変分事後分布を算出する(Step.3)。
Step.3で算出された変分事後分布は、事後分布算出部103から評価値予測部105に入力される。次いで、評価値予測装置100は、評価値予測部105の機能により、Step.3で算出された変分事後分布から、未知の評価値の期待値(予測評価値)を算出する(Step.4)。ここで算出された予測評価値は、予測評価値データベース106に格納される。次いで、評価値予測装置100は、推薦部107の機能により、Step.4で算出された予測評価値が高いアイテムをユーザに推薦する(Step.5)。
以上説明したように、本実施形態に係るフィルタリング手法は、行列分解ベース協調フィルタリングの要素を含みつつ、既知の特徴ベクトルを考慮した新たなフィルタリング手法である。そのため、ユーザ数やアイテム数が少なかったり、既知の評価値が少ない状況下においても、高い推定精度を実現することが可能になる。
(応用例)
これまで、ユーザとアイテムの組み合わせに対する評価値を対象に、未知の評価値を予測する方法について説明してきた。しかし、本手法は、あるアイテム群Aのアイテムと、あるアイテム群Bのアイテムとの組み合わせに対して付される任意のラベルを対象に、未知のラベルを予測する任意の方法に応用することが可能である。
(例1)本手法は、ユーザとアイテムの組み合わせに対して、ユーザのアイテムに対する評価値や購入確率を予測して推薦するシステムに応用することができる。この場合、ユーザの特徴量としては、例えば、年齢、性別、職業、出身地などが利用される。一方、アイテムの特徴量としては、例えば、ジャンル、著者、出演者、年代などが利用される。
(例2)また、本手法は、ユーザと疾患の組み合わせに対して、ユーザが疾患にかかる確率を予測するシステムに応用することができる。この場合、ユーザの特徴量としては、例えば、年齢、性別、生活習慣、遺伝子に基づく特徴量などが利用される。なお、遺伝子に基づく特徴量のみを利用すれば、遺伝子と疾患の対応付けを行うシステムに応用することができる。
(例3)また、本手法は、銘柄と市場の組み合わせに対して、銘柄の価格を予測するシステムに応用することができる。この場合、銘柄の特徴量としては、例えば、企業の財務諸表に基づく特徴量や、市場平均や同業他社の価格などの時刻に依存した特徴量などが利用される。
(例4)また、本手法は、ユーザとコンテンツの組み合わせに対して、ユーザのコンテンツに対する評価語を予測して、単語に合ったコンテンツを提示するシステムに応用することができる。この場合、コンテンツの特徴量としては、例えば、画像特徴量や12音解析により得られた特徴量などが利用される。
(例5)また、本手法は、ユーザとユーザの組み合わせに対して、ユーザ間のつながりやすさを予測するSNS支援システムに応用することができる。この場合、ユーザの特徴量としては、例えば、年齢、性別、日記、友人の特徴量などが利用される。
(例6)また、本手法は、画像と単語の組み合わせに対して、画像に単語が指す物体が存在するか否かを予測するシステムに応用することもできる。
このように、本手法は、多様なアイテム群A、Bの組み合わせに対して付されるラベルを予測するシステムに応用することが可能である。
以上、本発明の第1実施形態について説明した。
<3:第2実施形態>
次に、本発明の第2実施形態について説明する。本実施形態は、上記の第1実施形態を時系列データの予測に応用した時系列解析方法に関する。
時系列解析方法としては、例えば、カルマンフィルタが知られている。カルマンフィルタは、誤差のある観測値を用いて、時間的に変化する量を推定するために用いられる手法である。一方、本実施形態は、例えば、ユーザとアイテムの組み合わせに対する評価値の集合が時間的に変化する場合に、その集合の観測値から将来観測されるであろう評価値の集合を予測するシステムを実現することを目的としている。
なお、本実施形態で取り上げる上記のような目的は、カルマンフィルタを2次元に拡張しても達成することは困難である。例えば、ある時点における評価値の集合に未評価の要素が含まれていると、その要素に対応する将来の評価値をカルマンフィルタにより予測することはできない。そこで、本実施形態は、ある時点における評価値集合から次の時点における評価値集合を予測すると共に、次の時点における既知の評価値集合から、同じ時点における未知の評価値を予測する方法(以下、本手法)を提案する。
[3−1:評価値予測装置130の機能構成]
まず、図22を参照しながら、本手法を実現することが可能な本実施形態に係る評価値予測装置130の機能構成について説明する。図22は、本実施形態に係る評価値予測装置130の機能構成について説明するための説明図である。
図22に示すように、評価値予測装置130は、主に、評価値データベース131と、特徴量データベース132と、事後分布算出部133と、パラメータ保持部134と、評価値予測部135とにより構成される。
評価値データベース131の構成は、上記の第1実施形態に係る評価値予測装置100が有する評価値データベース101と実質的に同じである。但し、評価値データベース131には、ユーザとアイテムの組み合わせに対する評価値が時点毎に格納されている。また、後述する評価値予測部135により予測された評価値が評価値データベース131に格納される。一方、特徴量データベース132の構成は、上記の第1実施形態に係る評価値予測装置100が有する特徴量データベース102と実質的に同じである。
上記の第1実施形態に係る評価値予測装置100と本実施形態に係る評価値予測装置130との大きな違いは、事後分布算出部133が利用する確率モデルの違いにある。事後分布算出部133は、下記の式(34)〜式(36)で表現される確率モデルを利用する。なお、yij(t)は、時刻tにおける評価値yijを示す。また、u(t),v(t)は、時刻tにおける潜在特徴ベクトルu,vを示す。
Figure 0005440394
上記の第1実施形態に係る確率モデル(上記の式(7)〜式(9))との大きな違いは、上記の式(8)及び式(9)に現れる特徴ベクトルxui,xvjが前時刻(t−1)における潜在特徴ベクトルu(t−1),v(t−1)に置換されている点である。なお、初期(t=0)の時点では、u(0)=xui,v(0)=xvjとすればよい。その後は、上記の第1実施形態と同様に変分ベイズ推定アルゴリズムにより得られる潜在特徴ベクトルu(t−1),v(t−1)(t>1)を利用して逐次的に潜在特徴ベクトルu(t),v(t)の分布を求めていけばよい。潜在特徴ベクトルu(t),v(t)の分布が得られれば、時刻tにおける評価値yijの期待値が得られる。つまり、逐次的に評価値集合の未評価要素が予測される。
なお、潜在特徴ベクトルu(t),v(t)の変分事後分布を算出するための変分ベイズ推定アルゴリズムは上記の第1実施形態と実質的に同じであるため、これら変分事後分布の算出方法については詳細な説明を省略する。このようにして得られた評価値集合の時系列データは、例えば、ユーザの嗜好変化を捉えるために利用することができる。また、ユーザの嗜好変化に応じたアイテムの推薦に応用することも可能である。さらに、上記の第1実施形態と同様、様々な分野(上記の(例1)〜(例6)など)への応用も考えられる。
[3−2:評価値予測装置130の動作]
次に、図23を参照しながら、評価値予測装置130の動作について説明する。図23は、評価値予測装置130の動作について説明するための説明図である。
(初期処理ステップ)
まず、評価値予測装置130は、評価値データベース131から、時刻t=0(初期時点)における既知の評価値{yij}を取得する。次いで、評価値予測装置130は、上記の第1実施形態と同様に、特徴量データベース132から特徴ベクトル{xui}{xvj}を取得する。そして、評価値予測装置130は、上記の第1実施形態と同様の確率モデルに基づいて未知の評価値を予測し、その予測評価値を評価値データベース131に格納する。この時点で、時刻t=0については、全てのユーザとアイテムの組み合わせに対する評価値{yij}が評価値データベース131に格納されたことになる。また、事後分布算出部133により時刻t=0の時点における潜在特徴ベクトル{u(0)}{v(0)}の変分事後分布が得られ、パラメータ保持部134に格納されている。
(逐次処理ステップ)
次いで、評価値予測装置130は、評価値データベース131から、時刻t=1における既知の評価値{yij}を取得する。次いで、評価値予測装置130は、時刻t=0における潜在特徴ベクトル{u(0)}{v(0)}の変分事後分布から得られた時刻t=1における確率モデルを用いて、時刻t=1における各パラメータの変分事後分布を算出する。そして、評価値予測装置130は、算出した変分事後分布を用いて、時刻t=1における未知の評価値を予測し、その予測評価値を評価値データベース131に格納する。この時点で、時刻t=1については、全てのユーザとアイテムの組み合わせに対する評価値{yij}が評価値データベース131に格納されたことになる。また、なお、事後分布算出部133により時刻t=1の時点における潜在特徴ベクトル{u(1)}{v(1)}の変分事後分布が得られ、パラメータ保持部134に格納されている。
上記の逐次処理ステップの処理を所定の時刻まで逐次的に繰り返すことにより、評価値集合{yij}の時系列予測が実現される。上記説明からも明らかなように、本手法の場合、ある時点tにおける既知の評価値と、その前の時点(t−1)における既知の評価値及び潜在特徴ベクトルから、時点tにおける未知の評価値が算出される。そのため、カルマンフィルタとは異なり、連続する時点において評価値が未入力の部分(ユーザとアイテムの組み合わせ)が存在しても、評価値を時系列予測することが可能である。
以上、本発明の第2実施形態について説明した。
<4:ハードウェア構成例>
上記の評価値予測装置100、130が有する各構成要素の機能は、例えば、図24に示す情報処理装置のハードウェア構成を用いて実現することが可能である。つまり、当該各構成要素の機能は、コンピュータプログラムを用いて図24に示すハードウェアを制御することにより実現される。なお、このハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、PHS、PDA等の携帯情報端末、ゲーム機、又は種々の情報家電がこれに含まれる。但し、上記のPHSは、Personal Handy−phone Systemの略である。また、上記のPDAは、Personal Digital Assistantの略である。
図24に示すように、このハードウェアは、主に、CPU902と、ROM904と、RAM906と、ホストバス908と、ブリッジ910と、を有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926と、を有する。但し、上記のCPUは、Central Processing Unitの略である。また、上記のROMは、Read Only Memoryの略である。そして、上記のRAMは、Random Access Memoryの略である。
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ(以下、リモコン)が用いられることもある。
出力部918としては、例えば、CRT、LCD、PDP、又はELD等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。但し、上記のCRTは、Cathode Ray Tubeの略である。また、上記のLCDは、Liquid Crystal Displayの略である。そして、上記のPDPは、Plasma DisplayPanelの略である。さらに、上記のELDは、Electro−Luminescence Displayの略である。
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のHDDは、Hard Disk Driveの略である。
ドライブ922は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928は、例えば、DVDメディア、Blu−rayメディア、HD DVDメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体928は、例えば、非接触型ICチップを搭載したICカード、又は電子機器等であってもよい。但し、上記のICは、Integrated Circuitの略である。
接続ポート924は、例えば、USBポート、IEEE1394ポート、SCSI、RS−232Cポート、又は光オーディオ端子等のような外部接続機器930を接続するためのポートである。外部接続機器930は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。但し、上記のUSBは、Universal Serial Busの略である。また、上記のSCSIは、Small Computer System Interfaceの略である。
通信部926は、ネットワーク932に接続するための通信デバイスであり、例えば、有線又は無線LAN、Bluetooth(登録商標)、又はWUSB用の通信カード、光通信用のルータ、ADSL用のルータ、又は各種通信用のモデム等である。また、通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内LAN、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のLANは、Local Area Networkの略である。また、上記のWUSBは、Wireless USBの略である。そして、上記のADSLは、Asymmetric Digital Subscriber Lineの略である。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
(備考)
上記のユーザは、第1アイテムの一例である。上記のアイテムは、第2アイテムの一例である。上記の潜在特徴ベクトルuiは、第1潜在ベクトルの一例である。上記の潜在特徴ベクトルvjは、第2潜在ベクトルの一例である。上記の特徴ベクトルxuiは、第1特徴ベクトルの一例である。上記の特徴ベクトルxvjは、第2特徴ベクトルの一例である。上記の回帰行列Duは、第1射影行列の一例である。上記の回帰行列Dvは、第2射影行列の一例である。上記の事後分布算出部103は、推定部の一例である。上記の評価値予測部105は、予測部の一例である。
10、20、30、40、50 推薦システム
11、21、51 評価値データベース
31、41 特徴量データベース
12 嗜好解析部
13、23、33、43、54 推薦部
22、32、42 特徴解析部
52 行列分解部
53 評価値予測部
100、130 評価値予測装置
101、131 評価値データベース
102、132 特徴量データベース
103、133 事後分布算出部
104、134 パラメータ保持部
105、135 評価値予測部
106 予測評価値データベース
107 推薦部
108 通信部
200 ネットワーク
300 ユーザ端末

Claims (12)

  1. 複数の第1アイテムがそれぞれ潜在的に持つ特徴を表す複数の第1潜在ベクトルと、
    複数の第2アイテムがそれぞれ潜在的に持つ特徴を表す複数の第2潜在ベクトルと、
    前記第1アイテムと前記第2アイテムとの各組み合わせに対応し、前記第1潜在ベクトルと前記第2潜在ベクトルとの内積で表現される評価値と、
    複数の前記第1アイテムがそれぞれ持つ既知の特徴を表す複数の第1特徴ベクトルと、
    複数の前記第2アイテムがそれぞれ持つ既知の特徴を表す複数の第2特徴ベクトルと、
    前記第1特徴ベクトルを前記第1潜在ベクトルの空間に射影する第1射影行列と、
    前記第2特徴ベクトルを前記第2潜在ベクトルの空間に射影する第2射影行列と、
    を定義し、
    前記第1射影行列による前記第1特徴ベクトルの射影値を期待値とする正規分布によって前記第1潜在ベクトルを表現し、前記第2射影行列による前記第2特徴ベクトルの射影値を期待値とする正規分布によって前記第2潜在ベクトルを表現し、
    前記第1特徴ベクトル、前記第2特徴ベクトル、及び既知の前記評価値を学習データとしてベイズ推定を実行し、前記第1潜在ベクトル、前記第2潜在ベクトル、前記第1射影行列、及び前記第2射影行列を含むパラメータ群の事後分布を算出する推定部と、
    前記パラメータ群の事後分布に基づいて未知の前記評価値の分布を算出する予測部と、
    を備える、
    評価予測装置。
  2. 前記予測部は、前記パラメータ群の事後分布に基づいて前記未知の評価値の期待値を算出する、
    請求項1に記載の評価予測装置。
  3. 前記予測部によって算出された前記未知の評価値の期待値が所定値よりも大きい場合に、当該未知の評価値に対応する第2アイテムを当該未知の評価値に対応する第1アイテムの推薦先に決定する推薦先決定部をさらに備える、
    請求項2に記載の評価予測装置。
  4. 前記第2アイテムはユーザを表し、
    前記推薦先決定部によって第1アイテムの推薦先が決定された場合に、当該第1アイテムの推薦先に対応するユーザに当該第1アイテムを推薦する推薦部をさらに備える、
    請求項3に記載の評価予測装置。
  5. 時刻tにおいて、N個の第1アイテムがそれぞれ潜在的に持つ特徴を表すN個の第1潜在ベクトルu(t)(i=1,…,N)と、
    時刻tにおいて、M個の第2アイテムがそれぞれ潜在的に持つ特徴を表すM個の第2潜在ベクトルv(t)(j=1,…,M)と、
    前記第1アイテムと前記第2アイテムとの各組み合わせに対応し、時刻tにおいて、前記第1潜在ベクトルu(t)と前記第2潜在ベクトルv(t)との内積で表現される評価値yij(t)と、
    時刻(t−1)における第1潜在ベクトルu(t−1)を、時刻tにおける前記第1潜在ベクトルu(t)の空間に射影する第1射影行列と、
    時刻(t−1)における第2潜在ベクトルv(t−1)を、時刻tにおける前記第2潜在ベクトルv(t)の空間に射影する第2射影行列と、
    を定義し、
    前記第1射影行列により時刻(t−1)における第1潜在ベクトルu(t−1)を射影した射影値を期待値とする正規分布によって時刻tにおける第1潜在ベクトルu(t)を表現し、前記第2射影行列により時刻(t−1)における第2潜在ベクトルv(t−1)を射影した射影値を期待値とする正規分布によって時刻tにおける第2潜在ベクトルv(t)を表現し、
    時刻(t−1)における第1潜在ベクトルu(t−1)、第2潜在ベクトルv(t−1)、及び評価値yij(t−1)を学習データとしてベイズ推定を実行し、時刻tにおける第1潜在ベクトルu(t)、第2潜在ベクトルv(t)、前記第1射影行列、及び前記第2射影行列を含むパラメータ群の事後分布を算出する推定部と、
    時刻tにおける前記パラメータ群の事後分布に基づいて時刻tにおける評価値yij(t)の期待値を算出する予測部と、
    を備える、
    評価予測装置。
  6. 前記予測部は、前記時刻tにおけるパラメータ群の事後分布に基づいて、時刻tにおける第1潜在ベクトルu(t)の期待値、第2潜在ベクトルv(t)の期待値、評価値yij(t)を算出し、
    前記推定部は、前記第1射影行列により時刻(t)における第1潜在ベクトルu(t)の期待値を射影した射影値を期待値とする正規分布によって時刻(t+1)における第1潜在ベクトルu(t+1)を表現し、前記第2射影行列により時刻tにおける第2潜在ベクトルv(t)の期待値を射影した射影値を期待値とする正規分布によって時刻(t+1)における第2潜在ベクトルv(t+1)を表現し、
    時刻tにおける第1潜在ベクトルu(t)、第2潜在ベクトルv(t)、及び評価値yij(t)を学習データとして変分ベイズ推定を実行し、時刻(t+1)における第1潜在ベクトルu(t+1)、第2潜在ベクトルv(t+1)、前記第1射影行列、及び前記第2射影行列を含むパラメータ群の事後分布を算出し、
    前記予測部は、時刻(t+1)における前記パラメータ群の事後分布に基づいて時刻(t+1)における評価値yij(t+1)の期待値を算出する、
    請求項5に記載の評価予測装置。
  7. 前記予測部によって算出された評価値yij(t+1)の期待値が所定値よりも大きい場合に、当該評価値yij(t+1)に対応する第2アイテムを当該評価値yij(t+1)に対応する第1アイテムの推薦先に決定する推薦先決定部をさらに備える、
    請求項6に記載の評価予測装置。
  8. 前記第2アイテムはユーザを表し、
    前記推薦先決定部によって第1アイテムの推薦先が決定された場合に、当該第1アイテムの推薦先に対応するユーザに当該第1アイテムを推薦する推薦部をさらに備える、
    請求項7に記載の評価予測装置。
  9. 複数の第1アイテムがそれぞれ潜在的に持つ特徴を表す複数の第1潜在ベクトルと、
    複数の第2アイテムがそれぞれ潜在的に持つ特徴を表す複数の第2潜在ベクトルと、
    前記第1アイテムと前記第2アイテムとの各組み合わせに対応し、前記第1潜在ベクトルと前記第2潜在ベクトルとの内積で表現される評価値と、
    複数の前記第1アイテムがそれぞれ持つ既知の特徴を表す複数の第1特徴ベクトルと、
    複数の前記第2アイテムがそれぞれ持つ既知の特徴を表す複数の第2特徴ベクトルと、
    前記第1特徴ベクトルを前記第1潜在ベクトルの空間に射影する第1射影行列と、
    前記第2特徴ベクトルを前記第2潜在ベクトルの空間に射影する第2射影行列と、
    を定義し、
    前記第1射影行列による前記第1特徴ベクトルの射影値を期待値とする正規分布によって前記第1潜在ベクトルを表現し、前記第2射影行列による前記第2特徴ベクトルの射影値を期待値とする正規分布によって前記第2潜在ベクトルを表現し、
    前記第1特徴ベクトル、前記第2特徴ベクトル、及び既知の前記評価値を学習データとしてベイズ推定を実行し、前記第1潜在ベクトル、前記第2潜在ベクトル、前記第1射影行列、及び前記第2射影行列を含むパラメータ群の事後分布を算出する推定ステップと、
    前記パラメータ群の事後分布に基づいて未知の前記評価値の分布を算出する予測ステップと、
    を含む、
    評価予測方法。
  10. 時刻tにおいて、N個の第1アイテムがそれぞれ潜在的に持つ特徴を表すN個の第1潜在ベクトルu(t)(i=1,…,N)と、
    時刻tにおいて、M個の第2アイテムがそれぞれ潜在的に持つ特徴を表すM個の第2潜在ベクトルv(t)(j=1,…,M)と、
    前記第1アイテムと前記第2アイテムとの各組み合わせに対応し、時刻tにおいて、前記第1潜在ベクトルu(t)と前記第2潜在ベクトルv(t)との内積で表現される評価値yij(t)と、
    時刻(t−1)における第1潜在ベクトルu(t−1)を、時刻tにおける前記第1潜在ベクトルu(t)の空間に射影する第1射影行列と、
    時刻(t−1)における第2潜在ベクトルv(t−1)を、時刻tにおける前記第2潜在ベクトルv(t)の空間に射影する第2射影行列と、
    を定義し、
    前記第1射影行列により時刻(t−1)における第1潜在ベクトルu(t−1)を射影した射影値を期待値とする正規分布によって時刻tにおける第1潜在ベクトルu(t)を表現し、前記第2射影行列により時刻(t−1)における第2潜在ベクトルv(t−1)を射影した射影値を期待値とする正規分布によって時刻tにおける第2潜在ベクトルv(t)を表現し、
    時刻(t−1)における第1潜在ベクトルu(t−1)、第2潜在ベクトルv(t−1)、及び評価値yij(t−1)を学習データとしてベイズ推定を実行し、時刻tにおける第1潜在ベクトルu(t)、第2潜在ベクトルv(t)、前記第1射影行列、及び前記第2射影行列を含むパラメータ群の事後分布を算出する推定ステップと、
    時刻tにおける前記パラメータ群の事後分布に基づいて時刻tにおける評価値yij(t)の期待値を算出する予測ステップと、
    を含む、
    評価予測方法。
  11. 複数の第1アイテムがそれぞれ潜在的に持つ特徴を表す複数の第1潜在ベクトルと、
    複数の第2アイテムがそれぞれ潜在的に持つ特徴を表す複数の第2潜在ベクトルと、
    前記第1アイテムと前記第2アイテムとの各組み合わせに対応し、前記第1潜在ベクトルと前記第2潜在ベクトルとの内積で表現される評価値と、
    複数の前記第1アイテムがそれぞれ持つ既知の特徴を表す複数の第1特徴ベクトルと、
    複数の前記第2アイテムがそれぞれ持つ既知の特徴を表す複数の第2特徴ベクトルと、
    前記第1特徴ベクトルを前記第1潜在ベクトルの空間に射影する第1射影行列と、
    前記第2特徴ベクトルを前記第2潜在ベクトルの空間に射影する第2射影行列と、
    を定義し、
    前記第1射影行列による前記第1特徴ベクトルの射影値を期待値とする正規分布によって前記第1潜在ベクトルを表現し、前記第2射影行列による前記第2特徴ベクトルの射影値を期待値とする正規分布によって前記第2潜在ベクトルを表現し、
    前記第1特徴ベクトル、前記第2特徴ベクトル、及び既知の前記評価値を学習データとしてベイズ推定を実行し、前記第1潜在ベクトル、前記第2潜在ベクトル、前記第1射影行列、及び前記第2射影行列を含むパラメータ群の事後分布を算出する推定機能と、
    前記パラメータ群の事後分布に基づいて未知の前記評価値の分布を算出する予測機能と、
    をコンピュータに実現させるためのプログラム。
  12. 時刻tにおいて、N個の第1アイテムがそれぞれ潜在的に持つ特徴を表すN個の第1潜在ベクトルu(t)(i=1,…,N)と、
    時刻tにおいて、M個の第2アイテムがそれぞれ潜在的に持つ特徴を表すM個の第2潜在ベクトルv(t)(j=1,…,M)と、
    前記第1アイテムと前記第2アイテムとの各組み合わせに対応し、時刻tにおいて、前記第1潜在ベクトルu(t)と前記第2潜在ベクトルv(t)との内積で表現される評価値yij(t)と、
    時刻(t−1)における第1潜在ベクトルu(t−1)を、時刻tにおける前記第1潜在ベクトルu(t)の空間に射影する第1射影行列と、
    時刻(t−1)における第2潜在ベクトルv(t−1)を、時刻tにおける前記第2潜在ベクトルv(t)の空間に射影する第2射影行列と、
    を定義し、
    前記第1射影行列により時刻(t−1)における第1潜在ベクトルu(t−1)を射影した射影値を期待値とする正規分布によって時刻tにおける第1潜在ベクトルu(t)を表現し、前記第2射影行列により時刻(t−1)における第2潜在ベクトルv(t−1)を射影した射影値を期待値とする正規分布によって時刻tにおける第2潜在ベクトルv(t)を表現し、
    時刻(t−1)における第1潜在ベクトルu(t−1)、第2潜在ベクトルv(t−1)、及び評価値yij(t−1)を学習データとしてベイズ推定を実行し、時刻tにおける第1潜在ベクトルu(t)、第2潜在ベクトルv(t)、前記第1射影行列、及び前記第2射影行列を含むパラメータ群の事後分布を算出する推定機能と、
    時刻tにおける前記パラメータ群の事後分布に基づいて時刻tにおける評価値yij(t)の期待値を算出する予測機能と、
    をコンピュータに実現させるためのプログラム。
JP2010124165A 2010-05-31 2010-05-31 評価予測装置、評価予測方法、及びプログラム Active JP5440394B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2010124165A JP5440394B2 (ja) 2010-05-31 2010-05-31 評価予測装置、評価予測方法、及びプログラム
US13/112,684 US8805757B2 (en) 2010-05-31 2011-05-20 Evaluation predicting device, evaluation predicting method, and program
CN2011101399015A CN102262648A (zh) 2010-05-31 2011-05-24 评价预测设备、评价预测方法和程序
US14/323,943 US9275116B2 (en) 2010-05-31 2014-07-03 Evaluation predicting device, evaluation predicting method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010124165A JP5440394B2 (ja) 2010-05-31 2010-05-31 評価予測装置、評価予測方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2011248829A JP2011248829A (ja) 2011-12-08
JP5440394B2 true JP5440394B2 (ja) 2014-03-12

Family

ID=45009278

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010124165A Active JP5440394B2 (ja) 2010-05-31 2010-05-31 評価予測装置、評価予測方法、及びプログラム

Country Status (3)

Country Link
US (2) US8805757B2 (ja)
JP (1) JP5440394B2 (ja)
CN (1) CN102262648A (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108040294B (zh) * 2012-02-21 2020-10-23 欧亚拉股份有限公司 用于推荐视频的方法、系统及计算机可读介质
JP5900154B2 (ja) * 2012-05-23 2016-04-06 富士通株式会社 商品推薦方法及びサーバ装置
US9177201B2 (en) * 2012-05-29 2015-11-03 Panasonic Intellectual Property Management Co., Ltd. Image evaluation device, image evaluation method, program, and integrated circuit
US10218751B2 (en) * 2012-08-07 2019-02-26 Paypal, Inc. Social sharing system
US9349132B2 (en) * 2013-03-13 2016-05-24 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a group command with a predictive query interface
WO2015188349A1 (en) * 2014-06-12 2015-12-17 Hewlett-Packard Development Company, L.P. Recommending of an item to a user
CN105303019A (zh) * 2014-07-14 2016-02-03 富士通株式会社 事件预测方法和事件预测设备
US20160328727A1 (en) * 2015-05-04 2016-11-10 ContextLogic Inc. Systems and techniques for rating items
US20170206582A1 (en) * 2016-01-15 2017-07-20 Target Brands, Inc. Generating a user interface for recommending products
US10832304B2 (en) 2016-01-15 2020-11-10 Target Brands, Inc. Resorting product suggestions for a user interface
CN105976220B (zh) * 2016-04-25 2017-05-17 合肥工业大学 基于项目使用次数的矩阵分解推荐方法
TWI590095B (zh) * 2016-05-19 2017-07-01 緯創資通股份有限公司 軟體功能驗證系統及其驗證方法
CN108108991A (zh) * 2016-11-25 2018-06-01 百度在线网络技术(北京)有限公司 广告价值处理方法和装置
CN107657500B (zh) * 2016-12-03 2022-04-29 平安证券股份有限公司 股票推荐方法及服务器
CN108229986B (zh) * 2016-12-14 2021-07-16 腾讯科技(深圳)有限公司 信息点击预测中的特征构建方法、信息投放方法和装置
CN108287857B (zh) * 2017-02-13 2021-02-26 腾讯科技(深圳)有限公司 表情图片推荐方法及装置
WO2018145577A1 (zh) * 2017-02-08 2018-08-16 腾讯科技(深圳)有限公司 表情推荐方法和装置
JP2018195198A (ja) * 2017-05-19 2018-12-06 ヤフー株式会社 提供装置、提供方法及び提供プログラム
JP2018195187A (ja) * 2017-05-19 2018-12-06 ヤフー株式会社 情報提供装置、情報提供方法および情報提供装置プログラム
US11080776B2 (en) * 2017-08-28 2021-08-03 The Trustees Of The University Of Pennsylvania Methods, systems, and computer readable media for predicting ratings using graph filters
JP6965713B2 (ja) * 2017-12-12 2021-11-10 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
JP6435426B1 (ja) * 2018-01-12 2018-12-05 ソネット・メディア・ネットワークス株式会社 情報分析装置、情報分析方法および情報分析プログラム
US11042895B2 (en) 2018-01-30 2021-06-22 Walmart Apollo, Llc Automatic resolution of the explore-exploit decision in omnichannel settings
US11030634B2 (en) 2018-01-30 2021-06-08 Walmart Apollo, Llc Personalized mechanisms to resolve explore-exploit dilemma with dynamically shared learnings
US11055742B2 (en) 2018-01-30 2021-07-06 Walmart Apollo, Llc Automated mechanisms to resolve explore-exploit dilemma with adaptive revival opportunities
CN109190040B (zh) * 2018-08-31 2021-05-28 合肥工业大学 基于协同演化的个性化推荐方法及装置
CN109726331B (zh) * 2018-12-29 2021-05-18 北京世纪好未来教育科技有限公司 对象偏好预测的方法、装置和计算机可读介质
CN110263973B (zh) * 2019-05-15 2024-02-02 创新先进技术有限公司 预测用户行为的方法及装置
CN110907170B (zh) * 2019-11-30 2021-03-16 华能如东八仙角海上风力发电有限责任公司 一种风电机组齿轮箱轴承温度状态监测与故障诊断方法
US20220027434A1 (en) * 2020-07-23 2022-01-27 International Business Machines Corporation Providing recommendations via matrix factorization
CN112686457B (zh) * 2021-01-04 2022-06-03 腾讯科技(深圳)有限公司 路线到达时间预估方法及装置、电子设备、存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6477488B1 (en) * 2000-03-10 2002-11-05 Apple Computer, Inc. Method for dynamic context scope selection in hybrid n-gram+LSA language modeling
JP3788254B2 (ja) * 2001-03-13 2006-06-21 日本電気株式会社 情報フィルタリングシステムとそのフィルタリング方法、及び情報フィルタリングプログラム
JP2003167907A (ja) * 2001-12-03 2003-06-13 Dainippon Printing Co Ltd 情報提供方法およびシステム
CN101014954B (zh) * 2004-09-07 2010-05-05 因特曼股份有限公司 信息搜索提供装置及信息搜索提供系统
CN101116073A (zh) * 2005-12-05 2008-01-30 索尼株式会社 信息处理设备、信息处理方法及程序
JP2007317068A (ja) * 2006-05-29 2007-12-06 Osaka Prefecture Univ リコメンド装置およびリコメンドシステム
CN101141456A (zh) * 2007-10-09 2008-03-12 南京财经大学 基于垂直搜索的网络数据挖掘方法

Also Published As

Publication number Publication date
US20140358755A1 (en) 2014-12-04
US20110302126A1 (en) 2011-12-08
US9275116B2 (en) 2016-03-01
US8805757B2 (en) 2014-08-12
CN102262648A (zh) 2011-11-30
JP2011248829A (ja) 2011-12-08

Similar Documents

Publication Publication Date Title
JP5440394B2 (ja) 評価予測装置、評価予測方法、及びプログラム
JP2012058972A (ja) 評価予測装置、評価予測方法、及びプログラム
CN110297848B (zh) 基于联邦学习的推荐模型训练方法、终端及存储介质
JP7183385B2 (ja) ノード分類方法、モデル訓練方法並びに、その装置、機器及びコンピュータプログラム
JP5143879B2 (ja) ランキング指向の協調フィルタリング推薦方法および装置
JP5789204B2 (ja) マルチリレーショナル環境において項目を推薦するためのシステム及び方法
US20230394368A1 (en) Collecting observations for machine learning
CN111242310B (zh) 特征有效性评估方法、装置、电子设备及存储介质
US20190026630A1 (en) Information processing apparatus and information processing method
US20160019671A1 (en) Identifying multimedia objects based on multimedia fingerprint
CN112115257A (zh) 用于生成信息评估模型的方法和装置
US11593860B2 (en) Method, medium, and system for utilizing item-level importance sampling models for digital content selection policies
US9081822B2 (en) Discriminative distance weighting for content-based retrieval of digital pathology images
CN111783810B (zh) 用于确定用户的属性信息的方法和装置
CN111708876A (zh) 生成信息的方法和装置
US20120203722A1 (en) Apparatus and method for processing information, recording medium and computer program
JP2011203991A (ja) 情報処理装置、情報処理方法、およびプログラム
CN110991476A (zh) 决策分类器的训练、音视频的推荐方法、装置及存储介质
JP7226320B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN113222073B (zh) 训练广告推荐模型的方法及装置
CN112541010B (zh) 一种基于逻辑回归的用户性别预测方法
CN115422918A (zh) 一种叙事对象的叙事能力评估方法及装置
JP2015114987A (ja) 処理装置、処理方法、およびプログラム
Chen et al. Towards efficient multiobjective hyperparameter optimization: A multiobjective multi-fidelity Bayesian optimization and Hyperband algorithm
CN113792952A (zh) 用于生成模型的方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130424

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131113

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: 20131119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131202

R151 Written notification of patent or utility model registration

Ref document number: 5440394

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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