(57)【特許請求の範囲】
【請求項１】
サービスの利用者に対して、当該サービスにおけるアイテムの推薦機能に加えて、異なる他サービスのアイテムを高精度に推薦可能とする情報推薦装置であって、
複数サービスのそれぞれのサービス利用履歴情報やアイテムとアイテムのメタデータについての情報を格納した履歴データベースと、
前記履歴データベースから取得したそれぞれのサービスが扱うアイテムにそれぞれに付与されているメタデータを相互に関連付けるメタデータ関連付け手段と、
前記サービス利用履歴と前記メタデータの関連付けを表す情報を用いて隣接行列を生成し、隣接行列データベースに格納する隣接行列作成手段と、
前記隣接行列データベースに格納された前記隣接行列を用いて行列中の各要素間の関連度を計算する予測値計算手段と、
前記関連度の高いものをユーザに提示する推薦アイテム提示手段と、
を有することを特徴とする情報推薦装置。
【請求項２】
前記メタデータ関連付け手段は、
前記履歴データベースから関連度合いを計算する対象のメタデータの組について、当該メタデータそれぞれについて関連付けられているアイテムの当該アイテムを含むテキストデータにおける共起頻度情報に基づく統計量から計算する手段を含む
請求項１記載の情報推薦装置。
【請求項３】
サービスの利用者に対して、当該サービスにおけるアイテムの推薦機能に加えて、異なる他サービスのアイテムを高精度に推薦可能とする情報推薦方法であって、
複数サービスのそれぞれのサービス利用履歴情報やアイテムとアイテムのメタデータについての情報を格納した履歴データベースと、
隣接行列を格納する隣接行列データベースを有する装置において、
メタデータ関連付け手段が、
前記履歴データベースから取得したそれぞれのサービスが扱うアイテムにそれぞれに付与されているメタデータを相互に関連付けるメタデータ関連付けステップと、
隣接行列作成手段が、前記サービス利用履歴と前記メタデータの関連付けを表す情報を用いて隣接行列を生成し、前記隣接行列データベースに格納する隣接行列作成ステップと、
予測値計算手段が、前記隣接行列データベースに格納された前記隣接行列を用いて行列中の各要素間の関連度を計算する予測値計算ステップと、
推薦アイテム提示手段が、前記関連度の高いものをユーザに提示する推薦アイテム提示ステップと、
を行うことを特徴とする情報推薦方法。
【請求項４】
前記メタデータ関連付けステップにおいて、
前記履歴データベースから関連度合いを計算する対象のメタデータの組について、当該メタデータそれぞれについて関連付けられているアイテムの当該アイテムを含むテキストデータにおける共起頻度情報に基づく統計量から計算する
請求項３記載の情報推薦方法。
【請求項５】
請求項１または２に記載の情報推薦装置を構成する各手段としてコンピュータを機能させるための情報推薦プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報推薦装置及び方法及びプログラムに係り、特に、情報推薦において複数のサービスコンテンツアイテム（以下、「アイテム」と記す）を横断的に推薦可能にするための情報推薦装置及び方法及びプログラムに関する。
【背景技術】
【０００２】
従来、推薦システムとしてアイテムに付与されているメタデータを用いて、単一サービス内における高精度化を図る技術がある。当該技術は、アイテムのメタデータを用いることにより、推薦システムは、特にユーザのアイテム利用履歴が少ない状況においてより高精度にアイテムの推薦を行うことができる（例えば、非特許文献１参照）。
【０００３】
また、他サービスが扱うアイテムを自サービスのユーザに推薦するため、他サービスと自サービスとに共通するユーザの利用履歴を用いる方法がある（例えば、非特許文献２参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ziegler, C. N., Lausen, G. and Thieme, L. S.: Taxonomy-driven computation of product recommendations, in Proc. CIKM'04, pp. 406-415 (2004).
【非特許文献２】Yanagihara, T., Hoashi, K., Ono, C., Matsumoto, K. and Takishima, Y.: Proposal and Evaluation of Cross Media Recommendation, DBSJ Journal, Vol. 8, No. 2, pp. 13-18 (2009).
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記非特許文献１の技術は、複数のサービスにおけるアイテムを推薦の対象として考える場合、アイテムのメタデータは共通でないことが多く、他サービスが扱うアイテムを自サービスのユーザに推薦する場合には、利用しにくいという問題がある。
【０００６】
また、上記非特許文献２の技術は、複数のサービス間に共通するユーザが存在しない場合や、サービス間でのユーザＩＤマッチングがとれない場合には、他サービスのアイテムの推薦は全く行うことができないという問題がある。
【０００７】
本発明は、上記の点に鑑みなされたもので、共通する情報（ユーザの履歴等）がない他サービスであっても推薦することが可能な情報推薦装置及び方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明は、サービスの利用者に対して、当該サービスにおけるアイテムの推薦機能に加えて、異なる他サービスのアイテムを高精度に推薦可能とする情報推薦装置であって、
複数サービスのそれぞれのサービス利用履歴情報やアイテムとアイテムのメタデータについての情報を格納した履歴データベースと、
前記履歴データベースから取得したそれぞれのサービスが扱うアイテムにそれぞれに付与されているメタデータを相互に関連付けるメタデータ関連付け手段と、
前記サービス利用履歴と前記メタデータの関連付けを表す情報を用いて隣接行列を生成し、隣接行列データベースに格納する隣接行列作成手段と、
前記隣接行列データベースに格納された前記隣接行列を用いて行列中の各要素間の関連度を計算する予測値計算手段と、
前記関連度の高いものをユーザに提示する推薦アイテム提示手段と、を有する。
【０００９】
また、前記メタデータ関連付け手段は、
前記履歴データベースから関連度合いを計算する対象のメタデータの組について、当該メタデータそれぞれについて関連付けられているアイテムの当該アイテムを含むテキストデータにおける共起頻度情報に基づく統計量から計算する手段を含む。
【発明の効果】
【００１０】
上記のように本発明によれば、単一もしくは複数のサービスにおけるユーザの利用履歴情報を用いて，他のサービスにおいて扱われているアイテムについての推薦を、従来の手法と比べて高い精度で実現できる。
【００１１】
また本発明によれば、単一もしくは複数のサービスにおけるサービスのユーザの利用履歴情報を用いて、他のサービスにおいて扱われているアイテムの推薦を、これらのサービス間に共通するユーザの利用履歴情報や共通するメタデータなど、共通する情報がない場合にも、推薦するアイテムの提示が実現できるようになる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施の形態における情報推薦装置の構成図である。
【図２】本発明の一実施の形態における情報推薦装置用の隣接行列の例である。
【図３】本発明の一実施の形態における情報推薦装置の処理のフローチャートである。
【図４】従来の情報推薦装置の処理のフローチャートである。
【発明を実施するための形態】
【００１３】
以下図面と共に、本発明の実施の形態を説明する。
【００１４】
図１は、本発明の一実施の形態における情報推薦装置の構成を示す。
【００１５】
同図に示す情報推薦装置は、ユーザＩＤ取得部１０１、サービスＡ用のアイテム履歴ＤＢ（データベース）１１０、サービスＢ用のアイテム履歴ＤＢ１２０、メタデータ関連付け部１３０、推薦装置用隣接行列作成部１４０、推薦装置用隣接行列ＤＢ１５０、予測値計算部１６０、提示部１７０から構成される。
【００１６】
サービスＡにおけるアイテム履歴ＤＢ１１０と、サービスＢにおけるアイテム履歴ＤＢ１２０は、それぞれのサービスにおけるユーザＩＤ、当該ユーザの利用したアイテム（サービス利用履歴）、当該アイテムに対する評価値、アイテムに関するメタデータを備える。
【００１７】
同図において、特に、メタデータ関連付け部１３０を有する点が本発明の特徴である。メタデータ関連付け部１３０から出力されるコンテンツの組み合わせ及びメタデータの組み合わせを用いて、推薦装置用隣接行列作成部１４０が図２に示すような推薦装置用隣接行列を構築し、それらを管理するデータベースである推薦装置用隣接行列ＤＢ１５０に格納する。
【００１８】
図３は、本発明の一実施の形態における推薦システムの処理のフローチャートである。比較のため、従来の推薦システムのフローを図４に示す。
【００１９】
図２に示す本実施形態と、図４に示す従来例との構成の相違点は、図４のＳ２２０の処理によって取得されるアイテムのメタデータについて、図３の破線で囲まれた関連メタデータ隣接行列生成処理Ｓ３３０が加わっている点にある。この処理によって、従来の推薦システムが構築して用いる隣接行列を拡張する形で、図２に示す本発明における推薦装置用隣接行列が構築可能となる。
【００２０】
図３を用いて、ユーザにアイテムの履歴をもとにアイテムが推薦される処理について簡単に説明する。
【００２１】
ステップ３１０）  まず、推薦対象ユーザID取得処理として、ユーザＩＤ取得部１０１は、推薦を受けるユーザのIDを取得し、メタデータ関連付け部１３０及び推薦装置用隣接行列作成部１４０に出力する。この処理は、例えば、ユーザが利用するサービスやシステムにログイン処理と同時に行う。
【００２２】
ステップ３２０）  次に、サービス利用履歴情報取得処理として、メタデータ関連付け部１３０は、推薦を受けるユーザのＩＤをキーとしてサービスＡのアイテム履歴ＤＢ１１０のユーザのアイテム利用履歴を参照し、コンテンツ名とメタデータを取得する。また、推薦装置用隣接行列作成部１４０は、推薦を受けるユーザのＩＤをキーとしてサービスＢのアイテム履歴ＤＢ１２０からユーザＩＤ，コンテンツ名、評価値、メタデータを取得する。
【００２３】
ステップ３３０）  関連メタデータ隣接行列生成処理として、メタデータ関連付け部１３０は、サービスＡのアイテム履歴ＤＢ１１０から取得したユーザのアイテム利用履歴中のアイテムのメタデータと、サービスＢのアイテム履歴ＤＢ１２０中のアイテムメタデータとの関連付け処理を行い、推薦装置用隣接行列作成部１４０に出力する。
【００２４】
ステップ３４０）  推薦装置用隣接行列作成部１４０は、ステップ３２０とステップ３３０で得られたユーザ，アイテム，メタデータについて関連付けられているものに関連付けの度合いを示す数値を代入し、各ペアについての隣接行列を作成し、推薦装置用隣接行列ＤＢ１５０に格納する。
【００２５】
ステップ３５０）  予測値計算処理として、予測値計算部１６０は、推薦装置用隣接行列ＤＢ１５０に格納されている隣接行列を用いて、行列中の各要素間の関連度を計算する。提示部１７０は、推薦を受けるユーザに対して、ユーザの履歴中のアイテムと関連の高いアイテムを提示する。隣接行列における項目間の類似度計算には、各項目（ユーザ，アイテム，メタデータ）をノードとするネットワークを、ネットワークのマイニング手法であるRandom Walk with Restart (RWR)を用いて計算することができる。
【００２６】
RWRでの計算は、p(c) を計算のステップtにおけるアイテムの関連度のベクトル、αを起点ノードに戻る確率、Aを推薦システムの隣接行列、ｑを推薦を受けるユーザを表す起点ノードのみが1であるベクトルとすると、式（１）のように表される。
【００２７】
ｐ(c+1) = αAp(c)+(1−α）q                      式（１）
ステップ３６０）  推薦アイテム提示処理として、提示部１７０は、関連度を表すベクトルp(c)から関連度の高いものを起点ノードに対応するユーザに提示し、アイテムの推薦が完了する。
【００２８】
次に、上記の隣接行列A=(αi,j)について説明する。
【００２９】
まず、ユーザ，アイテム、アイテムのメタデータをノードとし、それぞれの関連を示すエッジから構成される一つの重み付きグラフGで表す。ノードの集合をV、エッジの集合をＥとすると、G={V,E}となる。
【００３０】
また、ユーザの集合をU，アイテムの集合をＩ，アイテムのメタデータの集合をＭとし、それぞれについてサービスAとサービスBのサービスを区別してV={UA,UB,IA,IB,MA,MB} と表すと、それぞれ、
サービスAのユーザ集合を表すベクトルを
【００３１】
【数１】
0005467062.tif 000002
サービスBのユーザ集合を表すベクトルを
【００３２】
【数２】
0005467062.tif 000003
サービスAのアイテム集合を表すベクトルを
【００３３】
【数３】
0005467062.tif 000004
サービスBのユーザ集合を表すベクトルを
【００３４】
【数４】
0005467062.tif 000005
サービスAのメタデータ集合を表すベクトルを
【００３５】
【数５】
0005467062.tif 000006
サービスBのメタデータ集合を表すベクトルを
【００３６】
【数６】
0005467062.tif 000007
と定義される。
【００３７】
図２のUAIATで表される行列は、ユーザUa,iのアイテムIa,jへの評価値もしくは履歴の有無を0または1で表した値ri,j を要素として持つ。.また、IAMATで表される行列は、アイテムIa,iがメタデータMa,jを持つかどうかを示す行列であり、メタデータを持てばri,j値は１となりそれ以外は0となる。IBMBTについても同様に定義される。IAMBT は、アイテムの関連付けを表す行列であり、要素となる関連度si,jはアイテム間関連度の計算手順によって定められる関数g(Ia,i，Ib,j)によってが定義され、関数gが引数について対称な場合はg(Ia,i，Ib,j)=g(Ib,j，Ia,i)である。IBIAT についても同様に定義される。MAMBT は、メタデータの関連度mi,jを要素としてもつ行列であり、後述する式（３）のm(Ma,i，Mb,j)によって定義される。それぞれの関連度の計算手順は次の通りである。
【００３８】
次に、上記のステップ３３０の具体的な計算処理とステップ３６０推薦アイテムの提示処理までの処理手順を示す。
【００３９】
（１）まず、メタデータ関連付け部１３０は、アイテム履歴ＤＢ１１０(サービスA)から、サービスAのアイテム集合ＩA を収集する。同様にして、アイテム履歴ＤＢ１２０(サービスB)から、サービスBのアイテム集合ＩBを収集する。
【００４０】
（２）それらの各ペアについて、アイテムＩa,iとIb,jの関連度si,jを関数g(Ia,i，Ib,j)を用いて計算する。g(Ia,i，Ib,j)は様々な手法を利用可能であるが、例えば、ブログなどの大規模なテキストデータ中の出現頻度を用いて求められるJaccard係数が用いることができる。Jaccard係数は、サービスAのあるアイテムＩa,iを含む文書集合をベクトルda,iとし、サービスBのアイテムIb,jを含む文書集合のベクトルをdb,jと置くとき、以下の式（２）のように表される。
【００４１】
【数７】
0005467062.tif 000008
（３）メタデータ間の関連度ｍi,jを、以下の関数m(Ma,i，Mb,j)を用い計算する。
【００４２】
メタデータMa,iとMb,jの関連度mi,jは、Ma,iを持つアイテム集合のベクトル
【００４３】
【数８】
0005467062.tif 000009
を持つアイテム集合のベクトル
【００４４】
【数９】
0005467062.tif 000010
とすると、以下の式３で表される。
【００４５】
【数１０】
0005467062.tif 000011
ただし、iとｊの組合せ<i,j>はアイテム集合における積集合の添え字の組合せであり、
【００４６】
【数１１】
0005467062.tif 000012
である。
【００４７】
（４）推薦装置用隣接行列作成部１４０は、図２に示す隣接行列Aを以下の式に従い作成する（ステップ３４０）。ａi,jは、隣接行列Aの要素を示す。ri,jはコンテンツ履歴ＤＢ１１０上での関連の有無を表す値、ｓi,jは、式（２）を用いて計算されるアイテム間の類似度、ｍi,jはメタデータの式（３）を用いて計算されるメタデータ間の関連度であり、 
【００４８】
【数１２】
0005467062.tif 000013
として与えられ、隣接行列Aが定義される。ai,jは、グラフを用いたアプローチで用いられる正規化処理として、必要に応じて添え字jの表すノードの入次数によって除して用いてもよい。上記のように求められた行列は推薦装置用隣接行列ＤＢ１５０に格納される。
【００４９】
（５）予測値計算部１６０は、RWRの計算を隣接行列A上でt回実施する。tは100回とする(ステップ３５０)。なお、実施回数は100回に限定されることなく、十分に大きな値であればよい。
【００５０】
（６）提示部１７０は、ｔ回実施後のアイテムの関連度のベクトルｐ(c)を類似度の順に降順に並び替える。そして、ドメインAのアイテムしか持っていないユーザを対象に、ドメインBのアイテムのみをベクトルｐ(c)から降順に抜き出し，それを推薦するアイテムのランキングとして、そのユーザに提示して終了する（ステップ３６０）。
【００５１】
なお、上記の実施の形態では、アイテム履歴DB１１０、１２０を情報推薦装置に含む構成として説明したが、この例に限定されることなく、情報推薦装置の外部に接続されていてもよい。
【００５２】
また、上記の図１に示す情報推薦装置の構成要素の各動作をプログラムとして構築し、情報推薦装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【００５３】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【符号の説明】
【００５４】
１０１  ユーザＩＤ取得部
１１０  アイテム履歴ＤＢ（サービスＡ）
１２０  アイテム履歴ＤＢ（サービスＢ）
１３０  メタデータ関連付け部
１４０  推薦装置用隣接行列作成部
１５０  推薦装置用隣接行列ＤＢ
１６０  予測値計算部
１７０  提示部
【図１】
0005467062.tif 000014
【図２】
0005467062.tif 000015
【図３】
0005467062.tif 000016
【図４】
0005467062.tif 000017