【実施例】
【0022】
図1は、本発明の一実施例としてのアイテムリコメンドシステム20の概略を示す概略構成図である。実施例のアイテムリコメンドシステム20は、図示するように、EC(electronic commerce)サイト10やユーザ端末12と接続可能に構成されており、アイテム情報取得部22と、アイテム特徴量ベクトル計算部24と、予測スコア計算部26と、パラメータ最適値計算部28と、Webサーバ30と、アイテム情報テーブル32と、アイテム特徴量ベクトルテーブル34と、予測スコアテーブル36と、実スコアテーブル38と、ユーザ情報テーブル40と、を備える。アイテム情報取得部22やアイテム特徴量ベクトル計算部24,予測スコア計算部26,パラメータ最適値計算部28,Webサーバ30は、複数のコンピュータにより構成してもよいし、単一のコンピュータにより構成してもよい。アイテム情報テーブル32やアイテム特徴量ベクトルテーブル34,予測スコアテーブル36,実スコアテーブル38,ユーザ情報テーブル40は、複数の記憶装置により構成してもよいし、単一の記憶装置により構成してもよい。
【0023】
アイテム情報取得部22は、ECサイト10から新規のアイテム情報を取得し、取得したアイテム情報をアイテム識別子に関連つけてアイテム情報テーブル32に保存する。アイテム情報としては、以下のものを挙げることができる。
(a) アイテム名(〇〇Tシャツ,△△パンツ,□□スーツ等)
(b) EC サイトのショップ名(〇〇ストア,〇〇Web 等)
(c) ブランド名
(d) アイテム画像URL(Uniform Resource Locator)
(e) カテゴリ(トップス,アウター,スーツ等)
(f) 性別(メンズ,ウィメンズ等)
(g) 定価
(h) 実売価格
(i) 実売価格の割引率(30%オフ等)
(j) 展開されているサイズ(S,M,L,LL等)
(k) 素材の情報
(l) 原産国
(m) 紹介文
【0024】
アイテム特徴量ベクトル計算部24は、アイテム情報テーブル32からアイテム特徴量ベクトルが計算されていないアイテム情報をアイテム識別子を用いて取り出し、取り出したアイテム情報に基づいてアイテム特徴量ベクトルを計算する。そして、計算したアイテム特徴量ベクトルをアイテム識別子に関連つけてアイテム特徴量ベクトルテーブル34に保存する。アイテム特徴量ベクトルとしては、実施例では以下の成分を有するものとした。
(a) アイテム画像に含まれる代表色情報(代表色ベクトル)とその占有率
(b) ブランド座標
(c) カテゴリ座標
(d) 同一カテゴリ内での実売価格の偏差値
(e) 実売価格の割引率
【0025】
(a)アイテム画像に含まれる代表色情報(代表色ベクトル)は、例えば、以下のように計算することができる。まず、アイテム情報に含まれるアイテム画像URLを用いてアイテム画像をダウンロードし、アイテムのカテゴリに対応した切り抜きパラメータにしたがって、ダウンロードしたアイテム画像の一部分を切り抜く。切り抜きパラメータの一例を
図2に示す。
図3にカテゴリがアウターの場合の切り抜きパラメータによるアイテム画像中の切り抜き領域の一例を示す。
図3中、幅が(Width=100)、高さが(height=100)で示された矩形領域がアイテム画像であり、このアイテム画像中に幅が(100×0.25=25)、高さが(100×0.25×1.0=25)で示された矩形領域が切り抜き領域である。
図2中、「w#offset」は切り抜き領域の中心のアイテム画像における左側からの位置を意味している。アウターの場合、「0.6」であるから、アイテム画像の左側からアイテム画像の幅に「0.6」を乗じた位置(Width×0.6)となる。
図2中、「h#offset」は切り抜き領域の中心のアイテム画像における上側からの位置を意味している。アウターの場合、「0.47」であるから、アイテム画像の左側からアイテム画像の幅に「0.47」を乗じた位置(height×0.47)となる。
図2中、「h#ratio」は切り抜き領域の高さのアイテム画像の高さに対する比を意味している。アウターの場合、「0.25」であるから、アイテム画像の高さ(height=100)に「0.25」を乗じた値(height×0.25)となる。
図2中、「w#h#ratio」は切り抜き領域の幅の切り抜き領域の高さに対する比を意味している。アウターの場合、「1.0」であるから、切り抜き領域の高さ(height×0.25)に「1.0」を乗じた値(height×0.25×1.0)となる。切り抜きパラメータは、初期値として予め定められた値、例えばカテゴリー毎に画像の特徴をよく表わしている部分であると想定される領域として予め設定した値を用い、実施例では、その後にパラメータ最適値計算部28により計算された値に更新するものとした。
【0026】
次に、切り抜き領域の画像の各画素の色情報をLab色空間(CIE Lab表色系)に変換し、切り抜き領域の左上の画素から順にi番目の画素のL値がL、a値がa、b値がbとしたときにi番目の画素の色情報x
i=(L,a,b)としてメモリに保存する。そして、色情報x
i(i=1,…,画素数)をニューラルガス(NG)に入力し、色情報x
i(i=1,…,画素数)の分布を最もうまく代表するk個の代表色ベクトルy
1,y
2,…,y
kを算出する。ここで、「k」は予め設定しておくパラメータである。実施例ではk=4として代表色を4色とした。また、 ニューラルガスは、多数の入力ベクトルの集合を比較的少ないユニット(参照ベクトル)で近似するベクトル量子化に用いられるネットワークであり、自己組織化マップ(SOM)と同様に教師なし学習によって自己組織的にベクトル量子化を行なう。ニューラルガスは、入力ベクトルが与えられると入力ベクトルに最も近い参照ベクトルを持つユニットを勝者ユニットとするから、実施例では、この勝者ユニットとして代表色ベクトルy
1,y
2,…,y
kを算出するものとした。なお、実施例ではニューラルガスを用いたが、k-means法などのベクトル量子化を実現する他の方法を用いるものとしてもよい。
【0027】
代表色の占有率は、色情報x
i(i=1,…,画素数)と代表色ベクトルy
1,y
2,…,y
kを用いて算出する。具体的には、i番目の画素の色情報x
iと代表色ベクトルy
1,y
2,…,y
kとの差を計算し、この差が最も小さい代表色ベクトルをi番目の画素の色情報x
iの支配ベクトルとし、各代表色ベクトルが支配ベクトルとなった画素数の全画素数に対する割合として占有率を算出する。例えば、3×3の画素で色ベクトルの成分が1つの場合を考える。
図4は、3×3の画素で色ベクトルの成分が1つで代表色ベクトルy
1=0.2,y
2=0.4,y
3=0.6,y
4=0.8の場合の支配ベクトルの決定の様子の一例を示す説明図である。図中、上段左の画素では色ベクトルが「0.8」であるから、代表色ベクトルy
1,y
2,y
3,y
4との差は、0.6,0.4,0.2,0となり、差の最も小さい代表色ベクトルy
4が支配ベクトルとなる。上段中の画素では色ベクトルが「0.6」であるから、代表色ベクトルy
1,y
2,y
3,y
4との差は、0.4,0.2,0,0.2となり、差の最も小さい代表色ベクトルy
3が支配ベクトルとなる。以下、同様に支配ベクトルを決定することができる。代表色ベクトルy
1,y
2,y
3,y
4の各占有率は、全画素数に対する代表色ベクトルが支配ベクトルの画素数の割合であるから、3/9,2/9,2/9,2/9として算出することができる。
【0028】
(b) ブランド座標は、以下のように算出することができる。まず、ブランド間の相性などを距離として設定する。例えば、ブランド1〜4に対して
図5に示すようにブランド間の距離を設定する。この距離の設定は感覚的なものであるため、人によって予め定められる。
図5の例では、ブランド間の最大距離を「1.0」として示している。この例では、ブランド1とブランド2との距離が0.21であり、ブランド1とブランド3との距離が0.45であり、ブランド1とブランド4との距離が0.53であるから、ブランド1に対する相性の良さはブランド2,ブランド3,ブランド4の順となる。そして、ブランド間の距離をN次元空間内でもっともうまく説明できる座標を同定する。座標を同定するための最適化問題は、次式(1)により定式化される。この問題を最適化手法(例えば、粒子群最適化法 (Particle Swarm Optimization) や差分進化法 (Differential Evolution) 等)を用いて解くことで、N次元空間でのブランド座標を決定する。
【0029】
【数1】
【0030】
つぎに、上述のブランド座標同定作業を次元数Nを変更しながら繰り返し行ない、ブランド座標を表現するための最適な空間次元を決定する。即ち、次式(2)の最適化問題を解いてブランド座標を決定する。
【0031】
(c) カテゴリ座標は、上述のブランド座標同定作業とほぼ同様に行う。即ち、式(1)のpをカテゴリ番号、xpをp番目のカテゴリのN次元空間上の座標、Dpqをカテゴリp、q間の距離として、式(2)の最適化問題を解いてカテゴリ座標を決定する。
【0032】
【数2】
【0033】
(d) 同一カテゴリ内での実売価格の偏差値は、解析対象アイテムの実売価格が同じカテゴリ内のアイテムと比較して、どの程度の位置(高価格帯,中価格帯,低価格帯)にあるかを偏差値 (T-Score) を用いて表現するために用いる。まず、アイテム情報テーブルから、対象とするカテゴリに属する全アイテム(アイテム数をNとする)の実売価格情報を取得する。取得した価格情報のうちi番目のアイテムの価格をx
iとしてX={x
1,x
2,…,x
N}とする。このとき、対象とするアイテムの実売価格をxとすると、その偏差値T(x)は次式(3)により計算される。
【0034】
【数3】
【0035】
Webサーバ30は、アイテム情報テーブル32からアイテム情報を取り出してユーザ端末12に提示する提示部として機能する。また、Webサーバ30は、ユーザ端末12に提示されたアイテム画像等のアイテム情報に基づいてアイテムに対してユーザが入力した多段階の評価値としてのスコアを取得すると共に、取得したスコアをアイテム識別子とユーザ識別子とに関連つけて実スコアテーブル38に保存する実スコア取得部としても機能する。
図6は、ユーザ端末12にアイテム画像を提示する提示画面の一例を示す説明図である。
図6の例では、中央にアイテム画像が表示される。また、アイテム画像の左上にカテゴリ(「パンツ」)が表示され、アイテム画像の下に性別(「MEN'S」)が表示される。アイテム画像の左側にはハートマークが破れた「DISLIKE」のボタンが表示され、アイテム画像の右側にはハートマークの「LIKE」のボタンが表示される。アイテム画像の下には、この提示画面に提示されていないアイテム情報を表示するための「More」ボタンが設けられている。スコアは、実施例では、提示画面に提示されていないアイテム情報を表示することなく「LIKE」のボタンを押したときにはユーザの嗜好として最も好ましいと判断して「4」、提示画面に提示されていないアイテム情報を表示することなく「DISLIKE」のボタンを押したときにはユーザの嗜好として最も好ましくない(嫌い)と判断して「1」、提示画面に提示されていないアイテム情報を表示した後に「LIKE」のボタンを押したときにはユーザは迷いを感じながらも好ましいと判断して「3」、提示画面に提示されていないアイテム情報を表示した後に「DISLIKE」のボタンを押したときにはユーザは迷いを感じながらも好ましくない(嫌い)と判断した「2」、の4段階の評価値を用いた。このように多段階の評価値とすることにより、ユーザの嗜好をより適正に反映することができる。Webサーバ30は、ユーザ端末12に提示するアイテム情報としては、アイテム情報テーブル32のアイテム情報のうちそれまでに提示していないアイテム情報であって、後述する予測スコアが最も高いアイテム情報から順に「LIKE」のボタン又は「DISLIKE」のボタンが操作される毎に提示される。ユーザ端末12に提示したか否かの判定は、実スコアテーブル38にユーザ識別子とアイテム識別子とに関連つけてスコアが保存されているか否かにより行なうことができる。なお、Webサーバ30は、ユーザ端末12から取得したユーザ情報をユーザ識別子に関連つけてユーザ情報テーブルに登録するユーザ登録部としての機能も有する。
【0036】
予測スコア計算部26は、ユーザ毎に、実スコアテーブル38のスコアとこのスコアに対応するアイテム特徴量ベクトルテーブル34におけるアイテム特徴量ベクトルとに基づいて、アイテム特徴量ベクトルの入力に対してスコアを計算する近似関数を導出する。具体的には、まず、対象ユーザに対して、ユーザ識別子をキーとして実スコアテーブル38からスコアとアイテム識別子とを1組とする情報をランダムに予め設定した数(例えば100件など)だけ取得する。情報をランダムに取得するのは、ランダムに取得した情報に基づいて予測スコアの計算を行なうと、スコア計算の度に異なる結果が得られ、リコメンドする際の多様性や意外性を担保することができるからである。続いて、取得した情報のアイテム識別子をキーとして、アイテム特徴量ベクトルテーブル34からアイテム特徴量ベクトルを取得し、アイテムpのアイテム特徴量ベクトルx
pとアイテムpのスコアs
pとに基づいて訓練データ(x
p,s
p),p=1,…,Pを次式(4)のように準備する。
【0037】
【数4】
【0038】
次に、訓練データの(x
p,s
p),p=1,…,Pのすべてのアイテム特徴量ベクトルx
pの入力に対してスコアs
pが出力されるように、即ちすべてのアイテムpに対して次式(5)となるように、機械学習法を用いて近似関数Fを構築する。ここで、近似関数Fの構築(これを学習とも称する。)とは、関数構造Fおよびそのパラメータを決定することを意味する。機械学習法としては、ニューラルネットワークを始めとしてさまざまな方法を適用することができるが、実施例では、ラジアル基底関数ネットワークを用いた。ラジアル基底関数ネットワークを用いるのは、行列演算を1度行なうだけで高速に学習を行なうことができ、連続関数近似を得意としているため、実施例で想定している数万ユーザ数の予測スコア計算に向いているからである。
【0039】
【数5】
【0040】
ラジアル基底関数ネットワークでは、複数のガウス関数の重ね合わせで近似関数Fを構成する。ラジアル基底関数の近似関数Fは次式(6)として構成される。
【0041】
【数6】
【0042】
ラジアル基底関数ネットワークの学習では、xの成分数をNとして、パラメータw,r,v
1,…v
Mを次式(7)〜(10)のように算出することができる。ここで、「λ」は予め設定しておく定数であり、「I」はP×Pの単位行列である。
【0043】
【数7】
【0044】
実施例では、構築した近似関数Fを用いて、全アイテムを評価する方法またはクラスタ上の代表点を評価する方法のいずれかの方法を用いて、アイテムの予測スコアを算出し、その結果を予測スコアテーブル36に保存する。
【0045】
全アイテムを評価する方法では、まず、アイテム特徴量ベクトルテーブル34の全アイテムに対するアイテム特徴量ベクトルを順次取得し、取得したアイテム特徴量ベクトルを近似関数Fに入力して全アイテムに対する予測スコアを算出する。i番目のアイテムのアイテム特徴量ベクトルをxiとすると、i番目のアイテムの予測スコアsiは、次式(11)として算出することができる。こうして算出した予測スコアを大きい順に並び替え、スコアが大きい予測スコアから予め定めた設定数(例えば1000件など)だけ予測スコアにアイテム識別子とユーザ識別子とに関連つけて予測スコアテーブル36に保存する。
【0046】
【数8】
【0047】
クラスタ上の代表点を評価する方法では、まず、事前にアイテム特徴量ベクトルを特徴量として、公知のベクトル量子化器を用いて予測対象アイテムをクラスタリングし、各クラスタの代表ベクトルを保存しておく。次に、各クラスタの代表ベクトルを近似関数Fに入力して、各クラスタの代表ベクトルの予測スコアを算出する。i番目のクラスタの代表ベクトルをxiとすると、i番目のクラスタの代表ベクトルの予測スコアsiは、上述の式(11)として算出することができる。すべてのクラスタの代表ベクトルの予測スコアを算出すると、代表ベクトルの予測スコアが大きい順にクラスタを並び替え、1番目のクラスタに含まれるアイテムでスコアリングが行われていないアイテムについて、上述の式(11)を用いて予測スコアを算出し、そのスコアが大きい順に予測スコアをアイテム識別子とユーザ識別子とに関連つけて予測スコアテーブル36に保存する。1番目のクラスタに含まれるアイテムの評価が終了したら、2番目のクラスタに移行し、これを順次繰り返す。この操作の過程で設定数(例えば1000件)まで予測スコアテーブル36に保存した時点で処理を終了する。
【0048】
予測スコア計算部26は、上述したように、ユーザ毎にそのユーザの実スコアに基づいて近似関数Fを導出するが、ユーザが指定した実スコアに基づいて近似関数Fを導出するものとしてもよい。例えば、ユーザが、自分自身と他のユーザ(例えば、雑誌モデルなど)を指定したときには、ユーザの実スコアと指定した他のユーザ(以下、「お気に入りユーザ」と称する。)の実スコアとに基づいて近似関数Fを導出する。具体的には、実スコアテーブル38からユーザのスコアを件数P1だけランダムに取得すると共にお気に入りユーザのスコアを件数P2だけランダムに取得する。そして、取得した全件数P(=P1+P2)のスコアを用いて上述した手法により近似関数Fを導出する。ここで、件数P1,P2は、予め設定したものとしてもよいし、ユーザが設定するものとしてもよい。ユーザが設定する場合、件数P1,P2はユーザとお気に入りユーザとに対する嗜好の重みを設定するものと解することができる。このように、ユーザとユーザが指定した他のユーザのスコアに基づいて近似関数Fを導出することにより、ユーザの嗜好だけでなく、ユーザの嗜好と指定した他のユーザの嗜好とを融合した嗜好に沿った予測スコアを計算することができる。
【0049】
上述したように、Webサーバ30は、ユーザ端末12から実施例のアイテムリコメンドシステムへのアクセスを受けると、アイテム情報の提示のリクエストと判断し、ユーザ識別子をキーとして予測スコアテーブル36の予測スコアのアイテム情報のうち、それまでに提示していないアイテム情報であって予測スコアが最も高いアイテム情報をユーザ端末12に提示する。予測スコア計算部26では、ユーザの嗜好に沿った予測スコアを計算したり、ユーザの嗜好とユーザが指定した他のユーザの嗜好とを融合した嗜好に沿った予測スコアを計算するから、ユーザの意向に沿ったアイテム情報を提示することができる。
【0050】
パラメータ最適値計算部28は、アイテム特徴量ベクトル計算部24でアイテム特徴量ベクトルを計算するのに必要なパラメータの最適値を計算する。この計算は、まず、実スコアテーブル38の対象ユーザのスコアをランダムに所定件数P(例えば200件)だけ取得し、取得した全スコアのうち所定件数P1(例えば100件)を訓練データとし、残余の件数P2(=P−P1、例えば100件)を評価データとする。次に、訓練データを用いてアイテム特徴量ベクトルを計算するのに必要なパラメータの1つを変化させたアイテム特徴量ベクトルを訓練用ベクトルとして計算する。そして、評価データに対応するアイテム特徴量ベクトルと訓練用ベクトルとに基づいてパラメータの最適値を計算する。具体例として、以下に、アイテム画像に含まれる代表色情報を計算する際に用いられる切り抜きパラメータ「w#offset」,「h#offset」,「h#ratio」,「w#h#ratio」の最適値を計算する様子について説明する。切り抜きパラメータYを次式(12)のように表わし、式(13)に示すように機械学習機を構築する。そして、式(14)に示す最適化問題を解いて切り抜きパラメータYを決定する。この最適化問題は、種々の連続変数最適化手法(例えば、粒子群最適化法や、差分進化法など)で解くことができる。こうして得られた切り抜きパラメータYは、アイテム特徴量ベクトル計算部24に送られて用いられる。
【0051】
【数9】
【数10】
【数11】
【0052】
以上説明した実施例のアイテムリコメンドシステムでは、ユーザ毎に実スコアテーブル38のスコアと対応するアイテム特徴量ベクトルとに基づいて近似関数Fを導出し、導出した近似関数Fを適用して全アイテム情報に対して予測スコアを計算し、ユーザ端末12に対してそれまでに表示されていないアイテム情報のうち最も高い予測スコアのアイテム情報を提示する。このため、ユーザの嗜好により適合したアイテムをリコメンドすることができる。
【0053】
また、実施例のアイテムリコメンドシステムでは、実スコアテーブル38のスコアのうちユーザのスコアを用いて近似関数Fを導出したり、ユーザのスコアとユーザが指定した他のユーザのスコアとを用いて近似関数Fを導出したりすることができるから、ユーザは、自分の嗜好だけでなく、指定した他のユーザの嗜好に沿ったアイテムをリコメンドすることができる。
【0054】
実施例のアイテムリコメンドシステムでは、アイテム画像に対してアイテムのカテゴリ毎の所定領域の各画素の色情報におけるLab色空間の座標の分布に基づいてアイテム画像に含まれる代表色情報(代表色ベクトル)を計算し、これをアイテム特徴量ベクトルの成分とする。これにより、ユーザの色に対する嗜好をより反映したアイテムをリコメンドすることができる。
【0055】
実施例のアイテムリコメンドシステムでは、予め定めた各ブランド間の距離に基づいて同定されるN次元空間の座標としてブランド座標とカテゴリ座標とを計算し、これをアイテム特徴量ベクトルの成分とする。これにより、ユーザのブランドやカテゴリに対する嗜好をより反映した予測スコアを計算することができ、ユーザのブランドやカテゴリに対する嗜好をより反映したアイテムをリコメンドすることができる。
【0056】
実施例のアイテムリコメンドシステムでは、アイテム特徴量ベクトル計算部24でアイテム特徴量ベクトルを計算するのに必要なパラメータの最適値を計算し、計算したパラメータを用いてアイテム特徴量ベクトルを計算する。これにより、アイテム特徴量ベクトルを計算するのに必要なパラメータをより適正なものとすることができる。しかも、パラメータの最適値の計算において、アイテム特徴量ベクトルのうちパラメータにより影響を受ける成分と影響を受けない成分とを用いて最適化問題を解くから、より容易に且つ適正にパラメータの最適値を計算するものとすることもできる。
【0057】
実施例のアイテムリコメンドシステムでは、アイテム情報テーブル32のアイテム情報のうちそれまでに提示していないアイテム情報であって、予測スコアが最も高いアイテムをユーザ端末12に提示し、「LIKE」のボタン又は「DISLIKE」のボタンが操作される毎に次に予測スコアの高いアイテムをユーザ端末12に提示するものとした。しかし、予測スコアが最も高いアイテムから順に所定数(例えば、5つ)をユーザ端末12に一覧で提示するものとしてもよい。この場合、「LIKE」のボタンや「DISLIKE」のボタンなどの評価値を設定するためのボタンを各アイテムの左右の両方或いは一方に配置すればよい。
【0058】
実施例のアイテムリコメンドシステムでは、提示画面に提示されていないアイテム情報を表示することなく「LIKE」のボタンを押したときの「4」、提示画面に提示されていないアイテム情報を表示することなく「DISLIKE」のボタンを押したときの「1」、提示画面に提示されていないアイテム情報を表示した後に「LIKE」のボタンを押したときの「3」、提示画面に提示されていないアイテム情報を表示した後に「DISLIKE」のボタンを押したときの「2」、の1〜4の4段階の評価値としてスコアを取得するものとした。しかし、提示画面に提示されていないアイテム情報を表示した後の評価値としてはアイテム情報の提示の程度に応じた段階的な評価値としてもよい。例えば、アイテム情報の提示画面が最初のアイテム画像の提示画面を含めて3つある場合、最初のアイテム画像の提示画面の表示だけで「LIKE」「DISLIKE」のボタンを操作したときの「6」「1」、最初のアイテム画像の提示画面と次のアイテム情報の提示画面の2つの提示画面の表示に対して「LIKE」「DISLIKE」のボタンを操作したときの「5」「2」、3つの提示画面のすべての表示に対して「LIKE」「DISLIKE」のボタンを操作したときの「4」「3」の6段階としてもよい。また、アイテム画像の提示画面の提示を開始してから「LIKE」「DISLIKE」のボタンを操作するまでの時間に応じた段階的な数値を評価値としてもよい。例えば、アイテム画像の提示画面の提示を開始してから「LIKE」「DISLIKE」のボタンを操作するまでの時間が3秒以内のときの「4」「1」、3秒を超える時間を要したときの「3」「2」の4段階としてもよい。更に、アイテム情報の提示の程度とアイテム画像の提示画面の提示を開始してから「LIKE」「DISLIKE」のボタンを操作するまでの時間に基づいて多段階の評価値としてもよい。これらの評価値をスコアとして用いれば、ユーザの嗜好をより適切に反映した予測スコアを設定することができ、ユーザの嗜好により適正なアイテムをリコメンドすることができる。
【0059】
実施例のアイテムリコメンドシステムでは、アイテム情報として、アイテム名,EC サイトのショップ名,ブランド名,アイテム画像URL,カテゴリ,性別,定価,実売価格,実売価格の割引率,展開されているサイズ,素材の情報,原産国,紹介文などとしたが、アイテム情報はこれらに限定されるものではなく、これらの一部としてもよいし、他の情報を含めるものとしてもよい。基本的にアイテム情報に含まれる情報として好ましい情報としては、アイテム名,EC サイトのショップ名,ブランド名,アイテム画像URL,カテゴリ,性別などを挙げることができる。
【0060】
実施例のアイテムリコメンドシステムでは、アイテム特徴量ベクトルの成分として、アイテム画像に含まれる代表色情報とその占有率,ブランド座標,カテゴリ座標,同一カテゴリ内での実売価格の偏差値,実売価格の割引率を有するものとした。しかし、アイテム特徴量ベクトルの成分としては、これらに限定されるものではなく、これらの一部としてもよいし、他の成分を含めるものとしてもよい。基本的にアイテム特徴量ベクトルの成分として含まれるのが好ましい成分としては、アイテム画像に含まれる代表色情報,ブランド座標,カテゴリ座標などを挙げることができる。
【0061】
実施例のアイテムリコメンドシステムでは、単一ユーザのスコアリング結果あるいは複数ユーザのスコアリング結果から、訓練データをランダムに予め設定した数だけ取得する方法を用いるものとした。さらに、単一ユーザのスコアリング結果のクラスタを利用する場合や、複数ユーザのスコアリング結果のクラスタを利用する場合を挙げることができる。これらについて以下に簡単に説明する。
【0062】
単一ユーザのスコアリング結果のクラスタを利用する場合では、まず、実スコアテーブル38から予測対象ユーザのスコアリング結果のすべて(全スコア)を取得する。次に、全スコアを公知のベクトル量子化器を用いてアイテム特徴量ベクトルを特徴量として、スコアリングされたアイテムをスコア毎にクラスタリングし、各クラスタの代表ベクトルを算出する。算出された代表ベクトルとスコアの情報を用いてデータセットを次式(15)のように生成する。これらをまとめてP=P1+P2+P3+P4個の訓練データとし、上述した方法を適用して、予測対象ユーザの予測スコアを算出する。
【0063】
【数12】
【0064】
複数ユーザのスコアリング結果のクラスタを利用する場合では、まず、ユーザ情報テーブルから予測対象ユーザのお気に入りユーザのユーザ識別子を取得する。次に、実スコアテーブル38から予測対象ユーザのスコアリング結果のすべて(全スコア)とお気に入りユーザのスコアリング結果のすべて(全スコア)を取得する。これらを用いて、上述の単一ユーザのスコアリング結果のクラスタを利用する場合と同様にして、対象ユーザの予測スコアを算出する。
【0065】
実施例のアイテムリコメンドシステムは、アイテム情報取得部22やアイテム特徴量ベクトル計算部24,予測スコア計算部26,パラメータ最適値計算部28の他に、アイテム特徴量の一部が変更された場合に、対象アイテムに対する予測スコアがどのように変化するかを計算するスコア変動計算部を備えるものとしてもよい。スコア変動計算部は、対象アイテムのアイテム情報に対してアイテム特徴量ベクトルを計算し、対象ユーザに対する近似関数Fを用いて予測スコアを計算して第1スコアとする。次に対象アイテムのアイテム情報のアイテム特徴量(例えば価格など)の一部を変更した情報に対してアイテム特徴量ベクトルを計算し、対象ユーザに対する近似関数Fを用いて予測スコアを計算して第2スコアとする。これを全ユーザまたは指定したユーザに対して行ない、第1スコアと第2スコアとを出力する。こうすれば、アイテム特徴量の変動に対して予測スコアの変化を容易に見いだすことができる。この場合、対象アイテムのアイテム情報のアイテム特徴量の一部を順次変更して複数の予測スコアを計算し、計算した複数の予測スコアのうち最も高い予測スコアを含む所定数の予測スコアを第2スコアとし、この第2スコアとアイテム特徴量とを出力するものとしてもよい。こうすれば、最も高い予測スコアに対するアイテム特徴量を容易に見いだすことができる。
【0066】
以上、本発明を実施するための形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。