(57)【要約】【課題】  ユニークアイテム数の多いE-Commerceサービスにおいて高速に推薦リストを作成することを可能にする。【解決手段】  本発明は、E-Commerceサービスにおける各ユーザＩＤの購買情報を取得し、購買情報を用いて、各アイテムの販売数を算出し、該各アイテムの販売数に基づき代表アイテムを決定する。このとき、所定の閾値を超えないものは代表アイテムの候補から除く。購買情報と、代表アイテムとを用いて、各ユーザへの各代表アイテムの推薦スコアを算出し、該推薦スコアに基づき各ユーザへの推薦リストを作成する。ユーザの識別子が与えられると、推薦リストを用いて、該ユーザの推薦リスト中のアイテムの識別子を推薦商品として選択する。【選択図】  図１
2014074961.tif 000002
【特許請求の範囲】
【請求項１】
E-Commerce（電子商取引）サービスにおいて、ユーザの購買情報を利用して商品を推薦する商品推薦装置であって、
前記E-Commerceサービスにおける各ユーザＩＤの購買情報を取得し、購買情報記憶手段に格納する購買情報取得手段と、
前記購買情報記憶手段に格納されている前記購買情報を用いて、各アイテムの販売数を算出し、該各アイテムの販売数に基づき代表アイテムを決定し、代表アイテム記憶手段に格納する代表アイテム決定手段と、
前記購買情報と、前記代表アイテム記憶手段に格納されている前記代表アイテムとを用いて、各ユーザへの各代表アイテムの推薦スコアを算出し、該推薦スコアに基づき各ユーザへの推薦リストを作成し、推薦リスト記憶手段に格納する推薦リスト作成手段と、
ユーザの識別子が与えられると、前記推薦リスト記憶手段に格納されている前記推薦リストを用いて、該ユーザの推薦リスト中のアイテムの識別子を推薦商品として選択する推薦処理手段と、
を有することを特徴とする商品推薦装置。
【請求項２】
前記代表アイテム決定手段は、
代表アイテム決定パラメータを設定する代表アイテム決定パラメータ設定手段と、
前記各アイテムの販売数を用いて、パレート分布パラメータを算出するパレート分布パラメータ算出手段と、
前記代表アイテム決定パラメータと、前記各アイテムの販売数と、前記パレート分布パラメータと、前記購買情報と、を用いて、所定の条件を満たす最小の整数を販売数の閾値に設定する販売数閾値設定手段と、
前記各アイテムの販売数が、前記販売数の閾値より大であるアイテムを代表アイテムとして決定し、前記代表アイテム記憶手段に格納する代表アイテム判定手段と、
を含む請求項１記載の商品推薦装置。
【請求項３】
E-Commerce（電子商取引）サービスにおいて、ユーザの購買情報を利用して商品を推薦する商品推薦方法であって、
購買情報取得手段、購買情報記憶手段、代表アイテム決定手段、代表アイテム記憶手段、推薦リスト作成手段、推薦リスト記憶手段、推薦処理手段を有する装置において、
前記購買情報取得手段は、前記E-Commerceサービスにおける各ユーザＩＤの購買情報を取得し、購買情報記憶手段に格納する購買情報取得ステップと、
前記代表アイテム決定手段が、前記購買情報記憶手段に格納されている前記購買情報を用いて、各アイテムの販売数を算出し、該各アイテムの販売数に基づき代表アイテムを決定し、代表アイテム記憶手段に格納する代表アイテム決定ステップと、
前記推薦リスト作成手段が、前記購買情報と、前記代表アイテム記憶手段に格納されている前記代表アイテムとを用いて、各ユーザへの各代表アイテムの推薦スコアを算出し、該推薦スコアに基づき各ユーザへの推薦リストを作成し、前記推薦リスト記憶手段に格納する推薦リスト作成ステップと、
前記推薦処理手段が、ユーザの識別子が与えられると、前記推薦リスト記憶手段に格納されている前記推薦リストを用いて、該ユーザの推薦リスト中のアイテムの識別子を推薦商品として選択する推薦処理ステップと、
を行うことを特徴とする商品推薦方法。
【請求項４】
前記代表アイテム決定ステップにおいて、
代表アイテム決定パラメータを設定する代表アイテム決定パラメータ設定ステップと、
前記各アイテムの販売数を用いて、パレート分布パラメータを算出するパレート分布パラメータ算出ステップと、
前記代表アイテム決定パラメータと、前記各アイテムの販売数と、前記パレート分布パラメータと、前記購買情報と、を用いて、所定の条件を満たす最小の整数を販売数の閾値に設定する販売数閾値設定ステップと、
前記各アイテムの販売数が、前記販売数の閾値より大であるアイテムを代表アイテムとして決定し、前記代表アイテム記憶手段に格納する代表アイテム判定ステップと、
を行う請求項３記載の商品推薦方法。
【請求項５】
コンピュータを、
請求項１または２に記載の商品推薦装置を構成する各手段として機能させるための商品推薦プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、商品推薦装置及び方法及びプログラムに係り、特に、E-Commerce(電子商取引）サービスで提供されるユーザの商品購買において、商品を推薦するための商品推薦装置及び方法及びプログラムに関する。
【背景技術】
【０００２】
商品推薦の手法はいくつも提案されているが、いずれの手法も推薦リスト作成にかかる計算時間がユニークアイテム数に依存する。
【０００３】
例えば、購買履歴（どのユーザがどの商品を購買したかの情報）を用いて各ユーザの各アイテムの購買確率を算出し、その値が高い順に各ユーザにアイテムのリストを提示する方法がある（例えば、非特許文献1参照）。当該技術による推薦リスト作成の計算時間はユニークアイテム数に依存する。
【０００４】
また、利用者に興味を持つ部分のテキストを指定させ、そこに含まれる単語の出現頻度に基づいてユーザの興味を推定し、ユーザの興味を表す単語に基づいてアイテムを検索し、ユ−ザの興味のある商品を提示する技術がある（例えば、特許文献1参照）。この場合、アイテムと単語の関係の算出にかかる計算時間はユニークアイテム数に依存する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１-３３８８６９号公報
【非特許文献】
【０００６】
【非特許文献１】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（電子商取引）サービスにおいて、ユーザの購買情報を利用して商品を推薦する商品推薦装置であって、
前記E-Commerceサービスにおける各ユーザＩＤの購買情報を取得し、購買情報記憶手段に格納する購買情報取得手段と、
前記購買情報記憶手段に格納されている前記購買情報を用いて、各アイテムの販売数を算出し、該各アイテムの販売数に基づき代表アイテムを決定し、代表アイテム記憶手段に格納する代表アイテム決定手段と、
前記購買情報と、前記代表アイテム記憶手段に格納されている前記代表アイテムとを用いて、各ユーザへの各代表アイテムの推薦スコアを算出し、該推薦スコアに基づき各ユーザへの推薦リストを作成し、推薦リスト記憶手段に格納する推薦リスト作成手段と、
ユーザの識別子が与えられると、前記推薦リスト記憶手段に格納されている前記推薦リストを用いて、該ユーザの推薦リスト中のアイテムの識別子を推薦商品として選択する推薦処理手段と、を有する。
【００１１】
また、本発明（請求項２）は、前記代表アイテム決定手段において、
代表アイテム決定パラメータを設定する代表アイテム決定パラメータ設定手段と、
前記各アイテムの販売数を用いて、パレート分布パラメータを算出するパレート分布パラメータ算出手段と、
前記代表アイテム決定パラメータと、前記各アイテムの販売数と、前記パレート分布パラメータと、前記購買情報と、を用いて、所定の条件を満たす最小の整数を販売数の閾値に設定する販売数閾値設定手段と、
前記各アイテムの販売数が、前記販売数の閾値より大であるアイテムを代表アイテムとして決定し、前記代表アイテム記憶手段に格納する代表アイテム判定手段と、を含む。
【発明の効果】
【００１２】
本発明では、購買履歴を元にアイテムの販売数の分布を推定し、その推定結果を元に代表アイテムを求めておいて、代表アイテムに関するデータだけを用いて推薦リストを作成することにより、従来の技術では不可能であった、非常にアイテム数の多いオンラインサービス上での推薦が行えるようになる。これにより、大規模なオンラインサービス上のユーザの購買が促進されるため、大幅な収益増につながる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施の形態における商品推薦装置の構成図である。
【図２】本発明の一実施の形態における購買情報テーブルの例である。
【図３】本発明の一実施の形態における代表アイテムテーブルの例である。
【図４】本発明の一実施の形態における推薦リストテーブルの例である。
【図５】本発明の一実施の形態における購買時の処理のフローチャートである。
【図６】本発明の一実施の形態における代表アイテム決定時の処理のフローチャートである。
【図７】本発明の一実施の形態における推薦リスト作成時のフローチャートである。
【図８】本発明の一実施の形態における図７のステップ３３０の詳細な処理のフローチャートである。
【図９】本発明の一実施の形態における図８のステップ３３２の詳細な処理のフローチャートである。
【図１０】本発明の一実施の形態における推薦処理時の処理のフローチャートである。
【発明を実施するための形態】
【００１４】
本発明では、ユニークアイテム数の多いE-Commerceサービスにおいて高速に推薦リスト作成処理が行える推薦システムを実現することを目的とする。具体的には、購買履歴を元に各アイテムの販売数を算出し、ある閾値を越えないアイテムはフィルタすることで代表アイテムだけ残す。
【００１５】
推薦リストの上位に表れるアイテムは一般に販売数の多いアイテムであるため、販売数の少ないアイテムを除外しても、推薦リスト上位に変化はない。しかしながら、除外するか否かの販売数の閾値によって各ユーザへの推薦リストに変化があるか否かが決定する。本発明では、アイテムの販売数にパレート分布を仮定し、そのパレート分布から各ユーザへの推薦リスト上位に影響を与えないような販売数の閾値を設定する。
【００１６】
販売数の少ないアイテムに関するデータを除外した後は、従来の推薦手法で各ユーザへの推薦リストを作成する。
【００１７】
以下、図面と共に本発明の実施形態を説明する。
【００１８】
図１は、本発明の一実施の形態における商品推薦装置の構成を示す。
【００１９】
同図に示す商品推薦装置１は、購買情報処理部１０、代表アイテム決定部２０、推薦リスト作成部３０、推薦処理部４０、記憶部５０、通信部６０、入出力部７０から構成され、通信部６０はネットワーク３に接続されており、入出力部７０は、入力装置や表示装置等の外部装置４に接続されている。
【００２０】
記憶部５０は、購買情報テーブル５１、代表アイテムテーブル５２、推薦リストテーブル５３を有する。以下に各テーブルについて説明する。
【００２１】
＜購買情報テーブル５１＞
購買情報テーブル５１には、図２に示すように、ユーザＩＤフィールド、アイテムＩＤフィールドが含まれる。
【００２２】
ユーザＩＤフィールドは、購買情報処理部１０により、該購買に関するユーザを特定する識別子(u)が設定される。
【００２３】
アイテムＩＤフィールドは、購買情報処理部１０により,該購買がいずれのアイテムに関するものかを特定する識別子(i)が設定される。
【００２４】
＜代表アイテムテーブル５２＞
代表アイテムテーブル５２には、図３に示すように、代表アイテムＩＤフィールドと、販売数フィールドとが含まれる。
【００２５】
代表アイテムＩＤフィールドは、代表アイテム決定部２０により,購買情報テーブル５１におけるアイテムＩＤと同一の値(i)が設定される。
【００２６】
販売数フィールドは、代表アイテム決定部２０により、該アイテムが購買情報テーブル５１に何度出現するか、すなわち購買情報テーブル５１に格納される購買情報の中で何度購買されたか(Mi)が設定される。
【００２７】
＜推薦リストテーブル５３＞
推薦リストテーブル５３には、図４に示すように、ユーザＩＤフィールドと、アイテムＩＤフィールドと、推薦スコアフィールドとが含まれる。
【００２８】
推薦スコアフィールドは、推薦リスト作成部３０により該ユーザへの該アイテムの推薦スコア(P(i|u))が設定される。
【００２９】
＜購買情報更新時の処理＞
はじめに、本発明の一実施の形態における購買情報更新時の処理を詳細に説明する。
【００３０】
図５は、本発明の一実施の形態における購買情報更新時の処理のフローチャートである。購買情報更新のタイミングは、例えばシステム管理者が手動で管理できるようにしてもよいし、ユーザが何らかのアイテムを購買した場合に自動で発生するようにしてもよい。
【００３１】
ステップ１１０）購買情報処理部１０が、購買情報テーブル５１に、購買したユーザ、購買されたアイテムに応じてユーザＩＤフィールド、アイテムＩＤフィールドの値(u,i)を設定した行を挿入する。
【００３２】
＜代表アイテム決定処理＞
次に、本発明の一実施の形態における代表アイテム決定時の処理を詳細に説明する。
【００３３】
図６は、本発明の一実施の形態における代表アイテム決定時の処理のフローチャートである。代表アイテム決定のタイミングは、例えばシステム管理者が手動で管理することができるようにしてもよいし、定期的に自動で行ってもよい。
【００３４】
ステップ２１０）代表アイテム決定部２０が、代表アイテム決定のためのパラメータβを設定する。このパラメータは、予め与えておいた0以上1未満の小数の定数により設定される。
【００３５】
ステップ２２０）代表アイテム決定部２０が、購買情報テーブル５１を参照し、全アイテム集合Ｉと各アイテムiの販売数Miを取得する。
【００３６】
ステップ２３０）代表アイテム決定部２０が、ステップ２２０にて取得した各アイテムの販売数からアイテムの販売数を決定するパレート分布のパラメータを式（１）のように算出する。
【００３７】
【数１】
2014074961.tif 000003
ここでNはユニークアイテム数、すなわちＮ＝｜I｜。
【００３８】
ステップ２４０）代表アイテム決定部２０が、ステップ２１０にて設定した代表アイテム決定のためのパラメータβと、ステップ２２０にて取得した各アイテムの販売数と、ステップ２３０にて算出したアイテムの販売数を決定するパレート分布のパラメータαから、代表アイテム決定のためのアイテム販売数の閾値θを式（２）を満たす最小の整数に設定する。
【００３９】
【数２】
2014074961.tif 000004
全てのアイテムi∈Iについて、以下を行う。
【００４０】
当該ステップのパレート分布による閾値θを決定することにより、推薦リストの上位のアイテムに影響を与えない。
【００４１】
ステップ２５０）代表アイテム決定部２０が、アイテムiの販売数Miが、ステップ２４０にて設定したアイテム販売数の閾値θを上回るかをチェックし、上回る場合はステップ２６０を行い、上回らない場合は次のアイテムの処理に移る。当該処理を行うことにより、販売実績が上位の商品に限定することができる。
【００４２】
ステップ２６０）代表アイテム決定部２０が、代表アイテムＩＤフィールドの値がi、販売数フィールドの値がMiの行を構成し、代表アイテムテーブル５２に挿入する。
【００４３】
＜推薦リスト作成時の処理＞
次に、本発明の一実施の形態における推薦リスト作成時の処理を詳細に説明する。
【００４４】
図７は、本発明の一実施の形態における推薦リスト作成時の処理のフローチャートである。推薦リスト作成のタイミングは、例えばシステム管理者が手動で管理することができるようにしてもよいし、定期的に自動で行ってもよい。
【００４５】
ステップ３１０）推薦リスト作成部３０が、推薦項算出のためのパラメータZ、γ、ηを設定する。これらパラメータは、予め与えておいた定数により設定される。ただし、Zは１以上の整数であり、γ、ηは０以上の小数である。
ステップ３２０）推薦リスト作成部３０が、購買情報テーブル５１と、代表アイテムテーブル５２を参照し、購買情報テーブル５１に格納されている購買情報のうちアイテムＩＤフィールドの値が代表アイテムテーブル５２に出現するものの各購買のユーザ
【００４６】
【数３】
2014074961.tif 000005
と、アイテム
【００４７】
【数４】
2014074961.tif 000006
を取得する。ここでMは代表アイテムに関する購買履歴の総数であり、mは各購買履歴を一意に表すIDである。
【００４８】
ステップ３３０）推薦リスト作成部３０が、非特許文献３（Bishop, M.C., "Pattern recognition and machine learning", 2006）記載のCollapsedギブスサンプリングを用いて各購買のトピック
【００４９】
【数５】
2014074961.tif 000007
を推定する。
【００５０】
ステップ３４０）推薦リスト作成部３０が、ステップ３１０にて設定したパラメータZ、γ、ηと、ステップ３３０にて推定した各購買のトピックzとを用いて式（３）のように各ユーザuが各アイテムiを選択する確率P(i|u)を算出する。
【００５１】
【数６】
2014074961.tif 000008
ステップ３５０）推薦リスト作成部３０が、ステップ３４０で算出した各ユーザuが各アイテムiを選択する確率からいずれのアイテムを推薦するかを決定し、ユーザＩＤフィールドの値がu、アイテムＩＤフィールドの値がi、推薦スコアフィールドの値がP(i|u)の行を推薦するアイテムの個数分構成し、推薦リストテーブル５３に挿入する。ここでアイテムを推薦するかしないかの基準としては、推薦スコアの値が大きいものから順に予め設定した任意の件数を推薦すべき商品としてもよいし、推薦スコアに対し、何らかの閾値を設けて、 推薦スコアがその値を超えるものを推薦すべき商品としてもよい。
【００５２】
次に、上記の図７のステップ３３０の処理を詳細に説明する。
【００５３】
図８は、本発明の一実施の形態における図７のステップ３３０の詳細な処理のフローチャートである。
【００５４】
ステップ３３１）推薦リスト作成部３０が、各購買のトピックzm(m=1,…,M)を最小値１、最大値Zの整数乱数で初期化する。
【００５５】
ステップ３３２を、十分な回数（例えば５００回）繰り返す。繰り返しの回数については、予め設定した任意の数でも構わないし、各購買のトピックｚが収束したら（ほとんどのｚmが変化しなくなったら）そこで打ち切るようにしてもよい。
【００５６】
ステップ３３２）推薦リスト作成部３０が、各購買のトピックzm(m=1,…,M)を更新する。
【００５７】
次に、上記の図８のステップ３３２の処理を詳細に説明する。
【００５８】
図９は、本発明の一実施の形態における図８のステップ３３２の詳細な処理のフローチャートである。
【００５９】
全ての購買m=1,…,Mについて、ステップ３３２１とステップ３３２２を行う。
【００６０】
ステップ３３２１）推薦リスト作成部３０が、該購買のトピックzmの各トピック候補k=1,…,Zへアサインされるサンプリング確率を式（４）により算出する。
【００６１】
【数７】
2014074961.tif 000009
ステップ３３２２）推薦リスト作成部３０が、ステップ３３２１にて算出した該購買のトピックzmの各トピック候補k=1,…,Zへアサインされるサンプリング確率に基づき、乱数を発生させて、zmを更新する。具体的には、k=2,…,Zについて、式（５）に従ってサンプリング確率を更新する。
【００６２】
【数８】
2014074961.tif 000010
さらに、k=1,…,Kについて、サンプリングを式（６）のように更新する。
【００６３】
【数９】
2014074961.tif 000011
その後、最小値０、最大値１の小数の乱数を発生させてその値をサンプリング確率が上回る最小の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
とサンプリング確率を更新し、最小値０、最大値１の小数の乱数を発生させてその値をサンプリング確率が上回る最小のｋにアサインすればよい。
【００６４】
＜推薦処理時の処理＞
次に、本発明の一実施の形態における推薦処理時の処理を詳細に説明する。
【００６５】
図１０は、本発明の一実施の形態における推薦処理時の処理のフローチャートである。推薦処理は、例えば通信部６０、ネットワーク３を通じて外部端末２から本商品推薦装置１に推薦実行のリクエストが入力された場合に実行するようにすればよい。このときのリクエストの引数は推薦対象のユーザＩＤである。今、ユーザuに関する推薦のリクエストがあったとする。
【００６６】
ステップ４１０）推薦処理部４０が、推薦リストテーブル５３を参照し、ユーザuに対する推薦リストを取得し、ユーザuにその内容を推薦する。
【００６７】
なお、上記の商品推薦装置の各構成要素の処理をプログラムとして構築し、商品推薦装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【００６８】
また、構築されたプログラムをハードディスクや、フレキシブルディスク、ＣＤ−ＲＯＭ等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。
【００６９】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【符号の説明】
【００７０】
１  商品推薦装置
２  外部端末
３  ネットワーク
４  外部装置
１０  購買情報処理部
２０  代表アイテム決定部
３０  推薦リスト作成部
４０  推薦処理部
５０  記憶部
５１  購買情報テーブル
５２  代表アイテムテーブル
５３  推薦リストテーブル
６０  通信部
７０  入出力部
【図１】
2014074961.tif 000012
【図２】
2014074961.tif 000013
【図３】
2014074961.tif 000014
【図４】
2014074961.tif 000015
【図５】
2014074961.tif 000016
【図６】
2014074961.tif 000017
【図７】
2014074961.tif 000018
【図８】
2014074961.tif 000019
【図９】
2014074961.tif 000020
【図１０】
2014074961.tif 000021