(57)【特許請求の範囲】
【請求項１】
電子商取引サービスの各ユーザによる各商品の購買履歴に基づいて、各ユーザの各商品を購買する確率である推薦項を算出する推薦項算出手段と、
前記購買履歴に基づいて、各商品が購買される確率である人気度項を算出する人気度項算出手段と、
前記購買履歴に基づいて、いずれかのユーザによって購入された商品群のうちの２つの商品のペアごとに、一方の商品は購買したことのあるユーザの中で他方の商品は購買したことのないユーザの割合である非類似度項を算出する非類似度項算出手段と、
前記購買履歴に基づいて、いずれかのユーザによって購入された商品群のうちの２つの商品のペアごとに、一方の商品を購買したことのないユーザの中で他方の商品も購買したことのないユーザの割合である類似度項を算出する類似度項算出手段と、
前記人気度項と、前記非類似度項と、前記類似度項とに基づいて、商品ごとに、前記人気度項が当該商品よりも上位の各商品が購買されない場合に当該商品が購買される確率である多様化項を算出する多様化項算出手段と、
前記電子商取引サービスにおいて、どのユーザに、どのような商品集合を推薦リストとし、該推薦リスト中のどの商品の詳細情報が閲覧されたか、あるいはいずれの商品の詳細情報も閲覧されなかったかに関する推薦履歴を取得する推薦履歴取得手段と、
前記推薦項と、前記多様化項と、前記推薦履歴とを用いて、推薦リスト作成時における推薦スコア計算時の推薦項に対する多様化項の重みである多様化パラメータを算出する多様化パラメータ算出手段と、
前記購買履歴と、前記推薦項と、前記多様化項と、前記推薦履歴と、前記多様化パラメータとを用いて、推薦リストを作成する推薦リスト作成手段と、
を有することを特徴とする商品多様化推薦装置。
【請求項２】
コンピュータが、
電子商取引サービスの各ユーザによる各商品の購買履歴に基づいて、各ユーザの各商品を購買する確率である推薦項を算出する推薦項算出手順と、
前記購買履歴に基づいて、各商品が購買される確率である人気度項を算出する人気度項算出手順と、
前記購買履歴に基づいて、いずれかのユーザによって購入された商品群のうちの２つの商品のペアごとに、一方の商品は購買したことのあるユーザの中で他方の商品は購買したことのないユーザの割合である非類似度項を算出する非類似度項算出手順と、
前記購買履歴に基づいて、いずれかのユーザによって購入された商品群のうちの２つの商品のペアごとに、一方の商品を購買したことのないユーザの中で他方の商品も購買したことのないユーザの割合である類似度項を算出する類似度項算出手順と、
前記人気度項と、前記非類似度項と、前記類似度項とに基づいて、商品ごとに、前記人気度項が当該商品よりも上位の各商品が購買されない場合に当該商品が購買される確率である多様化項を算出する多様化項算出手順と、
前記電子商取引サービスにおいて、どのユーザに、どのような商品集合を推薦リストとし、該推薦リスト中のどの商品の詳細情報が閲覧されたか、あるいはいずれの商品の詳細情報も閲覧されなかったかに関する推薦履歴を取得する推薦履歴取得手順と、
前記推薦項と、前記多様化項と、前記推薦履歴とを用いて、推薦リスト作成時における推薦スコア計算時の推薦項に対する多様化項の重みである多様化パラメータを算出する多様化パラメータ算出手順と、
前記購買履歴と、前記推薦項と、前記多様化項と、前記推薦履歴と、前記多様化パラメータとを用いて、推薦リストを作成する推薦リスト作成手順と、
を実行することを特徴とする商品多様化推薦方法。
【請求項３】
コンピュータに、
請求項２に記載の商品多様化推薦方法を実行させるための商品多様化推薦プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、商品推薦装置及び方法及びプログラムに係り、特に、E-Commerce(電子商取引)サービスで提供されるユーザの商品購買における、商品推薦装置及び方法及びプログラムに関する。
【背景技術】
【０００２】
情報推薦の手法はいくつも提案されている。例えば、ニュース記事を推薦するために、各ニュース記事についてユーザに５段階の評価をつけさせ、過去の評価履歴を見てユーザ間の嗜好の類似度を測り、嗜好が似たユーザの好むニュース記事を推薦する手法が提案されている（例えば、非特許文献１参照）。
【０００３】
また、利用者に興味を持つ部分のテキストを指定させ、そこに含まれる単語の出現頻度に基づいてユーザの興味を推定し、ユーザの興味を表す単語に基づいてコミュニティ内の情報を検索し、ユーザの興味のある箇所のみの情報を提示する手法がある（例えば、特許文献１参照）。
【０００４】
ユーザの満足度を最大化するには、推薦リストの多様化が有効であるとされている。例えば、映画を推薦する場合、たとえSF好きのユーザであってもSFばかりを推薦するよりは、SFやホラー、アクションを混ぜて推薦する方がユーザの満足度が高くなることが知られている（例えば、非特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−３３８８６９号公報
【非特許文献】
【０００６】
【非特許文献１】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.
【非特許文献２】Ziegler C.N. et al, `` Improving recommendation lists through topic diversification,'' Proceedings of the 14th International Conference on World Wide Web, ACM Press New York, 2005
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一般にE-Commerceサービスの扱う商品は幅広く、こういった中でユーザが本当に興味のある商品を見つけるのは困難である。
【０００８】
上記の特許文献１の手法を用いて商品を推薦する場合、ユーザが指定した興味のある語に関連する商品が推薦される。この場合、語を指定しなければならないという問題がある。このようにユーザのインタラクションを必要とするシステムは、ユーザにとっては不便である。
【０００９】
非特許文献１に記載の手法で商品を推薦する場合、ユーザの嗜好を推定し、それに紐付く商品を推薦するので、類似した商品ばかりが推薦され、ユーザの満足度が低下する。しかも、推薦される商品がユーザにとって既知である可能性が高いため、推薦しても新たな購買に結びつきづらい。
【００１０】
また、非特許文献２に記載の手法で商品を推薦すれば、ユーザの満足度は向上するが、推薦リストをどの程度多様化するかというパラメータは人手で設定する必要があり、ユーザの満足度を最大化するようなパラメータを発見するのは困難である。
【００１１】
本発明は上記の点に鑑みなされたもので、E-Commerceサービスにおいて、ユーザが推薦リストの中のどの商品を選択したか、あるいはいずれの商品も推薦しなかったかの情報を用いて、ユーザの満足度が最大になる推薦リスト多様化パラメータを推定することで、ユーザの満足度がきわめて高い推薦リストを提供することが可能な商品多様化推薦装置及び方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の課題を解決するため、本発明（請求項１）は、電子商取引（E-Commerce）サービスにおいて、ユーザの購買履歴、及び推薦履歴を利用する商品多様化推薦装置であって、
前記E-Commerceサービスにおける各ユーザＩＤの購買履歴を取得し、購買履歴記憶手段に格納する購買履歴取得手段と、
取得した前記購買履歴を用いて、各ユーザの各商品を購買する確率である推薦項を算出し、推薦項記憶手段に格納する推薦項算出手段と、
取得した前記購買履歴を用いて、ある商品集合を購買したことのないユーザの中で、ある商品については購買したことのあるユーザの割合である多様化項を算出する多様化項算出手段と、
前記E-Commerceサービスにおいて、どのユーザに、どのような商品集合を推薦リストとし、該推薦リスト中のどの商品の詳細情報が閲覧されたか、あるいはいずれの商品の詳細情報も閲覧されなかったかに関する推薦履歴を取得し、推薦履歴記憶手段に格納する推薦履歴取得手段と、
算出した前記推薦項と、算出した前記多様化項と、取得した前記推薦履歴とを用いて、推薦リスト作成時における推薦スコア計算時の推薦項に対する多様化項の重みである多様化パラメータを算出し、多様化パラメータ記憶手段に格納する多様化パラメータ算出手段と、
取得した前記購買履歴と、算出した前記推薦項と、算出した前記多様化項と、取得した前記推薦履歴と、算出した前記多様化パラメータとを用いて、推薦リストを作成する推薦リスト作成手段と、を有する。
【００１３】
また、本発明（請求項２）は、前記多様化項算出手段において、
前記購買履歴取得手段により取得した前記購買履歴を用いて、各商品が購買される確率である人気度項を算出し、人気度項記憶手段に格納する人気度項算出手段と、
取得した前記購買履歴を用いて、各２商品のペアについて、一方の商品は購買したことのあるユーザの中でもう一方の商品は購買したことのないユーザの割合である非類似度項を算出し、非類似度項記憶手段に格納する非類似度項算出手段と、
取得した前記購買履歴を用いて、各２商品のペアについて、一方の商品を購買したことのないユーザの中でもう一方の商品も購買したことのないユーザの割合である類似度項を算出し、類似度項記憶手段に格納する類似度項算出手段と、
算出した前記人気度項と、算出した前記非類似度項と、算出した前記類似度項とを用いて多様化項を算出する手段と、を含む。
【発明の効果】
【００１４】
本発明は、推薦履歴（どのユーザがログインしていた（あるいはしている）のか、どのような商品が推薦されたか、どの商品がクリックされたのかあるいはいずれの商品もクリックされなかったのかに関する履歴データ）を用いて多様化パラメータを最適化することにより、従来の推薦技術よりユーザの満足度、すなわち推薦リスト中の商品のどれか１つでも購買される確率が高い。
【図面の簡単な説明】
【００１５】
【図１】推薦リスト掲載ページの例である。
【図２】本発明の一実施の形態における商品情報推薦装置の構成図である。
【図３】本発明の一実施の形態における購買履歴テーブルの例である。
【図４】本発明の一実施の形態における推薦項テーブルの例である。
【図５】本発明の一実施の形態における人気度項テーブルの例である。
【図６】本発明の一実施の形態における非類似度項テーブルの例である。
【図７】本発明の一実施の形態における類似度項テーブルの例である。
【図８】本発明の一実施の形態における推薦履歴テーブルの例である。
【図９】本発明の一実施の形態における購買履歴処理時のフローチャートである。
【図１０】本発明の一実施の形態における推薦項算出時のフローチャートである。
【図１１】本発明の一実施の形態における図１０のステップ２３０の詳細な処理のフローチャートである。
【図１２】本発明の一実施の形態における図１１のステップ２３２の詳細な処理のフローチャートである。
【図１３】本発明の一実施の形態における多様化項算出時のフローチャートである。
【図１４】本発明の一実施の形態における図１３のステップ３２０の詳細な処理のフローチャートである。
【図１５】本発明の一実施の形態における図１３のステップ３３０の詳細な処理のフローチャートである。
【図１６】本発明の一実施の形態における図１３のステップ３４０の詳細な処理のフローチャートである。
【図１７】本発明の一実施の形態における推薦履歴処理時のフローチャートである。
【図１８】本発明の一実施の形態における多様化パラメータ推定時のフローチャートである。
【図１９】本発明の一実施の形態における推薦リスト作成時のフローチャートである。
【発明を実施するための形態】
【００１６】
以下、図面と共に本発明の実施の形態を説明する。
【００１７】
まず、本発明の概要を説明する。
【００１８】
本発明の目的は、ユーザの満足度が最大となるような多様化された推薦リストの提供である。ここで、ユーザの満足度を、「推薦リストを提示した際、そのうち１つでも購買される」確率と定義する。すなわち、従来技術のように単に該ユーザに購買される確率の高い順に商品を並べるのではなく、提供する推薦リストの長さがLであれば、そのL個の商品のうちどれか１つでも購買する確率が最大になるように推薦リストを作成する。
【００１９】
1位のものは、該ユーザの購買する確率が最も高い商品である。２位のものは、単に当該ユーザの購買する確率が２番目に高い商品ではなく、２位を選択する時点で1位のものは購買しない、好きではないという情報も利用して購買する確率を算出する。このようにすると、２位の商品は1位の商品とは異なるジャンルの中で該ユーザに最も購買される確率の高い商品となり、再帰的に適用すると、推薦リストが多様化される。
【００２０】
数式を用いて、さらに厳密に説明を行う。ユーザuに対して、L個の商品
【００２１】
【数１】
0005801257.tif 000002
を推薦するものとする。1位には、従来の協調フィルタリングと変わらず、
【００２２】
【数２】
0005801257.tif 000003
ここでylは推薦リスト中のｌ番目の商品が購買されるかどうかを表す2値の変数であり、yl=1は1番目の商品が購買される場合を、yl=0は購買されない場合を表す。すなわち該ユーザの購買する確率の最も高い商品を配置する。２位には、従来の協調フィルタリングならば該ユーザの購買する確率が1番目に高いものを配置するが、本発明では、
【００２３】
【数３】
0005801257.tif 000004
となる商品を推薦する。すなわち、1位の商品は購買しないという情報を用いる。本情報を考慮すれば、2位に配置する商品は1位に配置された商品とは異なるジャンルのものになりやすくなる。ｌ位も再帰的に以下のように決定される。
【００２４】
【数４】
0005801257.tif 000005
ここで
【００２５】
【数５】
0005801257.tif 000006
ただし
【００２６】
【数６】
0005801257.tif 000007
は空集合、
【００２７】
【数７】
0005801257.tif 000008
ただし、
【００２８】
【数８】
0005801257.tif 000009
は空集合である。
【００２９】
次に、式(3)の右辺の算出方法について説明する。右辺を直接求めるのは困難なので、ユーザuが商品ｉlを購買する確率
【００３０】
【数９】
0005801257.tif 000010
とｌ−1位までを購買しない場合に商品ｉlを購買する確率
【００３１】
【数１０】
0005801257.tif 000011
から求める。前者の確率は通常の推薦スコアであるため、推薦項と呼ぶことにし、後者の確率は推薦リストの多様化に影響を与えるため多様化項と呼ぶことにする。
【００３２】
今、式（3）の右辺を推薦項と多様化項を用いて以下のように定義する。
【００３３】
【数１１】
0005801257.tif 000012
ここでαが多様化パラメータであり、このパラメータの値が大きいほど多様化されることになる。作成した推薦リストのうち１つでも購買される確率が最大になるように、αを最適化するのが本発明のポイントである。
【００３４】
今、E-Commerceサービス上で、推薦システムを運用しているものとする。ユーザがログインし、図１に示すような推薦リストを閲覧できるページを訪れる。推薦リスト中の各商品にはその商品の詳細情報のページへのリンクが付与されている。推薦リストのページから、ユーザが別のページに移る度に、どのユーザがログインしていた（あるいはしている）のか、どのような商品が推薦されたか、どの商品がクリックされたのかあるいはいずれの商品もクリックされなかったのかに関する履歴データ（以降、推薦履歴と呼ぶことにする）が蓄積されることとする。
【００３５】
この蓄積された推薦履歴中のどの商品がクリックされたか、あるいはされなかったかの対数尤度（尤度とは、まったく同じデータが生成される確率）が最大になるように、αを決定する。いま、R個の推薦履歴が蓄積されているとする。ｒ＝（１,…,R）番目の推薦履歴において、推薦されたユーザをur、推薦された商品をｉr,l(ｌ=1,…,L)、クリックした位置をｌr∈（［1，L］、いずれもクリックされなかった場合は0)で表す。このとき、r番目の推薦履歴中のどの商品がクリックされたか、あるいはされなかったかの生成確率は、式(5)のように表すことができる。
【００３６】
【数１２】
0005801257.tif 000013
このとき、推薦履歴の対数尤度は下式のように表すことができる。
【００３７】
【数１３】
0005801257.tif 000014
前記対数尤度を最大にするは、最急降下法等の最適化手法によって求める。
【００３８】
以下、図面と共に本発明の実施形態を説明する。
【００３９】
図２は、本発明の一実施の形態における商品推薦装置の構成を示す。
【００４０】
同図に示す商品推薦装置１は、購買履歴処理部１０、推薦項算出部２０、多様化項算出部３０、推薦履歴処理部４０、多様化パラメータ推定部５０、推薦リスト作成部６０、記録部７０、通信部８０、入出力部９０から構成され、通信部８０はネットワーク３に接続されており、入出力部９０は、入力装置や表示装置の外部装置４に接続されている。外部端末２は、例えば本システムと連携するＥＣサイトのようなものにあたる。
【００４１】
記憶部７０は、購買履歴テーブル７１、推薦項テーブル７２、多様化項記録部７３、多様化パラメータ記録部７４から構成される。また、多様化項記録部７３は、人気度項テーブル７３１、非類似度項テーブル７３２、類似度項テーブル７３３から構成される。以下に各テーブルについて説明する。
【００４２】
＜購買履歴テーブル７１＞
購買情報テーブル７１には、図３に示すように、ユーザＩＤフィールド、商品ＩＤフィールドが含まれる。
【００４３】
ユーザＩＤフィールドは、該商品を購買したユーザを特定する識別子が、購買履歴処理部１０により設定される。
【００４４】
商品ＩＤフィールドは、商品情報テーブル（図示せず）に出現する商品の識別子と対応し、購買履歴処理部１０により設定される。
【００４５】
＜推薦項テーブル７２＞
推薦項テーブル７２には、図４に示すように、ユーザＩＤフィールドと、商品ＩＤフィールドと、推薦スコアフィールドとが含まれる。
【００４６】
推薦スコアフィールドは、該ユーザｕの、該商品ｉに対する推薦項（該ユーザｕが該商品ｉを購買する確率）Ｐ(y=1|u,i)が推薦項算出部２０により設定される。
【００４７】
＜人気度項テーブル７３１＞
人気度項テーブル７３１には、図５に示すように、商品ＩＤフィールドと、人気度項フィールドとが含まれる。
【００４８】
人気度項フィールドは、該商品ｉの人気度（該商品ｉが購買される確率）P(y=1|i)が多様化項算出部３０により設定される。
【００４９】
＜非類似度項テーブル７３２＞
非類似度項テーブル７３２には、図６に示すように、商品ＩＤフィールドと、上位商品ＩＤフィールドと、非類似度フィールドとが含まれる。
【００５０】
ここで非類似度とは、文字通り商品ＩＤと上位商品ＩＤとで指定される２商品の非類似度を表すが、厳密に非類似度を定義すると商品ＩＤフィールドで指定される商品は買うユーザの中で、上位商品ＩＤフィールドで指定される商品は買わないユーザの割合を指す。
【００５１】
上位商品ＩＤフィールドには、購買履歴テーブルに出現する商品の識別子と対応し、多様化項算出部３０により設定される。
【００５２】
非類似度フィールドは、該商品ｉと該上位商品ｉ'に対する非類似度（該商品ｉを購買するユーザのうち該上位商品ｉ'を購買しない確率）P(y'=0|i',y=1,i)が多様化項算出部３０により設定される。
【００５３】
＜類似度項テーブル７３３＞
類似度項テーブル７３３には、図７に示すように、商品ＩＤフィールドと、上位商品ＩＤフィールドと、類似度フィールドとが含まれる。
【００５４】
ここで類似度とは、文字通り商品ＩＤと上位商品ＩＤとで指定される２商品の類似度を表すが、厳密に類似度を定義すると商品ＩＤフィールドで指定される商品を買わないユーザの中で、やはり上位商品ＩＤフィールドで指定される商品を買わないユーザの割合を指す。
【００５５】
類似度フィールドは、該商品ｉと該上位商品ｉ'に対する類似度（該商品ｉを購買しないユーザのうち該上位商品ｉ'も購買しないユーザの割合）P(y'=0|i',y=0,i)が多様化項算出部３０により設定される。
【００５６】
＜推薦履歴テーブル７４＞
推薦履歴テーブル７４には、図８に示すように、ユーザＩＤフィールドと、クリック位置フィールドと、商品ＩＤフィールド1…Lとが含まれる。ここでLは推薦リストの長さを表し、Lの値は事前に運営者により設定される。図８では、L=3の場合を示す。なお、商品ＩＤフィールドの数は推薦リストの長さに依存する。
【００５７】
ユーザＩＤフィールドは、購買履歴テーブルに出現するユーザＩＤと対応し、どのユーザに向けて推薦リストが作成されたかが推薦履歴処理部４０により設定される。
【００５８】
クリック位置フィールドは、商品ＩＤフィールド1….Lで指定されるL個の推薦リストのうち、どの位置の商品の詳細情報ページへのリンクをクリックしたかを表し（ただし、いずれのリンクもクリックされない場合は0が設定される）、推薦履歴処理部４０により設定される。
【００５９】
商品ＩＤフィールド1….Lは、購買履歴テーブルに出現する商品ＩＤのうち、どの商品が推薦されたかを表し、推薦履歴処理部４０により設定される。
【００６０】
はじめに、本発明の一実施の形態における購買履歴処理時の処理を詳細に説明する。本実施形態では、ユーザの商品の購買の度に連携しているＥＣサイトからネットワーク３、通信部９０を経て購買履歴が商品推薦装置１に送信され、本処理が実行される。
【００６１】
図９は、本発明の一実施形態における購買履歴処理時の処理のフローチャートである。
【００６２】
ステップ１１０）購買履歴処理部１０が、購買履歴テーブル７１に、購買したユーザ、購買された商品に応じてユーザＩＤフィールド、商品ＩＤフィールドの値を設定した行を挿入する。当該処理はユーザが何らかの商品を購買する度に発生するものとする。
【００６３】
次に、本発明の一実施の形態における推薦項算出時の処理を説明する。本実施形態では、本処理はシステム管理者が、外部装置４を用いて推薦項算出の命令を商品推薦装置１に投じた際に行なうこととしているが、他にも１日おきなど自動で定期的に実行するように設定できるようにしてもよい。
【００６４】
図１０は、本発明の一実施の形態における推薦項算出時の処理のフローチャートである。
【００６５】
ステップ２１０）推薦項算出部２０が、推薦項算出のためのパラメータZ、α、βを設定する。これらパラメータは、予め与えておいた定数により設定される。ただし、Zは１以上の整数であり、α、βは０以上の小数である。
【００６６】
ステップ２２０）推薦項算出部２０が、購買情報テーブル５１を参照し、各購買のユーザ
【００６７】
【数１４】
0005801257.tif 000015
と、商品
【００６８】
【数１５】
0005801257.tif 000016
を取得する。ここでMは購買履歴の総数であり、mは各購買履歴を一意に表すIDである。
【００６９】
ステップ２３０）推薦項算出部２０が、文献「Bishop, M.C., "Pattern recognition and machine learning", 2006」記載のCollapsedギブスサンプリングを用いて各購買のトピック
【００７０】
【数１６】
0005801257.tif 000017
を推定する。
【００７１】
ステップ２４０）推薦項算出部２０が、ステップ２１０にて設定したパラメータZ、α、βと、ステップ２３０にて推定した各購買のトピックzとを用いて式(2)のように各ユーザuが各商品iを選択する確率P(i|u)を算出する。
【００７２】
【数１７】
0005801257.tif 000018
ここでMzはトピックzにアサインされた購買数、Mziはトピックzにアサインされ、かつ商品iに関する購買の数、Muzはたユーザuの購買の中でトピックzにアサインされたものの数、Muはユーザuの購買数を表す。MzとMzi、Muzはステップ２３０にて推定した各購買のトピックｚから求めることができる。なお、Ｕはユーザの総数を表す。
【００７３】
ステップ２５０）推薦項算出部２０が、各ユーザｕ、各商品ｉについて推薦項をステップ２４０で求めたP(i|u)から下式のように算出する。
【００７４】
【数１８】
0005801257.tif 000019
ここでNはアイテムの種類数、Nuはユーザuが購買したアイテムの種類数を表す。
【００７５】
ステップ２６０）推薦項算出部２０が、各ユーザｕ、各商品ｉについて推薦項テーブル７３にユーザＩＤフィールドの値がｕ、商品ＩＤフィールドの値がｉの行の推薦項をステップ２５０で求めたP(y=1|u,i)に更新する。
【００７６】
次に、上記の図１０のステップ２３０の処理を詳細に説明する。
【００７７】
図１１は、本発明の一実施の形態における図１０のステップ２３０の詳細な処理のフローチャートである。
【００７８】
ステップ２３１）推薦項算出部２０が、各購買のトピックｚm(m=1,…,M)を最小値１、最大値Zの整数乱数で初期化する。
【００７９】
ステップ２３２を、十分な回数（例えば５００回）繰り返す。繰り返しの回数については、予め設定した任意の数でも構わないし、各購買のトピックｚが収束したら（ほとんどのzmが変化しなくなったら）そこで打ち切るようにしてもよい。
【００８０】
ステップ２３２）推薦項算出部２０が、各購買のトピックｚm(m=1,…,M)を更新する。
【００８１】
次に、上記の図１１のステップ２３２の処理を詳細に説明する。
【００８２】
図１２は、本発明の一実施の形態における図１１のステップ２３２の詳細な処理のフローチャートである。
【００８３】
全ての購買m=1,…,Mについて、ステップ２３２１とステップ２３２２を行う。
【００８４】
ステップ２３２１）推薦項算出部２０が、該購買のトピックｚmの各トピック候補k=1,…,Zへアサインされるサンプリング確率を式(9)により算出する。
【００８５】
【数１９】
0005801257.tif 000020
ここで
【００８６】
【数２０】
0005801257.tif 000021
は該購買を除いたときの回数もしくは変数を表す。つまり、例えば、
【００８７】
【数２１】
0005801257.tif 000022
は更新前にｚmがkにアサインされていれば
【００８８】
【数２２】
0005801257.tif 000023
を表し、そうでなければ
【００８９】
【数２３】
0005801257.tif 000024
を表す。また、um、imはそれぞれm番目の購買履歴のユーザＩＤと商品ＩＤを表す。
【００９０】
ステップ２３２２）推薦項算出部２０が、ステップ２３２１にて算出した該購買のトピックｚmの各トピック候補ｋ＝１,…,Kへアサインされるサンプリング確率に基づき、乱数を発生させて、ｚmを更新する。具体的には、k=2,…,Kについて、式(10)に従ってサンプリング確率を更新する。
【００９１】
【数２４】
0005801257.tif 000025
さらに、ｋ＝１,…,Kについて、サンプリングを式(11)のように更新する。
【００９２】
【数２５】
0005801257.tif 000026
その後、最小値０、最大値１の小数の乱数を発生させてその値をサンプリング確率が上回る最小のkにアサインする。例を挙げて説明すると、今K=3として、式(9)に基づき算出されたサンプリング確率がそれぞれP(ｚm=1)=1.6、P(ｚm=2)=0.4、P(ｚm=3)=2.0であったとする。つまり、それぞれのトピックに4:1:5の割合でサンプリングされるようにしたい。このとき、式(10)と式(11)を用いてP(ｚm=1)=0.4、P(ｚm=2)=0.5、P(ｚm=3)=1.0とサンプリング確率を更新し、最小値０、最大値１の小数の乱数を発生させてその値をサンプリング確率が上回る最小のｋにアサインすればよい。
【００９３】
次に、本発明の一実施の形態における多様化項算出時の処理を説明する。本実施形態では、本処理はシステム管理者が外部装置４を用いて多様化項算出の命令をシステムに投じた際に行なうこととしているが、他にも１日おきなど自動で定期的に実行するように設定できるようにしてもよい。
【００９４】
図１３は、本発明の一実施の形態における多様化項算出時の処理のフローチャートである。
【００９５】
ステップ３１０）多様化項算出部３０が、購買履歴テーブル７１に出現する全商品集合N={1,…，Ｎ}を取得する。
【００９６】
ステップ３２０）多様項算出部３０が、ステップ３１０で取得した全商品集合Ｎの各商品について人気度項を算出し、人気度項テーブル７３１を更新する。
【００９７】
ステップ３３０）多様項算出部３０が、ステップ３１０で取得した全商品集合Ｎの中の全２商品のペアについて非類似度項を算出し、非類似度項テーブル７３２を更新する。
【００９８】
ステップ３４０）多様項算出部３０が、ステップ３１０で取得した全商品集合Ｎの中の全２商品のペアについて類似度項を算出し、類似度項テーブル７３３を更新する。
【００９９】
次に、上記の図１３のステップ３２０の処理を詳細に説明する。
【０１００】
図１４は、本発明の一実施の形態における図１３のステップ３２０の詳細な処理のフローチャートである。
【０１０１】
ステップ３２１）多様化項算出部３０が、購買履歴テーブル７１を参照し、総購買数M
を取得する。
【０１０２】
ステップ３２２）多様化項算出部３０が、購買履歴テーブル７１を参照し、商品集合N中の各商品iの購買数Miを取得する。
【０１０３】
ステップ３２３）多様化項算出部３０が、商品集合Ｎ中の各商品ｉについて、ステップ３２１で取得した総購買数Mと、ステップ３２２で取得したiの購買数Miから下式のように人気度項P(y=1|i)を算出する。
【０１０４】
【数２６】
0005801257.tif 000027
ステップ３２４）多様化項算出部３０が、商品集合N中の各商品iについて、人気度項テーブル７３１中の商品ＩＤがiの行の人気度フィールドの値をステップ３２３で算出した人気度P(y=1|i)に更新する。
【０１０５】
次に、上記の図１３のステップ３３０の処理を詳細に説明する。
【０１０６】
図１５は、本発明の一実施の形態における図１３のステップ３３０の詳細な処理のフローチャートである。
【０１０７】
ステップ３３１）多様化項算出部３０が、購買履歴テーブル７１を参照し、商品集合Ｎ中の各商品ｉについて、ｉを購買したことのあるユーザ数Ｕiを取得する。
【０１０８】
ステップ３３２）多様化項算出部３０が、購買履歴テーブル７１を参照し、商品集合N中の全２商品のペア(i，i')について、iを購買したことはあるがi'を購買したことはないユーザ数
【０１０９】
【数２７】
0005801257.tif 000028
を取得する。
【０１１０】
ステップ３３３）多様化項算出部３０が、商品集合N中の全２商品のペア(i，i')について、iとi'の非類似度P(y'=0|i',y=1,i)をステップ３３１で取得したUiとステップ３３２で取得した
【０１１１】
【数２８】
0005801257.tif 000029
から下式のように算出する。
【０１１２】
【数２９】
0005801257.tif 000030
ここでδはスムージングパラメータであり、予め与えておいた０以上の小数の定数により設定される。
【０１１３】
ステップ３３４）多様化項算出部３０が、商品集合N中の全２商品のペア(i，i')について、非類似度項テーブル７３２中の商品ＩＤがiで上位商品ＩＤがi'の行の非類似度フィールドの値をステップ３３３で算出した非類似度P(y'=0|i',y=1,i)に更新する。
【０１１４】
次に、上記の図１３のステップ３４０の処理を詳細に説明する。
【０１１５】
図１６は、本発明の一実施の形態における図１３のステップ３４０の詳細な処理のフローチャートである。
【０１１６】
ステップ３４１）多様化項算出部３０が、購買履歴テーブル７１を参照し、商品集合N中の各商品iについて、iを購買したことのないユーザ数
【０１１７】
【数３０】
0005801257.tif 000031
を取得する。
【０１１８】
ステップ３４２）多様化項算出部３０が、購買履歴テーブル７１を参照し、商品集合N中の全２商品のペア(i，i')について、iを購買したこともi'を購買したこともないユーザ数
【０１１９】
【数３１】
0005801257.tif 000032
を取得する。
【０１２０】
ステップ３４３）多様化項算出部３０が、商品集合N中の全２商品のペア(i，i')について、iとi'の類似度P(y'=0|i',y=0,i)をステップ３４１で取得した
【０１２１】
【数３２】
0005801257.tif 000033
とステップ３４２で取得した
【０１２２】
【数３３】
0005801257.tif 000034
から下式のように算出する。
【０１２３】
【数３４】
0005801257.tif 000035
ここでγはスムージングパラメータであり、予め与えておいた０以上の小数の定数により設定される。
【０１２４】
ステップ３４４）多様化項算出部３０が、商品集合N中の全２商品のペア(i，i')について、非類似度項テーブル７３３中の商品ＩＤがiで上位商品ＩＤがi'の行の類似度フィールドの値をステップ３４３で算出した類似度P(y'=0|i',y=0,i)に更新する。
【０１２５】
次に、本発明の一実施の形態における推薦履歴処理時の処理を詳細に説明する。本実施形態では、ＥＣサイトにログインしたユーザが、推薦リストの掲載されているページから別のページに移動する度に連携しているＥＣサイトからネットワーク３、通信部９０を経て推薦履歴が本システムに送信され、本処理が実行される。
【０１２６】
図１７は、本発明の一実施形態における推薦履歴処理時の処理のフローチャートである。
【０１２７】
ステップ４１０）推薦履歴処理部４０が、推薦履歴テーブル７４に、推薦対象のユーザ、ユーザが推薦リスト中の何番目の商品情報のページへのリンクをクリックしたか、推薦された商品に応じてユーザＩＤフィールド、クリック位置フィールド、商品ＩＤフィールド1,…,Lの値を設定した行を挿入する。ここで、ユーザが推薦リスト掲載のページから移動した先が推薦リスト中の商品情報のページでない場合には、クリック位置フィールドの値は０が設定される。
【０１２８】
次に、本発明の一実施の形態における多様化パラメータ推定時の処理を説明する。本実施形態では、本処理はシステム管理者が外部装置４を用いて多様化パラメータ推定の命令をシステムに投じた際に行なうこととしているが、他にも１日おきなど自動で定期的に実行するように設定できるようにしてもよい。
【０１２９】
図１８は、本発明の一実施の形態における多様化パラメータ推定時の処理のフローチャートである。
【０１３０】
ステップ５１０）多様化パラメータ推定部５０が、推薦履歴テーブル７４を参照し、推薦履歴集合
【０１３１】
【数３５】
0005801257.tif 000036
を取得する。
【０１３２】
ステップ５２０）多様化パラメータ推定部５０が、多様化パラメータαを0.0から10.0のランダムな小数で初期化する。本実施形態では乱数としたが、予め与えておいた０以上の小数の定数（例えば1.0）で設定してもよい。
【０１３３】
ステップ５３０）多様化パラメータ推定部５０が、ステップ５２０で初期化した多様化パラメータαの推薦履歴集合
【０１３４】
【数３６】
0005801257.tif 000037
に対する対数尤度
【０１３５】
【数３７】
0005801257.tif 000038
を推薦度項テーブル７２に格納されている推薦度項と、多様化項と、式(6)とを用いて算出する。ここで多様化項
【０１３６】
【数３８】
0005801257.tif 000039
は人気度項テーブル７３１に格納されている人気度項、非類似度項テーブル７３２に格納されている非類似度項、類似度項テーブル７３３に格納されている類似度項から式(15)のように算出する。
【０１３７】
【数３９】
0005801257.tif 000040
以下、ステップ５４０〜ステップ５６０を、繰り返す。繰り返しの終了条件としては、本実施形態では繰り返しの回数が十分である（図１８ではＴ回としている）か、もしくは、最大尤度の変化量が十分小さくなった場合（図１８では
【０１３８】
【数４０】
0005801257.tif 000041
θは0.0以上の予めシステム管理者により設定されたパラメータ）、としているが、どちらか一方でも構わない。
【０１３９】
ステップ５４０）多様化パラメータ推定部５０が、現在の多様化パラメータαの推薦履歴集合
【０１４０】
【数４１】
0005801257.tif 000042
に対する対数尤度の勾配
【０１４１】
【数４２】
0005801257.tif 000043
を式(16)のように算出する。
【０１４２】
【数４３】
0005801257.tif 000044
ここでεは勾配を求めるためのパラメータで、0より大だが限りなく0に近い値（例えば1.0×10-5）がシステム管理者により予め設定されている。
【０１４３】
ステップ５５０）多様化パラメータ推定部５０が、現在の多様化パラメータαと、ステップ５４０で求めた現在の多様化パラメータαの推薦履歴集合
【０１４４】
【数４４】
0005801257.tif 000045
に対する対数尤度の勾配
【０１４５】
【数４５】
0005801257.tif 000046
から多様化パラメータを下式のように更新する。
【０１４６】
【数４６】
0005801257.tif 000047
ここでηは多様化パラメータαを更新するためのパラメータで、0より大で１より小の値（例えば0.1）がシステム管理者により予め設定されている。
【０１４７】
ステップ５６０）多様化パラメータ推定部５０が、ステップ５５０で更新した現在の多様化パラメータαの推薦履歴集合
【０１４８】
【数４７】
0005801257.tif 000048
に対する対数尤度
【０１４９】
【数４８】
0005801257.tif 000049
を推薦度項テーブル７２に格納されている推薦度項と、多様化項と、式(6)とを用いて算出する。
【０１５０】
ステップ５７０）多様化パラメータ推定部５０が、ステップ５４０〜５６０を繰り返すことで得られた多様化パラメータを多様化パラメータ記録部７５に格納する。
【０１５１】
次に、本発明の一実施の形態における推薦リスト作成時の処理を説明する。本実施形態では、本処理はログインユーザが推薦リスト掲載のページを閲覧する度に発生するものとしているが、他にもシステム管理者が外部装置４を用いて推薦リスト作成の命令をシステムに投じ、推薦リスト記録部を設け、そこに格納するようにしてもよい。
【０１５２】
今、推薦リスト作成の対象となっているユーザをｕとする。
【０１５３】
図１９は、本発明の一実施形態における推薦リスト作成時の処理のフローチャートである。
【０１５４】
ステップ６１０）推薦リスト作成部６０が、購買履歴テーブル７１を参照し、ユーザｕが未購買の商品集合Ｉuを取得する。
【０１５５】
ステップ６２０により1位から順にL位まで配置するアイテムを決めていく。
【０１５６】
ステップ６２０）推薦リスト作成部６０が、下式のように商品集合
【０１５７】
【数４９】
0005801257.tif 000050
中の各商品について推薦スコアを算出し、ｌ位の商品
【０１５８】
【数５０】
0005801257.tif 000051
を決定する。
【０１５９】
【数５１】
0005801257.tif 000052
ここで推薦項は、P(yl=1|u,il)は推薦リスト作成部６０が推薦度項テーブル７２を参照することにより取得し、多様化項
【０１６０】
【数５２】
0005801257.tif 000053
は推薦リスト作成部６０が人気度項テーブル７３１と、非類似度項テーブル７３２と、類似度項テーブル７３３とを参照し、人気度、非類似度、類似度から式(15)のように算出する。
【０１６１】
なお、上記の商品推薦装置の各構成要素の処理をプログラムとして構築し、商品推薦装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【０１６２】
また、構築されたプログラムをハードディスクや、フレキシブルディスク、ＣＤ−ＲＯＭ等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。
【０１６３】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【符号の説明】
【０１６４】
１  商品推薦装置
２  外部端末
３  ネットワーク
４  外部装置
１０  購買履歴処理部
２０  推薦項算出部
３０  多様化項算出部
４０  推薦履歴処理部
５０  多様化パラメータ推定部
６０  推薦リスト作成部
７０  記憶部
７１  購買履歴テーブル
７２  推薦項テーブル
７３  多様化項記録部
７４  推薦履歴テーブル
７５  多用化パラメータ記録部
７３１  人気度項テーブル
７３２  非類似度項テーブル
７３３  類似度テーブル
【図１】
0005801257.tif 000054
【図２】
0005801257.tif 000055
【図３】
0005801257.tif 000056
【図４】
0005801257.tif 000057
【図５】
0005801257.tif 000058
【図６】
0005801257.tif 000059
【図７】
0005801257.tif 000060
【図８】
0005801257.tif 000061
【図９】
0005801257.tif 000062
【図１０】
0005801257.tif 000063
【図１１】
0005801257.tif 000064
【図１２】
0005801257.tif 000065
【図１３】
0005801257.tif 000066
【図１４】
0005801257.tif 000067
【図１５】
0005801257.tif 000068
【図１６】
0005801257.tif 000069
【図１７】
0005801257.tif 000070
【図１８】
0005801257.tif 000071
【図１９】
0005801257.tif 000072