(57)【要約】【課題】  類似したアイテムばかりを推薦することなく、ユーザのコンテンツ提供サービス利用を促進する多様なアイテムの推薦を実現する。【解決手段】  本発明は、ユーザがアイテムを利用した際に、該ユーザの情報とアイテムの情報を組み合わせてとして取得し、サービス利用ログ記憶手段に格納し、サービス利用ログ記憶手段からログを取得し、該ログに出現するアイテムとユーザをそれぞれのノードとし、該ログに記録されたアイテムとログの関係をエッジとみなすグラフ構造を生成し、構築されたグラフ構造に基づいて、アイテムの重要性を評価し、グラフ構造をグラフの繋がりに基づいていくつかの部分グラフに分割し、重要性と、部分グラフの情報に基づいて、アイテムの優先度を評価し、推薦するアイテムを選択し、選択されたアイテムの中から該ユーザからの要求に応じてアイテムを取得して提示する。【選択図】  図１
2014067180.tif 000002
【特許請求の範囲】
【請求項１】
ユーザに対して電子的もしくは物理的なアイテムを提供するコンテンツ提供サービスにおける、ユーザが利用するであろうアイテムを推薦する情報推薦装置であって、
ユーザがアイテムを利用した際に、該ユーザの情報とアイテムの情報を組み合わせてとして取得し、サービス利用ログ記憶手段に格納するログ取得手段と、
前記サービス利用ログ記憶手段からログを取得し、該ログに出現するアイテムとユーザをそれぞれのノードとし、該ログに記録されたアイテムとログの関係をエッジとみなすグラフ構造を生成するグラフ構築手段と、
前記グラフ構築手段で構築された前記グラフ構造に基づいて、アイテムの重要度を算出する重要性評価手段と、
前記グラフ構築手段で構築された前記グラフ構造を、グラフの繋がりに基づいていくつかの部分グラフに分割するグラフ分割手段と、
前記重要性評価手段で得られた前記重要度と、前記グラフ分割手段で得られる前記部分グラフの情報に基づいて、アイテムの優先度を評価し、推薦するアイテムを選択し、推薦アイテム記憶手段に格納する推薦対象特定手段と、
特定のユーザに対して、前記推薦アイテム記憶手段のアイテムの中から該ユーザからの要求に応じてアイテムを取得して提示する推薦アイテム提示手段と、
を有することを特徴とする情報推薦装置。
【請求項２】
前記推薦対象特定手段は、
同一部分グラフに所属するアイテムが存在するか否かにより前記優先度を調整する手段を含む
請求項１記載の情報推薦装置。
【請求項３】
前記推薦対象特定手段は、
前記ユーザを示すノードと前記部分グラフまでの最短経路の距離に応じて前記優先度を調整する手段を含む
請求項１記載の情報推薦装置。
【請求項４】
ユーザに対して電子的もしくは物理的なアイテムを提供するコンテンツ提供サービスにおける、ユーザが利用するであろうアイテムを推薦する情報推薦方法であって、
サービス利用ログ記憶手段、ログ取得手段、グラフ構築手段、重要性評価手段、グラフ分割手段、推薦アイテム記憶手段、推薦対象特定手段、推薦アイテム提示手段を有する装置において、
前記ログ取得手段が、ユーザがアイテムを利用した際に、該ユーザの情報とアイテムの情報を組み合わせてとして取得し、前記サービス利用ログ記憶手段に格納するログ取得ステップと、
前記グラフ構築手段が、前記サービス利用ログ記憶手段からログを取得し、該ログに出現するアイテムとユーザをそれぞれのノードとし、該ログに記録されたアイテムとログの関係をエッジとみなすグラフ構造を生成するグラフ構築ステップと、
前記重要性評価手段が、前記グラフ構築ステップで構築された前記グラフ構造に基づいて、アイテムの重要度を算出する重要性評価ステップと、
前記グラフ分割手段が、前記グラフ構築ステップで構築された前記グラフ構造を、グラフの繋がりに基づいていくつかの部分グラフに分割するグラフ分割ステップと、
前記推薦対象特定手段が、前記重要性評価ステップで得られた前記重要度と、前記グラフ分割ステップで得られる前記部分グラフの情報に基づいて、アイテムの優先度を評価し、推薦するアイテムを選択し、前記推薦アイテム記憶手段に格納する推薦対象特定ステップと、
前記推薦アイテム提示手段が、特定のユーザに対して、前記推薦アイテム記憶手段のアイテムの中から該ユーザからの要求に応じてアイテムを取得して提示する推薦アイテム提示ステップと、
を行うことを特徴とする情報推薦方法。
【請求項５】
前記推薦対象特定ステップにおいて、
同一部分グラフに所属するアイテムが存在するか否かにより前記優先度を調整する
請求項４記載の情報推薦方法。
【請求項６】
前記推薦対象特定ステップにおいて、
前記ユーザを示すノードと前記部分グラフまでの最短経路の距離に応じて前記優先度を調整する
請求項４記載の情報推薦方法。
【請求項７】
コンピュータを、
請求項１乃至３のいずれか１項に記載の情報推薦装置の各手段として機能させるための情報推薦プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報推薦装置及び方法及びプログラムに係り、特に、ユーザに対して電子的もしくは物理的なアイテムを提供するコンテンツ提供サービスにおいて、過去のユーザのアイテムの利用状況を元に、ユーザが利用するであろうアイテムを推薦するための情報推薦装置及び方法及びプログラムに関する。
【背景技術】
【０００２】
従来、ユーザの過去のアイテム利用履歴を利用して、アイテムを推薦する技術として、協調フィルタリングを用いる方法がある。この方法では、ユーザとアイテムの関係をもとに推薦を行う。例えば、あるユーザＡに対してアイテムを推薦することを考えた場合、過去のアイテム利用履歴がユーザＡと類似しているユーザの集合を特定し、これらのユーザの集合が多く利用するアイテムのうち、ユーザＡがこれまでに利用していないアイテムを推薦する（例えば、非特許文献１参照）。
【０００３】
また、ユーザの過去のアイテム利用履歴を利用した別の方法として、利用履歴に含まれるユーザとアイテムの関係をグラフ構造とみなし、そのグラフ構造の中での関係を元に推薦を行う方法がある。例えば、Konstasらは、利用履歴に含まれるユーザとアイテムの関係をグラフ構造で表し、そのグラフ構造中でのrandom walk with restartを考えることで、推薦を行う方式を提案している。random walk with restartを考えることで、アイテムを推薦する対象のユーザと関連性が高いアイテムや一般的に人気の高いアイテムをあわせて推薦することが可能となる。また、グラフ構造上のノードとして、アイテム、ユーザに加えて、アイテム同士やユーザ同士の関連性を示すメタデータを考慮することで、履歴が少ない場合でも効果的な推薦が可能となる。（例えば、非特許文献２参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Paul Resnic, et. a.: GroupLens: an open architecture for collaborative filtering of netnews, Proc. CSCW '94.
【非特許文献２】Konstas, I., Stathopoulos, V. and Jose, J. M.: On social networks and collaborative recommendation Proc. SIGIR'09.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記で示した１番目の方法では、推薦対象と類似したアイテム利用傾向のあるユーザ群を探し、そのユーザ群が多く利用するアイテムを提示するが、そもそも推薦対象のユーザがアイテムを十分多く利用していない場合に適切な推薦アイテムを提示することが困難となる。
【０００６】
一方、上記で示した２番目の方法では、random walkアルゴリズムの性質上、グラフ上で他のノードとの関連性の高い人気アイテムを重要なアイテムとして評価することができるため、個人化の度合いと人気度の度合の両方の要素を考慮した推薦が可能となる。このため、推薦対象のユーザがアイテムを十分多く利用していない場合にも人気度の高いアイテムを推薦することが可能になり、より広い状況で利用することが可能となる。
【０００７】
しかしながら、random walkアルゴリズムを元にした推薦アルゴリズムでは、グラフ上で類似した位置に存在するノード同士は同様の重要度で割り当てられる傾向がある。また、メタデータを導入することで類似したアイテムを示すノードがグラフ構造中で類似した位置に配置される可能性が高まる。これらのことが原因となり、推薦するアイテムのリストにおいて類似したアイテムが並び、推薦リストの多様性が損なわれ効果的な推薦ができないという問題がある。
【０００８】
本発明は、上記の点に鑑みなされたもので、ユーザ、アイテムの関係をグラフ構造で表現して推薦を行う手法において、類似したアイテムばかりを推薦することなく、ユーザのコンテンツ提供サービス利用を促進する多様なアイテムの推薦を実現することが可能な情報推薦装置及び方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するため、本発明（請求項１）は、ユーザに対して電子的もしくは物理的なアイテムを提供するコンテンツ提供サービスにおける、ユーザが利用するであろうアイテムを推薦する情報推薦装置であって、
ユーザに対して電子的もしくは物理的なアイテムを提供するコンテンツ提供サービスにおける、ユーザが利用するであろうアイテムを推薦する情報推薦装置であって、
ユーザがアイテムを利用した際に、該ユーザの情報とアイテムの情報を組み合わせてとして取得し、サービス利用ログ記憶手段に格納するログ取得手段と、
前記サービス利用ログ記憶手段からログを取得し、該ログに出現するアイテムとユーザをそれぞれのノードとし、該ログに記録されたアイテムとログの関係をエッジとみなすグラフ構造を生成するグラフ構築手段と、
前記グラフ構築手段で構築された前記グラフ構造に基づいて、アイテムの重要度を算出する重要性評価手段と、
前記グラフ構築手段で構築された前記グラフ構造を、グラフの繋がりに基づいていくつかの部分グラフに分割するグラフ分割手段と、
前記重要性評価手段で得られた重要度と、前記グラフ分割手段で得られる前記部分グラフの情報に基づいて、アイテムの優先度を評価し、推薦するアイテムを選択し、推薦アイテム記憶手段に格納する推薦対象特定手段と、
特定のユーザに対して、前記推薦アイテム記憶手段のアイテムの中から該ユーザからの要求に応じてアイテムを取得して提示する推薦アイテム提示手段と、を有する。
【００１０】
また、本発明（請求項２）は、前記推薦対象特定手段において、
同一部分グラフに所属するアイテムが存在するか否かにより前記優先度を調整する手段を含む。
【００１１】
また、本発明（請求項３）は、前記推薦対象特定手段において、
前記ユーザを示すノードと前記部分グラフまでの最短経路の距離に応じて前記優先度を調整する手段を含む。
【発明の効果】
【００１２】
上記のように本発明によれば、過去のユーザのアイテム利用履歴に基づきユーザに対してアイテムを推薦する際に、ユーザとアイテムの関係を元に、推薦対象となるアイテムを複数のグループに分割して、アイテムのグループへの所属状況及びグループとユーザとの関連性を利用して、多様な推薦アイテムをユーザの興味に基づき優先度付けし、提示することにより、アイテムの推薦において、類似したアイテムの重複を避けつつ、ユーザの興味にあったアイテムの推薦を実現し、ユーザのアイテム利用を支援することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施の形態における情報推薦装置の構成図である。
【図２】本発明の一実施の形態におけるサービス利用ログのデータ例である。
【図３】本発明の一実施の形態におけるアイテムデータベースの例である。
【図４】本発明の一実施の形態におけるグラフ構造の例である。
【図５】本発明の一実施の形態におけるグラフ構造分割の例である。
【図６】本発明の一実施の形態における推薦アイテムデータベースの例である。
【図７】本発明の一実施の形態におけるオンライン処理のフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面と共に本発明の実施の形態を説明する。
【００１５】
図１は、本発明の一実施の形態における情報推薦装置の構成を示す。
【００１６】
同図に示す情報推薦装置は、コンテンツ提供アプリケーション１、アイテムデータベース２、ブラウザ３、ログ取得部１０１、グラフ構築部１０２、重要性評価部１０３、グラフ分割部１０４、推薦対象特定部１０５、推薦アイテム提示部１０６、サービス利用ログデータベース２０１、推薦アイテムデータベース２０２を有する。
【００１７】
コンテンツ提供アプリケーション１は、ブラウザ３を介してユーザからユーザＩＤなどのユーザを識別する情報を受け付け、内部に持つコンテンツ提供ロジックに基づきアイテムデータベース２にアクセスし、得られたアイテムの情報をブラウザ３を介してユーザに提示する。また、ユーザＩＤの情報を元に推薦アイテム提示部１０６にアクセスし、得られた推薦アイテムをブラウザ３を介してユーザに提示する。さらに、ユーザがアイテムを、予め決められた形態でコンテンツの利用(閲覧や購買)があった場合に、ユーザのＩＤ及びユーザが利用したアイテムのＩＤをログ取得部１０１に渡す。
【００１８】
ログ取得部１０１は、コンテンツ提供アプリケーション１からユーザＩＤとアイテムＩＤの組み合わせを受け付け、タイムスタンプ情報とともにサービス利用ログデータベース２０１に格納する。
【００１９】
サービス利用ログデータベース２０１は、ユーザのアイテム利用履歴を記録するデータベースである。図２に例を示す。サービス利用ログデータベース２０１は、ユーザＩＤ、アイテムＩＤ、日時の各項目からなる。
【００２０】
グラフ構築部１０２は、サービス利用ログデータベース２０１に格納されているユーザＩＤとアイテムＩＤのペアを元に、ユーザとアイテムのそれぞれをノード、それらの間のサービス利用ログにおける関係をエッジとしたグラフ構造を構築する。また、予め決められた設定により、アイテムデータベース２に格納されているアイテムのメタデータの要素もノードとして扱うことが考えられる。例えば、あるアイテムの分野を示すキーワードがメタデータで記述されている場合、当該キーワードをグラフ構造中のノードとして認識し、当該アイテムを示すノードとエッジで接続されている状態とする。アイテムデータベース２の例を図３に示す。アイテムデータベース２は、アイテムＩＤ、作者、複数のキーワードを含む。また、グラフ中の各ノードを結ぶエッジの重みは、全て均等もしくは出次数等で正規化した値等を使うことが考えられる。図４にグラフ構造の例を示す。構築したグラフを重要性評価部１０３及びグラフ分割部１０４に渡す。
【００２１】
重要性評価部１０３は、グラフ構築部１０２から取得したグラフ構造上において、アイテムの推薦を行う対象のユーザと、アイテムとの関連性を重要度として評価する。そして、当該ユーザとアイテムとその重要度の組み合わせを推薦対象特定部１０５へ渡す。重要度の算出方法としては、対象ユーザと各アイテムとの最小ステップ数や、グラフ上でのランダムウォークを考え、ノード間の重要性を評価するrandom walk with restart(非特許文献３：Gori, M. and Pucci, A.: ItemRank A Random-Walk Based Scoring Algorithm for Recommender Engines. Proc. IJCAI '07)などを利用することが考えられる。
【００２２】
グラフ分割部１０４は、グラフ構築部１０２から取得したグラフ構造をエッジの密度などの情報に基づき、複数の部分グラフに分割する。取得した分割情報は、推薦対象特定部１０５に渡す。部分グラフへの分割の例を図５に示す。分割の方法としては、MDL(Minimum Description Length)原理を利用した方法（例えば、非特許文献４： Deepayan Chakrabarti, Spiros Papadimitriou, Dharmendra S. Modha, and Christos Faloutsos: "Fully automatic cross-associations", Proc. of KDD 2004.）等が考えられる。
【００２３】
推定対象特定部１０５は、重要性評価部１０３から取得した推薦対象のユーザとの関連性に基づくアイテムの重要度、及び、グラフ分割部１０４から取得したグラフ構造の分割情報を元に、アイテムの優先度を評価し、推薦すべきアイテムを特定し、推薦アイテムデータベース２０２に格納する。
【００２４】
推薦アイテムの選択方法は、まず、グラフの分割情報からアイテムをグループ分けし、それぞれのグループから重要度の高いアイテムを選択し、推薦アイテムとする。また、このグラフ構造中における当該ユーザと部分グラフとの距離（例えば、最小ホップ数などで算出される値）を利用して、その推薦アイテムの優先度付けを考える。つまり、推薦アイテムの優先度決定においては、いわゆる重要度のみでなく、以下の指標を考慮することで、多様性を持ちながらも、ユーザの興味と近い推薦アイテムの特定を行う。
【００２５】
−推薦リストに類似アイテムが含まれる場合の優先度調整：
例えば、同一部分グラフに所属するアイテムが存在する場合に、アイテムの重要度をディスカウントすることが考えられる。
【００２６】
−グラフ構造中で属する部分グラフとユーザ間の距離による優先度調整：
例えば、ユーザを示すノードと部分グラフまでの最短経路を利用して、距離が遠い部分グラフに属するアイテムの重要度をディスカウントすることが考えられる。
【００２７】
図５の例で説明すると、推薦アイテムはメタデータキーワードが「ＮＧＮ」のアイテム群と「節電」であるアイテム群と「京都」であるアイテム群があり、それぞれのグループから推薦アイテムを選択し、かつユーザと距離の近いアイテム群を優先的に提示する。
【００２８】
推薦アイテムデータベース２０２は、推薦対象特定部１０５によって特定された推薦アイテムを、対象ユーザ及び優先度と共に格納するデータベースである。図６に推薦アイテムデータベース２０２の例を示す。
【００２９】
推薦アイテム提示部１０６は、コンテンツ提供アプリケーション１からの問い合わせに応じて推薦アイテムデータベース２０２にアクセスし、対象ユーザに対する推薦アイテムを取得し、コンテンツ提供アプリケーション１に送信する。具体的には、問い合わせ元のユーザＩＤに基づいて、推薦アイテムデータベース２０２を検索し、優先度高い順にＮ件のアイテムを抽出し、コンテンツ提供アプリケーション１に出力する。
【００３０】
ブラウザは、ユーザとのインタフェースであり、ユーザＩＤなどのユーザを識別する情報を受け付け、コンテンツ提供アプリケーション１が生成する情報を表示し、コンテンツ利用リクエストの受け付けなどを行う。
【００３１】
次に、上記の構成における処理手順について説明する。
【００３２】
手順は大きく分けてオンライン処理とオフライン処理に分かれる。
【００３３】
オンライン処理は、コンテンツ提供アプリケーション１が中心となり、ユーザのコンテンツ利用に応じてログのサービス利用ログデータベース２０１への格納、推薦アイテムデータベース２０２に格納された推薦アイテムのユーザの提示が行われる。
【００３４】
オフライン処理としては、サービス利用ログデータベース２０１及び推薦アイテムデータベース２０２に格納されたログとメタデータを利用して、推薦アイテムデータベース２０２を構築する。
【００３５】
以下に、オンライン処理における手順を示す。
【００３６】
図７は、本発明の一実施の形態におけるオンライン処理のフローチャートである。
【００３７】
ステップ１０１）  グラフ構築部１０２は、サービス利用ログデータベース２０１からユーザとアイテムの関係を取得し、アイテムデータベース２からアイテムのメタデータを取得し、ユーザ、アイテム、メタデータをノードとするグラフ構造を構築し、重要性評価部１０３及びグラフ分割部１０４に出力する。
【００３８】
ステップ１０２）  グラフ分割部１０４は、グラフ構築部１０２から取得したグラフ構造を、エッジ密度等のグラフ構造に基づき、複数の部分グラフに分割し、分割情報を推薦対象特定部１０５に出力する。
【００３９】
ステップ１０３）  重要性評価部１０３は、グラフ構築部１０２から取得したグラフ構造を元に、決められたユーザについて、各アイテムの重要度を計算し、当該ユーザの情報と、各アイテムの重要度の情報を推薦対象特定部１０５に送信する。
【００４０】
ステップ１０４）  推薦対象特定部１０５は、重要性評価部１０３から取得した各ノードの重要性と、グラフ分割部１０４から取得した分割情報を元に、各アイテムの優先度を評価し、アイテムと優先度の組み合わせ情報をユーザの識別情報と共に推薦アイテムデータベース２０２に格納する。
【００４１】
ステップ１０５）  全ユーザ分の処理が完了すれば、処理を終了し、完了していなければステップ１０１の後段の処理に移行する。
【００４２】
上記のように、本発明では、推薦に利用するアイテムとユーザの関係が表現されたグラフ構造を分割し、アイテムの部分グラフへの所属状態及び推薦対象ユーザと部分グラフのグラフ構造上での距離を元に推薦するアイテムを決定することにより、類似したアイテムの推薦を抑える。これにより、コンテンツ提供サービスにおいて、アイテムを推薦する場合に、多様性を持ったアイテムを推薦することが可能となり、ユーザのアイテム利用を支援することが可能となる。
【００４３】
本発明は、上記の図1に示す構成要素の動作をプログラムとして構築し、情報推薦装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【００４４】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【００４５】
１  コンテンツ提供アプリケーション（ＡＰ）
２  アイテムデータベース（ＤＢ）
３  ブラウザ
１０１  ログ取得部
１０２  グラフ構築部
１０３  重要性評価部
１０４  グラフ分割部
１０５  推薦対象特定部
１０６  推薦アイテム提示部
２０１  サービス利用ログデータベース（ＤＢ）
２０２  推薦アイテムデータベース（ＤＢ）
【図１】
2014067180.tif 000003
【図２】
2014067180.tif 000004
【図３】
2014067180.tif 000005
【図４】
2014067180.tif 000006
【図５】
2014067180.tif 000007
【図６】
2014067180.tif 000008
【図７】
2014067180.tif 000009