(57)【特許請求の範囲】
【請求項１】
アイテム推薦システムであって、
アイテム毎の購買情報を取得し、購買情報記憶手段に格納する購買情報取得手段と、
前記購買情報記憶手段に格納された各購買情報の分類を決定し、決定した各購買情報の分類を用いて、分類毎に各アイテムのアイテム選択率を算出し、アイテム選択率記憶手段に格納するアイテム選択率算出手段と、
前記分類毎に算出された各アイテムのアイテム選択率を用いて、分類毎に、各分類に属するアイテムの中でアイテム選択率が高いアイテムを候補アイテムとして抽出し、全ての分類でそれぞれ抽出された候補アイテムを候補アイテム記憶手段に格納する候補アイテム決定手段と、
前記アイテム選択率と前記購買情報記憶部に記憶された購買情報とを用いて、候補アイテム記憶手段に格納された各候補アイテムについて、ユーザ毎に推薦スコアを算出し、該推薦スコアにもとづいてユーザ毎に推薦する推薦アイテムを選択して推薦リストを生成し、推薦リスト記憶手段に格納する推薦リスト作成手段と、を有すること
を特徴とするアイテム推薦システム。
【請求項２】
請求項１記載のアイテム推薦システムであって、
アイテム推薦リクエストを端末から受け付けると、当該アイテム推薦リクエストで指定されたユーザに対応する推薦リストを前記推薦リスト記憶手段から抽出し、前記端末に提示する推薦処理手段を、さらに有すること
を特徴とするアイテム推薦システム。
【請求項３】
コンピュータが行うアイテム推薦方法であって、
アイテム毎の購買情報を取得し、購買情報記憶部に格納する購買情報取得ステップと、
前記購買情報記憶部に格納された各購買情報の分類を決定し、決定した各購買情報の分類を用いて、分類毎に各アイテムのアイテム選択率を算出し、アイテム選択率記憶部に格納するアイテム選択率算出ステップと、
前記分類毎に算出された各アイテムのアイテム選択率を用いて、分類毎に、各分類に属するアイテムの中でアイテム選択率が高いアイテムを候補アイテムとして抽出し、全ての分類でそれぞれ抽出された候補アイテムを候補アイテム記憶部に格納する候補アイテム決定ステップと、
前記アイテム選択率と前記購買情報記憶部に記憶された購買情報とを用いて、候補アイテム記憶部に格納された各候補アイテムについて、ユーザ毎に推薦スコアを算出し、該推薦スコアにもとづいてユーザ毎に推薦する推薦アイテムを選択して推薦リストを生成し、推薦リスト記憶部に格納する推薦リスト作成ステップと、を行うこと
を特徴とするアイテム推薦方法。
【請求項４】
請求項３記載のアイテム推薦方法であって、
アイテム推薦リクエストを端末から受け付けると、当該アイテム推薦リクエストで指定されたユーザに対応する推薦リストを前記推薦リスト記憶部から抽出し、前記端末に提示する推薦処理ステップを、さらに行うこと
を特徴とするアイテム推薦方法。
【請求項５】
請求項１または２に記載のアイテム推薦システムとしてコンピュータを機能させるためのアイテム推薦プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザにアイテムを推薦するアイテム推薦システム、アイテム推薦方法およびアイテム推薦プログラムに関する。
【背景技術】
【０００２】
アイテム推薦の手法はいくつも提案されているが、いずれの手法も推薦リストを作成する際に、ユーザとアイテムの組合せ分の推薦スコアを計算する必要がある。
【０００３】
例えば、非特許文献１記載の技術では、購買履歴（どのユーザがどのアイテムを購買したかの情報）を用いて各ユーザの各アイテムの購買確率を算出し、その値が高い順に各ユーザにアイテムのリストを提示する。この技術に基づく推薦システムでは、ユーザ一人一人に対して全てのアイテムの購買確率が計算されることになる。
【０００４】
特許文献１では、利用者に興味を持つ部分のテキストを指定させ、そこに含まれる単語の出現頻度に基づいてユーザの興味を推定し、ユーザの興味を表す単語に基づいてアイテムを検索し、ユーザの興味のあるアイテムを提示する。この場合、興味とアイテムの一致度を全てのアイテムについて計算する必要がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−３３８８６９号公報
【非特許文献】
【０００６】
【非特許文献１】Resnick, P. et al., “GroupLens: An open architecture for collaborative filtering of netnews”. CSCW ’94: Proceedings of the 1994 ACM conference on Computer supported cooperative work, ACM Press New York, 1994.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
背景技術のように、推薦リスト作成のために、ユーザとアイテムの組合せ分の推薦スコアを計算する場合、アイテム数が増えれば増えるほど計算コストが増大する。
【０００８】
具体的には、上記の特許文献１の手法を用いてアイテムを推薦する場合、興味キーワードとアイテムの組合せ数分の推薦スコアを算出することになる。非特許文献１の手法を用いてアイテムを推薦する場合、ユーザとアイテム数分の推薦スコアを算出することになる。
【０００９】
本発明は、上記の点に鑑みてなされたものであり、推薦スコアを算出するアイテムの数を絞り込み、アイテム推薦における計算コストおよび処理負荷を低減するアイテム推薦システム、アイテム推薦方法およびアイテム推薦プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、請求項１記載の本発明は、アイテム推薦システムであって、
アイテム毎の購買情報を取得し、購買情報記憶手段に格納する購買情報取得手段と、
前記購買情報記憶手段に格納された各購買情報の分類を決定し、決定した各購買情報の分類を用いて、分類毎に各アイテムのアイテム選択率を算出し、アイテム選択率記憶手段に格納するアイテム選択率算出手段と、
前記分類毎に算出された各アイテムのアイテム選択率を用いて、分類毎に、各分類に属するアイテムの中でアイテム選択率が高いアイテムを候補アイテムとして抽出し、全ての分類でそれぞれ抽出された候補アイテムを候補アイテム記憶手段に格納する候補アイテム決定手段と、
前記アイテム選択率と前記購買情報記憶部に記憶された購買情報とを用いて、候補アイテム記憶手段に格納された各候補アイテムについて、ユーザ毎に推薦スコアを算出し、該推薦スコアにもとづいてユーザ毎に推薦する推薦アイテムを選択して推薦リストを生成し、推薦リスト記憶手段に格納する推薦リスト作成手段と、を有することを要旨とする。
【００１１】
請求項２記載の本発明は、アイテム推薦システムであって、アイテム推薦リクエストを端末から受け付けると、当該アイテム推薦リクエストで指定されたユーザに対応する推薦リストを前記推薦リスト記憶手段から抽出し、前記端末に提示する推薦処理手段を、さらに有することを要旨とする。
【００１２】
請求項３記載の本発明は、コンピュータが行うアイテム推薦方法であって、
アイテム毎の購買情報を取得し、購買情報記憶部に格納する購買情報取得ステップと、
前記購買情報記憶部に格納された各購買情報の分類を決定し、決定した各購買情報の分類を用いて、分類毎に各アイテムのアイテム選択率を算出し、アイテム選択率記憶部に格納するアイテム選択率算出ステップと、
前記分類毎に算出された各アイテムのアイテム選択率を用いて、分類毎に、各分類に属するアイテムの中でアイテム選択率が高いアイテムを候補アイテムとして抽出し、全ての分類でそれぞれ抽出された候補アイテムを候補アイテム記憶部に格納する候補アイテム決定ステップと、
前記アイテム選択率と前記購買情報記憶部に記憶された購買情報とを用いて、候補アイテム記憶部に格納された各候補アイテムについて、ユーザ毎に推薦スコアを算出し、該推薦スコアにもとづいてユーザ毎に推薦する推薦アイテムを選択して推薦リストを生成し、推薦リスト記憶部に格納する推薦リスト作成ステップと、を行うことを要旨とする。
【００１３】
請求項４記載の本発明は、アイテム推薦方法であって、アイテム推薦リクエストを端末から受け付けると、当該アイテム推薦リクエストで指定されたユーザに対応する推薦リストを前記推薦リスト記憶部から抽出し、前記端末に提示する推薦処理ステップを、さらに行うことを要旨とする。
【００１４】
請求項５記載の本発明は、前記アイテム推薦システムとしてコンピュータを機能させるためのアイテム推薦プログラムであることを要旨とする。
【発明の効果】
【００１５】
本発明によれば、推薦スコアを算出するアイテムの数を絞り込み、アイテム推薦における計算コストおよび処理負荷を低減するアイテム推薦システム、アイテム推薦方法およびアイテム推薦プログラムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態に係るアイテム推薦システムの構成図である。
【図２】購買情報テーブルの一例を示す図である。
【図３】トピック比率テーブルの一例を示す図である。
【図４】アイテム選択率テーブルの一例を示す図である。
【図５】候補アイテムテーブルの一例を示す図である。
【図６】推薦リストテーブルの一例を示す図である。
【図７】購買時の処理のフローチャートである。
【図８】アイテム選択率算出時の処理のフローチャートである。
【図９】図８のステップ２３０の処理のフローチャートである。
【図１０】図９のステップ２３２の処理のフローチャートである。
【図１１】候補アイテム決定時の処理のフローチャートである。
【図１２】推薦リスト作成時の処理のフローチャートである。
【図１３】推薦処理のフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について、図面を参照して説明する。
【００１８】
図１は、本発明の一実施の形態におけるアイテム推薦システム１の構成を示す。図示するアイテム推薦システム１は、購買情報処理部１０、アイテム選択率算出部２０、候補アイテム決定部３０、推薦リスト作成部４０、推薦処理部５０、記録部６０、通信部７０、および入出力部８０を備える。通信部７０は、ネットワーク３に接続されており、入出力部８０は、入力装置や表示装置等の外部装置４に接続されている。
【００１９】
購買情報処理部１０は、E-Commerce（電子商取引）サービスなどにおけるアイテム毎の購買情報を取得し、購買情報テーブル６１に格納する。アイテム選択率算出部２０は、購買情報テーブル６１に格納された各購買情報のトピック（分類）を決定し、決定した各購買情報の分類を用いてトピック毎に各アイテムのアイテム選択率を算出し、アイテム選択率テーブル６３に格納する。
【００２０】
候補アイテム決定部３０は、トピック毎に算出された各アイテムのアイテム選択率を用いてトピック毎に候補アイテムを抽出し、全てのトピックでそれぞれ抽出された候補アイテムを候補アイテムテーブル６４に格納する。推薦リスト作成部４０は、アイテム選択率と購買情報テーブル６１に記憶された購買情報とを用いて、候補アイテムテーブル６４に格納された各候補アイテムについて、ユーザ毎に推薦スコアを算出し、該推薦スコアにもとづいてユーザ毎に推薦する推薦アイテムを選択して推薦リストを生成し、推薦リストテーブル６５に格納する。
【００２１】
推薦処理部５０は、アイテム推薦リクエストを外部端末２から受け付けると、当該アイテム推薦リクエストで指定されたユーザに対応する推薦リストを推薦リストテーブル６５から抽出し、外部端末２に提示する。
【００２２】
記録部６０には、購買情報テーブル６１、トピック比率テーブル６２、アイテム選択率テーブル６３、候補アイテムテーブル６４および推薦リストテーブル６５が記憶される。以下に各テーブルについて説明する。
【００２３】
＜購買情報テーブル６１＞
図２は、購買情報テーブル６１の一例を示す図である。購買情報テーブル６１には、E-Commerceサービスにおいて、購入されたアイテム（商品やサービスなど）および購入したユーザに関する購買情報が記憶される。図示する購買情報テーブル６１には、ユーザＩＤフィールドと、アイテムＩＤフィールドとが含まれる。ユーザＩＤフィールドには、該購買に関するユーザを特定するユーザ識別子が、購買情報処理部１０により設定される。アイテムＩＤフィールドには、該購買がいずれのアイテムに関するものかを特定するアイテム識別子が、購買情報処理部１０により設定される。
【００２４】
＜トピック比率テーブル６２＞
図３は、トピック比率テーブル６２の一例を示す図である。トピック比率テーブル６２は、各ユーザと各トピックとの結びつき（関連性）の強さを示すものであって、ユーザおよびトピック毎にレコードが生成される。トピック（分類）は、購買情報テーブル６１の購買レコードを所定の数にグルーピングした分類結果である。
【００２５】
図示するトピック比率テーブル６２には、ユーザＩＤフィールドと、トピックＩＤフィールドと、トピック比率フィールドとが含まれる。トピック比率フィールドには、該ユーザuの購買において、対応するトピックzが選択される確率P(z|u)が、アイテム選択率算出部２０により設定される。
【００２６】
＜アイテム選択率テーブル６３＞
図４は、アイテム選択率テーブル６３の一例を示す図である。図示するアイテム選択率テーブル６３には、トピックＩＤフィールドと、アイテムＩＤフィールドと、アイテム選択率フィールドとが含まれる。アイテム選択率フィールドには、該トピックzが選択された場合に、該アイテムiが購買される確率P(i|z)がアイテム選択率算出部２０により設定される。
【００２７】
＜候補アイテムテーブル６４＞
図５は、候補アイテムテーブル６４の一例を示す図である。図示する候補アイテムテーブル６４には、アイテムＩＤフィールドが含まれる。候補アイテムテーブル６４のアイテムＩＤフィールドに設定されるアイテムＩＤは、推薦リスト作成時に推薦の候補となるアイテムの集合（推薦スコア算出の対象となるアイテムの集合）であり、候補アイテム決定部３０により設定される。
【００２８】
＜推薦リストテーブル６５＞
図６は、推薦リストテーブル６５の一例を示す図である。推薦リストテーブル６５は、ユーザ毎に推薦するアイテムが設定されたテーブルである。図示する推薦リストテーブル６５には、ユーザＩＤフィールドと、アイテムＩＤフィールドと、推薦スコアフィールドとが含まれる。推薦スコアフィールドには、推薦リスト作成部４０が算出した、該ユーザへの該アイテムの推薦スコアが設定される。
【００２９】
上記説明したアイテム推薦システム１は、例えば、ＣＰＵと、メモリと、ＨＤＤ等の外部記憶装置とを備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、ＣＰＵがメモリ上にロードされたアイテム推薦システム１用のプログラムを実行することにより、アイテム推薦システム１の各機能が実現される。また、アイテム推薦システム１用のプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ−ＲＯＭなどのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
【００３０】
次に、本実施形態の具体的な処理について説明する。
【００３１】
図７は、本実施形態における購買情報更新時の処理のフローチャートである。なお、購買情報更新のタイミングは、たとえばシステム管理者が手動で管理・指示するようにしてもよいし、ユーザが何らかのアイテムを購買した場合に自動で更新するようにしてもよい。
【００３２】
ステップ１１０）購買情報処理部１０は、該アイテム推薦システム１のE-Commerce処理部（不図示）、または図示しないE-Commerceシステムなどから購買情報（購買履歴情報）を取得する。E-Commerce処理部またはE-Commerceシステムは、商品やサービスなどのアイテムを販売するサービスを、ネットワーク３を介して外部端末２に提供する。
【００３３】
なお、購買情報処理部１０は、システム管理者による指示を受け付けたタイミングで、E-Commerce処理部等から購買情報を取得してもよく、また、アイテムが購入されたタイミングでE-Commerce処理部等が、購買情報を購買情報処理部１０に送信することとしてもよい。
【００３４】
ステップ１２０）購買情報処理部１０は、取得した購入情報を購買情報テーブル６１に登録する。すなわち、購入されたアイテム毎に、購入したユーザのユーザＩＤおよび購入されたアイテムのアイテムＩＤを、アイテムＩＤフィールドおよびユーザＩＤフィールドに設定したレコードを購買情報テーブル６１に登録する。
【００３５】
図８は、本実施形態におけるアイテム選択率算出時の処理のフローチャートである。アイテム選択率算出のタイミングは、たとえばシステム管理者が手動で管理・指示するようにしてもよく、また、定期的に自動で行うこととしてもよい。
【００３６】
ステップ２１０）アイテム選択率算出部２０は、推薦のためのパラメータであるトピック数K、トピック比率P(z|u)算出のための事前パラメータα、アイテム選択率P(i|z)算出のための事前パラメータηを設定する。これらパラメータには、予め定めた所定の値（定数）を用いる。トピック数Zは、購買情報テーブル６１の各購買レコードをいくつのトピック（分類）にグルーピングするかを指定するものである。
【００３７】
ステップ２２０）アイテム選択率算出部２０は、購買情報テーブル６１を参照し、購買情報、すなわち各購買レコードのユーザu＝｛um｝mと、アイテムi＝｛im｝mとを取得する。
【００３８】
ステップ２３０）アイテム選択率算出部２０は、各購買レコードのトピックz＝｛zm｝mを決定する。ステップ２３０の処理については、図９で後述する。
【００３９】
ステップ２４０）アイテム選択率算出部２０は、ステップ２１０で設定したパラメータのトピック数Kおよびαと、ステップ２３０で決定した各購買レコードのトピックzと、 式１とを用いて、トピック比率P(z|u)を算出する。トピック比率P(z|u)は、ユーザuの購買で、トピックzが選択される確率を示すものである。
【数１】
0005622880.tif 000002
【００４０】
ここでmは、購買情報テーブル６１の各購買レコードを特定する変数である。アイテム選択率算出部２０は、ユーザuおよびトピックz毎に、トピック比率P(z|u)を設定したレコードを生成し、トピック比率テーブル６２に登録する。各購買レコードには、ユーザＩＤとアイテムＩＤとが含まれるため、ユーザ毎に結びつきの強いトピックがわかる。
【００４１】
ステップ２５０）アイテム選択率算出部２０は、ステップ２１０で設定したパラメータηと、ステップ２３０で決定した各購買レコードのトピックzと 、式２とを用いて、トピックzが選択された場合にアイテムiが購買される確率であるアイテム選択率P(i|z)を算出する。
【数２】
0005622880.tif 000003
【００４２】
ここでNは、ユニークアイテム数である。アイテム選択率算出部２０は、トピックz、アイテムi、アイテム選択率P(i|z)を設定したレコードを生成し、アイテム選択率テーブル６３に登録する。これにより、あるトピックに結びつきの強いアイテムがわかる。
【００４３】
次に、上記の図８のステップ２３０の処理を詳細に説明する。
【００４４】
図９は、図８のステップ２３０の処理のフローチャートである。
【００４５】
ステップ２３１）アイテム選択率算出部２０は、各購買レコードのトピックzm（m＝1,・・・,M）を、最小値１、最大値Kの乱数で初期化する。
【００４６】
そしてステップ２３２を、所定の回数繰り返す。繰り返しの回数については、予め設定した任意の数でも構わないし、各購買レコードのトピックzが収束したらそこで打ち切るようにしてもよい。図９では、所定の回数（例えば、500回）繰り返す例を示し、回数jを0で初期化し、Ｓ２３２を行った後、回数jをインクリメントし、回数jが500になるまで、Ｓ２３２を繰り返し行う。
【００４７】
ステップ２３２）アイテム選択率算出部２０が、各購買レコードのトピックzm（m＝1,・・・,M）を更新する。このステップ２３２の処理については、図１０を用いて詳細に説明する。
【００４８】
図１０は、図９のステップ２３２の処理のフローチャートである。
【００４９】
アイテム選択率算出部２０は、全ての各購買レコードm＝1,・・・,Mについて、ステップ２３２１とステップ２３２２とを行う。すなわち、最初にmに1を設定し、ステップ２３２１およびステップ２３２２を行った後、mをインクリメントし、mがMになるまで、ステップ２３２１およびステップ２３２２を繰り返し行う。
【００５０】
ステップ２３２１）アイテム選択率算出部２０は、該購買レコードのトピックzmの各トピック候補k＝1,・・・, Kへアサインされるサンプリング確率を、式３により算出する。
【数３】
0005622880.tif 000004
【００５１】
すなわち、最初にkに1を設定し、ステップ２３２１を行った後、kをインクリメントし、kがKになるまでステップ２３２１を繰り返し行うことで、1からKの各トピック候補のサンプリング確率を算出し、その後、ステップ２３２２を行う。
【００５２】
ステップ２３２２）アイテム選択率算出部２０は、ステップ２３２１で算出した該購買レコードのトピックzmの各トピック候補k＝1,・・・, K へアサインされるサンプリング確率に基づき、乱数を発生させて、zmを更新する。具体的には、k＝2,・・・, K について、式４に従ってサンプリング確率を更新する。
【数４】
0005622880.tif 000005
【００５３】
さらに、k＝1,・・・, K について、サンプリングを式５のように更新する。
【数５】
0005622880.tif 000006
【００５４】
その後、最小値０、最大値１の小数の乱数を発生させて、その値をサンプリング確率が上回る最小のkにアサインする。具体例を挙げて説明すると、今K＝3として、式３に基づき算出された各トピック候補のサンプリング確率がそれぞれP(zm＝1)＝1.6、P(zm＝2)＝0.4、P(zm＝3)＝2.0であったとする。つまり、それぞれのトピックに4:1:5の割合でサンプリングされるようにしたい。このとき、式４と式５とを用いてP(zm＝1)＝0.4、P(zm＝2)＝0.5、P(zm＝3)＝1.0とサンプリング確率を更新し、最小値０、最大値１の小数の乱数を発生させてその値をサンプリング確率が上回る最小のkにアサインする。すなわち、発生させた乱数の値をサンプリング確率が上回る最小のkを、該購買レコードのトピックzmとして決定する。
【００５５】
図１１は、候補アイテム決定時の処理のフローチャートである。候補アイテム決定のタイミングは、たとえばシステム管理者が手動で指示・管理することができるようにしてもよいし、推薦リスト作成時の直前に自動で行ってもよい。
【００５６】
ステップ３１０）候補アイテム決定部３０は、候補アイテム集合をC←｛｝のように初期化する。
【００５７】
そして、候補アイテム決定部３０は、全てのトピックk＝1,・・・,Kについて、ステップ３２０、３３０、３４０を行う。すなわち、最初にkに1を設定し、ステップ３２０、３３０、３４０を行った後、kをインクリメントし、kがKになるまで３２０、３３０、３４０を繰り返し行う。
【００５８】
ステップ３２０）候補アイテム決定部３０は、アイテム選択率テーブル６３のトピックＩＤフィールドの値がkのレコードを参照し、各アイテムi＝1,・・・,Iに関するトピックkのアイテム選択率P(i|z)を取得する。ここで、Iはユニークアイテム数を指す。
【００５９】
ステップ３３０）候補アイテム決定部３０は、アイテムi＝1,・・・,Iをトピックk に関するアイテム選択率P(i|z)の降順にソートし、上位N件Ckを取得する。
【００６０】
そして、Ckに含まれる各アイテムi について、それぞれステップ３４０を行う。すなわち、Ckに含まれる各アイテムi の中に未処理のアイテムi があるか否かを判別し、未処理のアイテムiがある場合は未処理のアイテムi を選択し、選択したアイテムi にステップ３４０の処理を行う。
【００６１】
ステップ３４０）候補アイテム決定部３０は、候補アイテム集合Cに、Ckに含まれる各アイテムiを追加する（すなわちC←C∪(i)とする）。
【００６２】
そして、全てのトピックk＝1,・・・,Kについて、ステップ３２０、３３０、３４０を行った後、候補アイテム決定部３０は、候補アイテム集合Cに含まれる各アイテムiについて、ステップ３５０を行う。すなわち、集合Cに含まれる各アイテムiの中に未処理のアイテムiがあるか否かを判別し、未処理のアイテムiがある場合は未処理のアイテムiを選択し、選択したアイテムiにステップ３５０の処理を行う。
【００６３】
ステップ３５０）候補アイテム決定部３０は、アイテムＩＤフィールドの値に集合Cに含まれる各アイテムiを設定したレコードを、候補アイテムテーブル６４に登録する。
【００６４】
本実施形態では、このような図１１の処理を行うことで、トピック毎に算出したアイテム選択率を用いて、どのユーザの推薦リストにも出現する可能性の無いアイテムを足切りし、候補アイテムの数を絞り込む。これにより、以下に述べる推薦スコアを算出するアイテム数を削減し、推薦リスト作成処理のコストを減らすことができる。
【００６５】
図１２は、本実施形態における推薦リスト作成時の処理のフローチャートである。推薦リスト作成のタイミングは、たとえばシステム管理者が手動で管理・指示することができるようにしてもよいし、定期的に自動で行ってもよい。
【００６６】
ステップ４１０）推薦リスト作成部４０は、候補アイテムテーブル６４を参照し、候補アイテム集合Cを取得する。
【００６７】
そして、推薦リスト作成部４０は、取得した全ての候補アイテムi∈Cについて、ステップ４２０を行う。すなわち、候補アイテム集合C中に未処理のアイテムがあるか否かを判別し、未処理のアイテムがある場合は未処理のアイテムiを選択し、選択したアイテムiにステップ４２０の処理を行う。
【００６８】
ステップ４２０）推薦リスト作成部４０は、アイテム選択率テーブル６３を参照し、各アイテムiに関するアイテム選択率P(i|z)（z＝1,・・・,K）を取得する。そして、推薦リスト作成部４０は、候補アイテム集合C中の全てのアイテムについて、アイテム選択率P(i|z)を取得した後、ステップ４３０を行う。
【００６９】
ステップ４３０）推薦リスト作成部４０は、購買情報テーブル６１を参照し、全ユーザ集合Uを取得する。
【００７０】
そして、推薦リスト作成部４０は、全ての各ユーザu∈Uについて、ステップ４４０、４５０、４６０を行う。すなわち、全ユーザ集合Uの中に未処理のユーザuがあるか否かを判別し、未処理のユーザがある場合は未処理のユーザuを選択し、選択したユーザuにステップ４４０の処理を行う。
【００７１】
ステップ４４０）推薦リスト作成部４０は、トピック比率テーブル６２を参照し、ユーザuに関するトピック比率P(z|u) （z＝1,・・・,K）を取得する。
【００７２】
そして、推薦リスト作成部４０は、ステップ４１０で取得した候補アイテム集合Cの全ての各候補アイテムi∈Cについて、ステップ４５０を行う。すなわち、候補アイテム集合C中に未処理のアイテムがあるか否かを判別し、未処理のアイテムがある場合は未処理のアイテムiを選択し、選択したアイテムiについてステップ４５０の処理を行う。
【００７３】
ステップ４５０）推薦リスト作成部４０は、ステップ４２０で取得したアイテム選択率と、ステップ４４０で取得したトピック比率とを用いて、アイテムiのユーザuに対する推薦スコアP(i|u)を式６に従って算出する。
【数６】
0005622880.tif 000007
【００７４】
そして、推薦リスト作成部４０は、候補アイテム集合C中の全てのアイテムについて、推薦スコアP(i|u)を算出した後、ステップ４６０を行う。
【００７５】
ステップ４６０）推薦リスト作成部４０は、ステップ４５０にて算出した各アイテムの推薦スコアP(i|u)（i∈C）に基づいて、該ユーザuに対していずれのアイテムを推薦アイテムとするかを決定する。そして、推薦リスト作成部４０は、決定した推薦アイテム毎に、ユーザＩＤフィールドにu、アイテムＩＤフィールドにi、推薦スコアフィールドにP(i|u)を設定したレコードを生成し、推薦リストテーブル６５に登録する。なお、推薦リストテーブル６５のレコードには、ユーザＩＤと推薦アイテムとが対応付けて記憶されるため、ユーザＩＤでレコードを抽出することで推薦リストが生成される。
【００７６】
推薦アイテムとするか否かの判断基準としては、例えば、推薦スコアの値が大きいものから順に予め設定した任意の件数のアイテムを推薦アイテムとして決定すること、または、推薦スコアに対して何らかの閾値を設けて、 推薦スコアがその閾値を超えるアイテムを推薦アイテムとして決定すること、などが考えられる。
【００７７】
上記ステップ４４０、４５０、４６０の処理を、未処理のユーザがなくなるまで繰り返し行う。以上説明した図１２の処理により、推薦リストテーブル６５には各ユーザに対して推薦するアイテム（推薦リスト）が設定される。
【００７８】
図１３は、本実施形態における推薦処理時の処理のフローチャートである。推薦処理は、例えば通信部７０およびネットワーク３を通じて外部端末２からアイテム推薦システム１にアイテム推薦のリクエストが送信された場合に実行される。
【００７９】
ステップ５１０）推薦処理部５０は、外部端末２からユーザuに関するアイテム推薦のリクエストを受信する。なお、このリクエストには、引数として対象となるユーザuのユーザＩＤが含まれている。
【００８０】
ステップ５２０）推薦処理部５０は、リクエストで指定されたユーザＩＤに対応する全ての推薦アイテムiを推薦リストテーブル６５から抽出して、該ユーザu用の推薦リストを生成し、リクエスト送信元の外部端末２に推薦リストを提示することで、該ユーザuにアイテムを推薦する。
【００８１】
以上説明した本実施形態では、非常にアイテム数の多いインターネット上のサービスでアイテムの推薦を行うために、推薦処理の中間結果（トピック毎のアイテム選択率など）を用いて、どのユーザの推薦リストにも出現しないアイテムを足切りし、候補アイテムを絞り込んでおくことによって、候補アイテムに関する推薦スコアのみを計算し、高速に推薦リストを作成する。すなわち推薦スコアを算出するアイテムおよびユーザの組み合わせの数を削減することで、高速に推薦リストを作成することができる。
【００８２】
これにより、本実施形態では、各ユーザへの推薦アイテムとして選択される上位のアイテムを維持しつつ、アイテム数およびユーザ数が非常に多いインターネット上のサービスにおいて、アイテムの推薦を高速に行えるようになる。すなわち、アイテム推薦における計算コストおよび処理負荷を低減することができる。これにより、インターネット上の大規模なサービスの購買が促進されるため、大幅な収益増につながる。
【００８３】
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【符号の説明】
【００８４】
１  ：アイテム推薦システム
１０：購買情報処理部
２０：アイテム選択率算出部
３０：候補アイテム決定部
４０：推薦リスト作成部
５０：推薦処理部
６０：記憶部
６１：購買情報テーブル
６２：トピック比率テーブル
６３：アイテム選択率テーブル
６４：候補アイテムテーブル
６５：推薦リストユーザテーブル
７０：通信部
８０：入出力部
２  ：外部端末
３  ：ネットワーク
４  ：外部装置
【図１】
0005622880.tif 000008
【図２】
0005622880.tif 000009
【図３】
0005622880.tif 000010
【図４】
0005622880.tif 000011
【図５】
0005622880.tif 000012
【図６】
0005622880.tif 000013
【図７】
0005622880.tif 000014
【図８】
0005622880.tif 000015
【図９】
0005622880.tif 000016
【図１０】
0005622880.tif 000017
【図１１】
0005622880.tif 000018
【図１２】
0005622880.tif 000019
【図１３】
0005622880.tif 000020