(57)【特許請求の範囲】
【請求項１】
コンピュータによって実行される商品推薦方法であって、
評価値推定部が、記憶部に記憶される類似度データベースに格納される商品間の類似度を参照して、利用者毎に、該利用者が未だ評価していない未評価商品に類似した商品のうち該利用者が評価済みの商品の評価値を用いて、該利用者の該未評価商品の評価値を推定した推定評価値と、該推定評価値の真の評価値に対する分散とを計算し、
前記評価値推定部が、前記利用者毎に、前記計算された推定評価値と分散とを夫々、該未評価商品の商品名に対応付けて前記記憶部内の推定情報データベースに格納し、
推薦商品決定部が、前記記憶部に記憶された前記推定情報データベースに格納される、ログインした利用者の前記評価済みの商品に係る購入確率と、前記未評価商品の商品名に対応づけられる前記推定評価値と、該推定評価値の分散とから、前記未評価商品の購入確率を計算し、
前記推薦商品決定部が、前記計算した未評価商品の購入確率の大きい順で商品名を前記ログインした利用者の利用者端末に表示する
ことを特徴とする商品推薦方法。
【請求項２】
前記評価値推定部が、前記利用者毎に、前記真の評価値を該利用者の評価済みの商品と類似度の高い方から所定個の商品に対する該利用者の評価値の線形和で表し、該真の評価値に対する前記推定評価値の誤差の分散が小さくなるように該線形和の係数を算出する
ことを特徴とする請求項１記載の商品推薦方法。
【請求項３】
前記推薦商品決定部が、前記記憶部の前記推定情報データベースを参照して、前記ログインした利用者の未評価商品に対する推定評価値が第１所定値以上となる商品名を取得して、該商品名に対応づけられる、前記推定評価値と、該推定評価値の分散とから、前記未評価商品の購入確率を計算する
ことを特徴とする請求項１又は２記載の商品推薦方法。
【請求項４】
前記推薦商品決定部が、前記ログインした利用者の前記推定評価値と、該推定評価値の分布と、前記評価値の確率モデルとから、前記未評価商品に対する推定評価値の確率密度分布を求め、
前記推薦商品決定部が、前記確率密度分布と、前記利用者の前記評価済みの商品に係る購入確率とから、前記未評価商品の購入確率を計算する
ことを特徴とする請求項３記載の商品推薦方法。
【請求項５】
商品間の類似度を格納した類似度データベースを記憶した記憶部と、
前記類似度データベースを参照して、利用者毎に、該利用者が未だ評価していない未評価商品に類似した商品のうち利用者が評価済みの商品の評価値を用いて、該利用者の未評価商品の評価値を推定した推定評価値と、該推定評価値の真の評価値に対する分散とを計算して、該利用者毎に、前記計算された推定評価値と分散とを夫々、該未評価商品の商品名に対応付けて前記記憶部内の推定情報データベースに格納する評価値推定部と、
前記記憶部に記憶された前記推定情報データベースに格納される、ログインした利用者の前記評価済みの商品に係る購入確率と、前記未評価商品の商品名に対応づけられる前記推定評価値と、該推定評価値の分散とから、前記未評価商品の購入確率を計算し、該計算した未評価商品の購入確率の大きい順で商品名を前記ログインした利用者の利用者端末に表示する推薦商品決定部と
を有することを特徴とするサーバ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、購入する可能性の高い商品を精度良く提案する商品レコメンデーション装置に関する。
【背景技術】
【０００２】
近年、インターネット上で商品を販売するショッピングサイトでは、大量の商品の中から利用者の求めるものを推定し、推薦するシステム（レコメンデーションシステム）が使われている。これにより、利用者は大量の商品を全部評価することなく、レコメンデーションシステムにより推薦された商品の中から、効率的に自分の欲しい商品を選ぶことができる。また、ショッピングサイト運営者は、レコメンデーションシステムで利用者と商品とを効率良くマッチングすることで販売機会を増やしている。このようなレコメンデーションシステムでは、利用者のある商品への評価値を推測し、その評価値に基づいて商品を推薦している。
【０００３】
各アイテムに対して各ユーザが与えた評価値などを用いて、注目ユーザの評価の傾向を示すユーザ統計量を計算して、そのユーザ統計量に基づいて、注目ユーザに対するアイテムに関する情報の提示を制御すること、ユーザが複数項目に与えた評価に基づいてユーザ間の類似性係数を計算し、あるユーザが評価をしていない項目に、類似性係数に基づく近傍ユーザが与えた評価を用いてそのユーザに複数の項目から１つの項目を推奨する等の技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１５７９０７号公報
【特許文献２】特表平１１−５０９０１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術では、既に評価された商品の評価値に基づいて、評価されていない商品の評価値を推定する際に、推定値の確からしさが考慮されない。そのため、商品を推薦する際に、思いも寄らない商品を発見したいという利用者の欲求を満たすことができず、また、高評価が高確率で推定される堅実な商品の推薦と、ばらつきは大きいがもっと高評価の可能性を含んでいる冒険的な商品の推薦とをおりまぜて行うことができなかった。
【０００６】
よって、本発明の目的は、商品の評価値の推定値の誤差に基づいて、推薦する商品を決定することである。
【課題を解決するための手段】
【０００７】
開示の技術は、コンピュータによって実行される商品推薦方法であって、評価値推定部が、記憶部に記憶される類似度データベースに格納される商品間の類似度を参照して、利用者毎に、該利用者が未だ評価していない未評価商品に類似した商品のうち該利用者が評価済みの商品の評価値を用いて、該利用者の該未評価商品の評価値を推定した推定評価値と、該推定評価値の真の評価値に対する分散とを計算し、前記評価値推定部が、前記利用者毎に、前記計算された推定評価値と分散とを夫々、該未評価商品の商品名に対応付けて前記記憶部内の推定情報データベースに格納し、推薦商品決定部が、前記記憶部に記憶された前記推定情報データベースに格納される、ログインした利用者の前記評価済みの商品に係る購入確率と、前記未評価商品の商品名に対応づけられる前記推定評価値と、該推定評価値の分散とから、前記未評価商品の購入確率を計算し、前記推薦商品決定部が、前記計算した未評価商品の購入確率の大きい順で商品名を前記ログインした利用者の利用者端末に表示する。
【０００８】
また、上記課題を解決するための手段として、商品を推薦するサーバ装置、コンピュータに商品を推薦せるためのプログラム、及び、そのプログラムを記録した記録媒体とすることもできる。
【発明の効果】
【０００９】
開示の技術では、インターネット上でのショッピングサイト等で商品を推薦するレコメンデーションシステムにおいて、利用者の未評価の商品に対する評価値の推定値（推定評価値）の真の評価値に対するばらつき（分散）が考慮されるため、精度良い購入確度で商品を推薦することができる。
【図面の簡単な説明】
【００１０】
【図１】レコメンデーションシステムの構成例を示す図である。
【図２】Ｗｅｂサーバのハードウェア構成を示す図である。
【図３】評価値データベースのデータ構成例を示す図である。
【図４】類似度計算部による結果を示す類似度データベースのデータ構成例を示す図である。
【図５】推定情報データベースのデータ構成例を示す図である。
【図６】本実施例における推定評価値の分散を説明するための図である。
【図７】最頻値が一致する２つの商品から１つを推薦する第１の実施例を説明するための図である。
【図８】最頻値が異なる２つの商品から１つを推薦する第２の実施例を説明するための図である。
【図９】特定の利用者の商品を購入する傾向にある評価値に基づいて、特定の商品を購入する確率を計算する第１の購入確率計算方法を説明するための図である。
【図１０】特定の利用者の購入確率に基づいて、特定の商品を購入する確率を計算する第２の購入確率計算方法を説明するための図である。
【図１１】購入パターンテーブルのデータ構成例を示す図である。
【図１２】評価値推定部での処理を説明するためのフローチャート図である。
【図１３】推薦商品決定部での処理を説明するためのフローチャート図である。
【図１４】推薦商品リストのデータ構成例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を図面に基づいて説明する。本実施例に係るレコメンデーションシステムでは、協調フィルタリングが用いられる。協調フィルタリングには、ユーザベースと、アイテムベースの２つの基本的な方法が存在する。本実施例では、アイテムベースの協調フィルタリングが適用される。
【００１２】
アイテムベースの協調フィルタリングを使った利用者ｕａの商品ｃｂの評価値ｒａ，ｂの推測方法について説明する。
【００１３】
まず、商品間の類似度ｓを式（１）によって計算する。類似度ｓはコサイン距離又はピアソンの相関係数が使われることが多い。以後は、ピアソンの相関係数を使った場合で説明する。
【００１４】
【数１】
0005900154.tif 000002
Ｕｊ：商品ｃｊを評価した利用者の集合
ｒｊ：商品ｃｊの評価値の平均
【００１５】
２つの商品１、２（図３）の類似度は、商品１、２の両方を評価している利用者（図３の「利用者１」、「利用者３」、「利用者４」、・・・、「利用者ｎ」）の評価値の相関関係となる。
【００１６】
次に、別の評価済みの商品の評価値を使って評価値の推定値を式（２）によって計算する。
【００１７】
【数２】
0005900154.tif 000003
Neighbor(b)：商品ｃｂとの類似度が高く、利用者ｕａが評価している商品Ｋ個の集合
【００１８】
上式（２）による評価値ｒａ，ｂの推定値の計算では、利用者ｕａが商品ｃｂと類似度の高い商品を評価している場合と、類似度の低い商品しか評価していない場合とで、その違いが表されない。
【００１９】
高い類似度（例えば、０．９）の商品ｃｉ、ｃｊ、ｃｋの３つから計算する場合、上式（２）から、
【００２０】
【数３】
0005900154.tif 000004
この式（３）を得る。
【００２１】
低い類似度（例えば、０．２）の商品ｃｉ、ｃｊ、ｃｋの３つから計算する場合、同様に上式（２）から、
【００２２】
【数４】
0005900154.tif 000005
この式（４）を得る。
【００２３】
式（３）と式（４）は同じになるため、推定値の誤差（分散又はばらつき）が計算されない。そのため商品を推薦する際に、指標として推定値は利用可能であるが、推定値の不確からしさを表す推定値の誤差を指標として利用できない。その弊害として、思いも寄らない商品を発見したいという利用者の欲求を満たせない場合や、高評価が高確率で推定される堅実な商品の推薦と、ばらつきは大きいがもっと高評価の可能性を含んでいる冒険的な推薦をおりまぜて行うことができない場合がある。
【００２４】
評価値ｒａ，ｂの推定値の計算部分では、利用者ｕａが商品ｃｂと類似度のあまり高くない商品しか評価していない場合、推定値の標準誤差（即ち、真の評価値と推定値との差分の分散の平方根）が大きくなってしまう。
【００２５】
説明の簡単化のため、商品ｃｂとの類似度が高い商品neihbor(b)は１つ（商品ｃｊ）、類似度はピアソンの相関係数であるとする。また、真の評価値ｒａ，ｂに対する推定値は、
【００２６】
【数５】
0005900154.tif 000006
この式（５）で表されるので、標準誤差の２乗は、下記式（６）となる。
【００２７】
【数６】
0005900154.tif 000007
ρｂ，ｊの値により、下記式（７）となるケースがある。
【００２８】
【数７】
0005900154.tif 000008
即ち、単純に商品の推定値を平均値とした時よりその標準誤差は大きくなってしまう。
【００２９】
上述したように、評価値の推定値がどれくらい確からしいか（どれくらいばらつくのか）が分からない。推定値のばらつきの指標がない。また、類似度が低い商品しか評価していないときに、ばらつきが大きくなってしまう。
【００３０】
そこで、発明者等による、評価値の推定値の誤差の分散を小さくする方法が以下に説明される。
【００３１】
利用者ｕａの商品ｃｂに対する評価値ｒａ，ｂを、利用者ｕａが評価済みである、商品ｃｂと類似度の高い方からＫ個の商品Ｃｊに対する利用者ｕａの評価値の線形和で表すと、
【００３２】
【数８】
0005900154.tif 000009
上記式（８）で示される。
【００３３】
評価値の推定値の誤差εｂの分散が小さくなるように線形和の係数ｍｊを決定する。誤差εｂの分散は、
【００３４】
【数９】
0005900154.tif 000010
上記式（９）で表され、分散Ｖ［εｂ］を最小とするｍｊの組を求める。具体的には、分散Ｖ［εｂ］を重みｍｊで偏微分したものを０とした連立方程式（１次式）を解くことによって、重みｍｊが求まる。
【００３５】
重みｍｊが決まると、
【００３６】
【数１０】
0005900154.tif 000011
上記式（１０）によって得られる評価値ｒａ，ｂの推定値と、その分散の推定値Ｖ［εｂ］が決まる。
【００３７】
以下に、上述したように利用者ｕａが未評価の商品ｃｂに対する評価値の推定値のばらつきを考慮した、利用者ｕａへ商品を推薦するレコメンデーションシステムについて説明する。
【００３８】
図１は、レコメンデーションシステムの構成例を示す図である。図１において、レコメンデーションシステム１００では、複数の利用者端末９と、Ｗｅｂサーバ４とが、ネットワーク２を介して接続される。Ｗｅｂサーバ４は、１つであっても複数であってもよい。
【００３９】
評価値記録部４１は、利用者端末９から受信した利用者の商品に対する評価値を評価値データベース３１に記録する。評価値データベース３１は、利用者名毎に各商品の評価値を対応付けて記憶し管理するためのデータベースである。
【００４０】
類似度算出部４２は、評価値データベース３１から２つの商品の評価値を取得して、商品間の類似度を計算し、計算した類似度を類似度データベース３２に記録する処理部である。類似度データベース３２は、２つの商品の組み合せ毎に類似度を対応付けて記憶し管理するためのデータベースである。
【００４１】
評価値推定部４３は、利用者が未だ評価していない商品（未評価商品）について、評価値の推定値（以下、推定評価値と言う。）を計算し、計算した推定評価値の分散（以下、推定分散と言う。）とを計算し、計算した夫々の推定値を推定情報データベース３３に記憶し管理する処理部である。推定情報データベース３３は、利用者名毎に、各商品に対応付けて、評価値推定部４３によって計算された推定評価値と、推定分散とを夫々記憶し管理するためのデータベースである。
【００４２】
推定商品決定部４４は、推定評価値と指定分散とを推定情報データベース３３から取り出して、利用者に推薦する商品を決定する処理部である。推定商品決定部４４によって決定された商品の商品名は、利用者端末９へ送信され、利用者端末９に表示される。
【００４３】
評価値記録部４１から推薦商品決定部４４による処理は、連続して行われることを意味していない。評価値記録部４１での処理は、Ｗｅｂサーバ４が提供するネットショッピングのサイトの利用時になされた、利用者の商品に対する評価値の受信に応じて行われれば良い。類似度計算部４２及び評価値推定部４３での処理は、所定タイミングによるバッチ処理で行われれば良い。推薦商品決定部４４は、Ｗｅｂサーバ４が提供するネットショッピングのサイトへの利用者のログイン後に行われる処理である。
【００４４】
図２は、Ｗｅｂサーバのハードウェア構成を示す図である。図２において、Ｗｅｂサーバ４は、コンピュータによって制御される端末であって、ＣＰＵ（Central Processing Unit）１１と、主記憶装置１２と、補助記憶装置１３と、入力装置１４と、表示装置１５と、出力装置１６と、通信Ｉ／Ｆ（インターフェース）１７と、ドライブ１８とを有し、バスＢに接続される。
【００４５】
ＣＰＵ１１は、主記憶装置１２に格納されたプログラムに従ってＷｅｂサーバ４を制御する。主記憶装置１２には、ＲＡＭ（Random Access Memory）等が用いられ、ＣＰＵ１１にて実行されるプログラム、ＣＰＵ１１での処理に必要なデータ、ＣＰＵ１１での処理にて得られたデータ等を格納する。また、主記憶装置１２の一部の領域が、ＣＰＵ１１での処理に利用されるワークエリアとして割り付けられている。
【００４６】
補助記憶装置１３には、ハードディスクドライブが用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置１３に格納されているプログラムの一部が主記憶装置１２にロードされ、ＣＰＵ１１に実行されることによって、各種処理が実現される。記憶部１３０は、主記憶装置１２及び／又は補助記憶装置１３を有する。
【００４７】
記憶部１３０には、少なくとも、図１に示す、評価値データベース３１、類似度データベース３２、推定情報データベース３３、及び図１１に示す購入パターンテーブル３４ａ又は３４ｂが格納される。
【００４８】
入力装置１４は、マウス、キーボード等を有し、ユーザがＷｅｂサーバ４による処理に必要な各種情報を入力するために用いられる。表示装置１５は、ＣＰＵ１１の制御のもとに必要な各種情報を表示する。出力装置１６は、プリンタ等を有し、ユーザからの指示に応じて各種情報を出力するために用いられる。通信Ｉ／Ｆ１７は、例えばインターネット、ＬＡＮ（Local Area Network）等に接続し、外部装置との間の通信制御をするための装置である。
【００４９】
Ｗｅｂサーバ４によって行われる後述される種々の処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）等の記憶媒体１９によってＷｅｂサーバ４に提供される。即ち、プログラムが保存された記憶媒体１９がドライブ１８にセットされると、ドライブ１８が記憶媒体１９からプログラムを読み出し、その読み出されたプログラムがバスＢを介して補助記憶装置１３にインストールされる。そして、プログラムが起動されると、補助記憶装置１３にインストールされたプログラムに従ってＣＰＵ１１がその処理を開始する。尚、プログラムを格納する媒体としてＣＤ−ＲＯＭに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【００５０】
また、Ｗｅｂサーバ４によって行われる後述される種々の処理を実現するプログラムが、通信Ｉ／Ｆ１７を介して外部装置から提供されてもよい。或いは、外部装置へ該プログラムを提供し、後述される各処理は外部装置で実現されるように構成してもよい。通信Ｉ／Ｆ１７による通信は無線又は有線に限定されるものではない。
【００５１】
図３は、評価値データベースのデータ構成例を示す図である。図３において、評価値データベース３１では、利用者名「利用者１」、「利用者２」、・・・、「利用者ｎ」毎に商品名「商品１」、「商品２」、・・・、「商品ｍ」が対応付けられ、利用者により評価済みの商品の評価値が記憶されている。
【００５２】
類似度計算部４２は、商品１〜ｍのうち商品を２つずつ組み合わせ、同一利用者が組み合せた２商品の両方を評価している場合にそれら評価値を用いて、２商品の類似度を算出する。商品１と商品２との組み合わせの場合、商品１と商品２の両方を評価している利用者１、３、４、・・・、ｎの評価値を用いる。この場合、利用者２は、商品１と商品２の両方を評価していないため、評価値は採用されない。
【００５３】
図４は、類似度計算部４２による結果を示す類似度データベース３２のデータ構成例を示す図である。図４において、類似度データベース３２では、２つの商品間の似ている度合いを表しており、類似度は−１から１の値をとる。値「１」に近いほど良く似ている商品と言え、値「−１」に近いほど似ていない商品と言える。対称行列となっているので、上三角もしくは下三角のどちらかだけでも良い。
【００５４】
図５は、推定情報データベースのデータ構成例を示す図である。図５において、推定情報データベース３３は、推定評価値テーブル３３ａと、推定分散テーブル３３ｂとを有する。
【００５５】
推定評価値テーブル３３ａでは、利用者名毎に、推定評価値が商品名に対応付けて記憶され管理される。利用者名「利用者１」では、商品名「商品１」に対応付けて推定評価値「３」が記憶され、商品名「商品２」に対応付けて推定評価値「４」が記憶され、・・・、商品名「商品ｍ」に対応付けて推定評価値「１．２」が記憶されている。
【００５６】
各推定評価値は、評価値推定部４３が類似度データベース３２から取得した類似度を用いて推定した評価値である。
【００５７】
推定分散テーブル３３ｂでは、利用者名毎に、推定分散が商品名に対応付けて記憶され管理される。利用者名「利用者１」では、商品名「商品１」に対応付けて推定分散「０」が記憶され、商品名「商品２」に対応付けて推定分散「０」が記憶され、・・・、商品名「商品ｍ」に対応付けて推定分散「９．４」が記憶されている。推定評価値が推定分散「０」に近いほど真の評価値に近く確からしいことを示す。推定分散が大きい値を示すほど、推定評価値が真の評価値からかけ離れており、不確かであることを示す。
【００５８】
上述した本実施例における推定評価値の分散を、評価値の分散との違いで説明する。図６は、本実施例における推定評価値の分散を説明するための図である。図６（Ａ）では、関連技術に相当し、本実施例が適用されていない例を示している。図６（Ａ）において、既にショッピングサイトの複数の利用者ｕによってなされた、ある１つの商品に対する評価値のばらつきが示されている。評価値は、１点から５点までで示されるものとする。この商品に対して与えた評価値のうち最も利用者数の多かった最頻値は、４点であったことが分かる。
【００５９】
図６（Ｂ）では、特定の利用者（ここでは、「田中さん」とする。）が未だ評価していない商品への「田中さん」の評価値を推定した場合の、その推定値（推定評価値）の分布６ｂ（ばらつき）を示している。図６（Ｂ）に例示される推定評価値の分布６ｂにより、未知の真の評価値７ａに対する、「田中さん」の評価値を推定した際の推定評価値７ｂの誤差７ｃを得ることができる。
【００６０】
次に、推薦商品決定部４４が、推定評価値の分布を示す推定分散テーブル３３ｂを参照することによる商品の推薦例について概要を説明する。
【００６１】
図７は、最頻値が一致する２つの商品から１つを推薦する第１の実施例を説明するための図である。図７では、評価値推定部４３での処理によって得られた「田中さん」の商品Ａの推定評価値の分布６１ａの最頻値と、「田中さん」の商品Ｂの推定評価値の分布６１ｂの最頻値とが、一致する例が示されている。最頻値は、分布の中央値、又は、平均値であっても良い。
【００６２】
異なる商品Ａと商品Ｂとで同じ最頻値６１ｃであっても、推定評価値の分布幅（ばらつきの広がり）が異なる場合がある。「田中さん」の商品Ｂの推定評価値の分布６１ｂは、「田中さん」の商品Ａの推定評価値の分布６１ａより分布幅が大きく、従って、ばらつきが広い。
【００６３】
「田中さん」が購入する確度が高くなる購入点６１ｄ以上の購入領域６１ｐを見ると、商品Ａの推定評価値の分布６１ａは、購入領域６１ｐを含まない。一方、「田中さん」の商品Ｂの推定評価値の分布６１ｂは、購入領域６１ｐを含んでいる。従って、本実施例では、商品Ｂを推薦した方が、「田中さん」の購入に結びつき易いと判断できる。
【００６４】
しかしながら、図６（Ａ）で示すような関連技術では、「田中さん」が未評価の商品に対する評価値毎の利用者数による分布からでは、商品Ａと商品Ｂとで、最頻値が同じ「４点」の場合、商品Ａと商品Ｂのどちらが「田中さん」の購入に結びつき易いかは判断できない。
【００６５】
図８は、最頻値が異なる２つの商品から１つを推薦する第２の実施例を説明するための図である。図８では、評価値推定部４３での処理によって得られた「田中さん」の商品Ａの推定評価値の分布６３ａの最頻値６２ａと、「田中さん」の商品Ｂの推定評価値の分布６３ｂの最頻値６２ｂとが、異なる例が示されている。最頻値６２ａ及び６２ｂは、夫々の分布６３ａ及び６３ｂの中央値、又は、平均値であっても良い。
【００６６】
この例では、分布６３ｂの最頻値６２ｂが分布６３aの最頻値６２aより評価値が高いことを示している。推定評価値の分散という指標が無い場合、推定評価値の大きい順で「田中さん」が購入する可能性が高いと判断する。つまり、商品Ｂより商品Ａが推薦される。
【００６７】
本実施例では、購入点６３ｄ以上で「田中さん」が購入する領域となる場合、「田中さん」の分布６３ａの方が、分布６３ｂより非選択領域６３ｐが大きい（商品Ａを選ばない確率が高い）ことが考慮される。従って、「田中さん」に関して、商品Ａは少なからず選ばれない可能性が有ることが分かるため、商品Ｂの方が商品Ａより確実であると判断する。商品Ｂの最頻値６２ｂの方が商品Ａの最頻値６２ａより低いのにも関わらず、商品Ｂが「田中さん」に推薦される。
【００６８】
次に、上述した第１の実施例及び第２の実施例を実現する、購入確率の計算方法について説明する。
【００６９】
特定の利用者「田中さん」の商品を購入する傾向にある評価値に基づいて、購入確率を計算する第１の購入確率計算方法について図９で説明する。図９は、特定の利用者の商品を購入する傾向にある評価値に基づいて、特定の商品を購入する確率を計算する第１の購入確率計算方法を説明するための図である。
【００７０】
図９では、「田中さん」の商品ｂの推定評価値の分布６５ｂが例示されている。分布６５ｂにおいて、横軸上で示される評価値が「田中さん」が商品ｂを購入する購入点６５ｄのときの縦軸と、購入点６５ｄ以上の評価値を示す横軸と、分布６５ｂとで囲まれた面積が「田中さん」が商品ｂを購入する購入領域６５ｐとなる。
【００７１】
第１の購入確率計算方法では、この購入領域６５ｐを以下のように算出する。
【００７２】
先ず、「田中さん」の商品ｂに対する推定評価値と、その推定評価値の分散と、評価値の確率モデル（例えば正規分布）とから、商品ｂに対する「田中さん」の推定される評価値の確率密度分布ｆａ，ｂ（ｘ）を求める。
【００７３】
次に、「田中さん」の購入済の商品の評価値に基づく購入確率ｇａ（ｘ）から、「田中さん」が未評価の商品ｂを買う確率Ｐａ，ｂを求める。確率Ｐａ，ｂは、
【００７４】
【数１１】
0005900154.tif 000012
で表される。
【００７５】
上記式（１１）における確率密度分布ｆａ，ｂ（ｘ）は、下記式（１２）で表され、
【００７６】
【数１２】
0005900154.tif 000013
また、「田中さん」が評価値「４点」以上の場合に商品を購入する傾向にある場合には、
【００７７】
【数１３】
0005900154.tif 000014
のように式（１３）を与えればよい。図９では、購入点６５ｄが評価値「４点」となる場合に相当し、上記式（１１）求めた確率Ｐａ，ｂは、図９の購入領域６１ｐで示される面積部分に相当する。
【００７８】
上述した第１の購入確率計算方法では、「田中さん」の購入確率として評価値「４点」以上の商品を買う例で説明したが、第２の購入確率計算方法では、より一般的に、特定の利用者「田中さん」の購入確率ｇａ（ｘ）がより詳細にモデル化されている場合における、「田中さん」の商品ｂを買う確率を計算する方法について説明する。図１０は、特定の利用者の購入確率に基づいて、特定の商品を購入する確率を計算する第２の購入確率計算方法を説明するための図である。
【００７９】
図１０を参照すると、「田中さん」の商品ｂの推定評価値の分布ｆａ，ｂ（ｘ）と、「田中さん」の購入確率分布ｇａ（ｘ）とから、「田中さん」が、未評価の商品ｂを購入する確率Ｐａ，ｂを計算する。図１０では、分布ｆａ，ｂ（ｘ）と購入確率分布ｇａ（ｘ）とにおいて、評価値を横軸に同じにしている。確率Ｐａ，ｂは、分布ｆａ，ｂ（ｘ）と購入確率分布ｇａ（ｘ）とが重複する部分である。
【００８０】
確率Ｐａ，ｂは、式（１４）で表される。
【００８１】
【数１４】
0005900154.tif 000015
【００８２】
購入確率分布ｇａ（ｘ）は、利用者毎にその購入パターンを表す。購入パターンとは、評価値毎の、評価した商品を購入する確率を示し、購入確率分布ｇａ（ｘ）において、ｘは評価値を示す。第２の購入確率計算方法では、購入確率分布ｇａ（ｘ）を利用者毎に管理する、図１１に例示されるような購入パターンテーブルを用いることによって実現可能である。
【００８３】
図１１は、購入パターンテーブルのデータ構成例を示す図である。推薦商品決定部４４で推薦する商品を決めるときには、評価値に対する購入確率が分かれば良く、購入確率分布ｇａ（ｘ）の最大値は「１」にそろえてもよいことになるが、購入確率分布ｇａ（ｘ）は、必ずしも評価値ｘの商品を利用者が買う確率でなく、その定数倍であっても良い。
【００８４】
図１１（Ａ）に例示する購入パターンテーブル３４ａでは、評価値を細かなビンに区切って、それぞれの範囲に入る商品をどの程度買うのかを利用者毎に記録してデータ構成例を有する。
【００８５】
また、図１１（Ｂ）に例示する購入パターンテーブル３４ｂのように、例えば、下記式（１５）に示すようなロジステック曲線
【００８６】
【数１５】
0005900154.tif 000016
などで近似して、パラメータｂ、ｃを利用者毎に記憶したテーブルを用いてもよい。
【００８７】
次に、評価値推定部３３での処理について図１２で説明する。図１２は、評価値推定部での処理を説明するためのフローチャート図である。図１２において、評価値推定部３３は、利用者ｉを「１」に初期化する（ステップＳ１１）。評価値データベース３１の先頭レコードから順に取り出すためである。
【００８８】
評価値推定部３３は、利用者ｉの評価値を評価値データベース３１から取り出す（ステップＳ１２）。評価値データベース３１から利用者ｉのレコードが取り出され記憶部１３０に格納される。取り出されたレコードは、商品名毎の利用者ｉによって付けられた評価値を含んでいる。また、取り出された利用者ｉのレコードでは、利用者ｉが未評価の商品に対しては、空欄で示しても良い。
【００８９】
利用者ｉが未評価の商品（商品ｊ）を取り出す（ステップＳ１３）。評価値データベース３１から取り出された利用者ｉのレコードから未評価値に対応する商品名が取り出され、商品ｊに設定される。
【００９０】
そして、評価値推定部３３は、類似度データベース３２を参照し、商品ｊに類似した商品のうち利用者ｉが評価済みの商品の集合neighbor(j)を求める（ステップＳ１４）。類似度データベース３２を参照して、類似度が所定値（例えば、０．７）以上を示す商品ｊとの組み合せを検索し、商品ｊと組み合せられた商品が、集合neighbor(j)に含まれる。
【００９１】
利用者ｉの商品ｊへの評価値の推定値（推定評価値）とその分散（推定分散）とを計算し、計算した値を推定情報データベース３３に記録する（ステップＳ１５）。数８、数９、及び数１０等によって、利用者ｉの商品ｊへの評価値の推定値（推定評価値）をその分散（推定分散）が最小となるように計算される。評価値の推定値（推定評価値）は推定評価値テーブル３３ａに記録され、評価値の推定値（推定評価値）の分散（推定分散）は推定分散テーブル３３ｂに記録される。
【００９２】
評価値推定部３３は、利用者ｉが未評価の商品全てについて処理したか否かを判断する（ステップＳ１６）。利用者ｉが未評価の商品全てについて処理が終了していない場合、ステップＳ１３へ戻り、上記同様の処理を繰り返す。
【００９３】
一方、利用者ｉが未評価の商品全てについて処理が終了した場合、評価値推定部３３は、全ての利用者について処理したか否かを判断する（ステップＳ１７）。全ての利用者について処理を終了していない場合、評価値推定部３３は、評価値データベース３１から次の利用者のレコードを取り出すために、利用者ｉを１インクリメント（ステップＳ１８）して、ステップＳ１２へと戻り、上述同様の処理を繰り返す。
【００９４】
一方、全ての利用者について処理を終了した場合、評価値推定部３３は、この処理を終了する。上述した評価値推定部３３による処理は、バッチ処理で行えば良い。
【００９５】
次に、推薦商品決定部４４での処理について図１３で説明する。図１３は、推薦商品決定部での処理を説明するためのフローチャート図である。図１３において、推薦商品決定部４４での処理は、利用者ａのショッピングサイトへのログインに応じて開示される。
【００９６】
推薦商品決定部４４は、利用者ａの評価値の推定値がしきい値ｖ１以上となる商品のリストを作成する（ステップＳ３１）。推定評価値テーブル３３ａを参照することによって、しきい値ｖ１以上となる商品の商品名を一覧にした対象商品リスト３５が、作成され記憶部１３０に格納される。
【００９７】
推薦商品決定部４４は、対象商品リスト３５から商品を１つ取り出す（ステップＳ３２）。対象商品リスト３５から順に商品名が取得され、商品ｉに設定される。
【００９８】
推薦商品決定部４４は、購入パターンテーブル３４ａ又は３４ｂを参照することによって得られる利用者ａの購入確率ｇａ（ｘ）と、推定評価値テーブル３３ａを参照することによって得られる商品ｉの評価値の推定値（推定評価値）と、推定分散テーブル３３ｂを参照することによって得られる推定分散テーブル３３ｂとから、利用者ａが商品ｉを買う確率を示す購入確率Ｐａ，ｂを計算する（ステップＳ３３）。
【００９９】
推薦商品決定部４４は、購入確率Ｐａ，ｂがしきい値ｖ２以上となるか否かを判断する（ステップＳ３４）。購入確率Ｐａ，ｂがしきい値ｖ２未満の場合、推薦商品決定部４４は、ステップＳ３５へと進む。一方、購入確率Ｐａ，ｂがしきい値ｖ２以上となる場合、推薦商品決定部４４は、記憶部１３０に作成しておいた推薦商品リスト３６に商品ｉを追加する（ステップＳ３４−２）。推薦商品リスト３６には、商品ｉ（商品名）と購入確率Ｐａ，ｂとが格納される。
【０１００】
推薦商品決定部４４は、対象商品リスト３５の全商品に対して処理を終了したか否かを判断する（ステップＳ３５）。対象商品リスト３５の全商品に対して処理を終了していない場合、推薦商品決定部４４は、ステップＳ３２へと戻り、上述同様の処理を繰り返す。対象商品リスト３５の全商品に対して処理を終了した場合、推薦商品決定部４４は、記憶部１３０に格納されている推薦商品リスト３６に一覧された商品名を購入確率Ｐａ，ｂの大きい順にソートする（ステップＳ３６）。
【０１０１】
そして、推薦商品決定部４４は、ソートした推薦商品リスト３６の順番で商品を利用者ａに推薦する（ステップＳ３７）。ソートした順番で商品名が利用者ａの利用者端末９に表示される。推薦商品リスト３６が空の場合、商品の推薦は行われない。
【０１０２】
推薦商品決定部４４が、商品を利用者ａに推薦する際に参照する推薦商品リスト３６は、例えば、図１４に示すようなデータ構成例を有する。図１４は、推薦商品リストのデータ構成例を示す図である。
【０１０３】
図１４において、推薦商品リスト３６は、商品名、購入確率等の項目を有する。この例において、購入確率の大きい順にソートされた状態が示され、購入確率が高い順に、購入確率「０．９８」の商品５、購入確率「０．９５」の商品１２、購入確率「０．９０」の商品９、・・・等となることが分かる。
【０１０４】
上述したように、本実施例では、ショッピングサイトにおいて、ユーザに商品を推薦するに際し、利用者の評価済み商品をある商品と類似する商品と類似する度合いが高い方から評価値の線形和をかけ、評価値の予測値の誤差の分散を最小にする係数及び分散の推定値を得ることで、商品毎の推定値及び評価値の分布から、利用者がより購入する可能性の高い商品を決定して利用者に推薦する。
【０１０５】
従って、ショッピングサイトにログインした利用者毎に、過去に評価した商品と類似度の高い商品に対する評価値の推定値のばらつきを考慮した購入確率を取得することができるため、精度良く購入確度の高い商品を特定でき、利用者に推薦することができる。
【０１０６】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【０１０７】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
コンピュータによって実行される商品推薦方法であって、
評価値推定部が、記憶部に記憶される類似度データベースに格納される商品間の類似度を参照して、利用者毎に、該利用者が未だ評価していない未評価商品に類似した商品のうち該利用者が評価済みの商品の評価値を用いて、該利用者の該未評価商品の評価値を推定した推定評価値と、該推定評価値の真の評価値に対する分散とを計算し、
前記評価値推定部が、前記利用者毎に、前記計算された推定評価値と分散とを夫々、該未評価商品の商品名に対応付けて前記記憶部内の推定情報データベースに格納し、
推薦商品決定部が、前記記憶部に記憶された前記推定情報データベースに格納される、ログインした利用者の前記評価済みの商品に係る購入確率と、前記未評価商品の商品名に対応づけられる前記推定評価値と、該推定評価値の分散とから、前記未評価商品の購入確率を計算し、
前記推薦商品決定部が、前記計算した未評価商品の購入確率の大きい順で商品名を前記ログインした利用者の利用者端末に表示する
ことを特徴とする商品推薦方法。
（付記２）
前記評価値推定部が、前記利用者毎に、前記真の評価値を該利用者の該利用者が評価済みの商品と類似度の高い方から所定個の商品に対する該利用者の評価値の線形和で表し、該真の評価値に対する前記推定評価値の誤差の分散が小さくなるように該線形和の係数を算出する
ことを特徴とする付記１記載の商品推薦方法。
（付記３）
前記推薦商品決定部が、前記記憶部の前記推定情報データベースを参照して、前記ログインした利用者の未評価商品に対する推定評価値が第１所定値以上となる商品名を取得して、該商品名に対応づけられる、前記推定評価値と、該推定評価値の分散とから、前記未評価商品の購入確率を計算する
ことを特徴とする付記１又は２記載の商品推薦方法。
（付記４）
前記推薦商品決定部が、前記ログインした利用者の前記推定評価値と、該推定評価値の分布と、前記評価値の確率モデルとから、前記未評価商品に対する推定評価値の確率密度分布を求め、
前記推薦商品決定部が、前記確率密度分布と、前記利用者の前記評価済みの商品に係る購入確率とから、前記未評価商品の購入確率を計算する
ことを特徴とする付記３記載の商品推薦方法。
（付記５）
前記評価済みの商品に係る購入確率は、前記利用者が商品を買う所定評価値以上の確率を１とし、該所定評価値未満の確率を０とする
ことを特徴とする付記４記載の商品推薦方法。
（付記６）
商品間の類似度を格納した類似度データベースを記憶した記憶部と、
前記類似度データベースを参照して、利用者毎に、該利用者が未だ評価していない未評価商品に類似した商品のうち利用者が評価済みの商品の評価値を用いて、該利用者の未評価商品の評価値を推定した推定評価値と、該推定評価値の真の評価値に対する分散とを計算して、該利用者毎に、前記計算された推定評価値と分散とを夫々、該未評価商品の商品名に対応付けて前記記憶部内の推定情報データベースに格納する評価値推定部と、
前記記憶部に記憶された前記推定情報データベースに格納される、ログインした利用者の前記評価済みの商品に係る購入確率と、前記未評価商品の商品名に対応づけられる前記推定評価値と、該推定評価値の分散とから、前記未評価商品の購入確率を計算し、該計算した未評価商品の購入確率の大きい順で商品名を前記ログインした利用者の利用者端末に表示する推薦商品決定部と
を有することを特徴とするサーバ装置。
（付記７）
記憶部に記憶される類似度データベースに格納される商品間の類似度を参照して、利用者毎に、該利用者が未だ評価していない未評価商品に類似した商品のうち利用者が評価済みの商品の評価値を用いて、該利用者の未評価商品の評価値を推定した推定評価値と、該推定評価値の真の評価値に対する分散とを計算し、
前記利用者毎に、前記計算された推定評価値と分散とを夫々、該未評価商品の商品名に対応付けて前記記憶部内の推定情報データベースに格納し、
前記記憶部に記憶された前記推定情報データベースに格納される、ログインした利用者の前記評価済みの商品に係る購入確率と、前記未評価商品の商品名に対応づけられる前記推定評価値と、該推定評価値の分散とから、前記未評価商品の購入確率を計算し、
前記計算した未評価商品の購入確率の大きい順で商品名を前記ログインした利用者の利用者端末に表示する
処理をコンピュータに実行させるプログラム。
【符号の説明】
【０１０８】
２            ネットワーク
４            Ｗｅｂサーバ
９            利用者端末
１１          ＣＰＵ
１２          主記憶装置
１３          補助記憶装置
１４          入力装置
１５          表示装置
１６          出力装置
１７          通信Ｉ／Ｆ
１８          ドライブ
１９          記憶媒体
３１          評価値データベース
３２          類似度データベース
３３          推定情報データベース
３３ａ        推定評価値テーブル
３３ｂ        推定分散テーブル
４１          評価値記録部
４２          類似度計算部
４３          評価値推定部
４４          推薦商品決定部
１００        レコメンデーションシステム
１３０        記憶部
【図１】
0005900154.tif 000017
【図２】
0005900154.tif 000018
【図３】
0005900154.tif 000019
【図４】
0005900154.tif 000020
【図５】
0005900154.tif 000021
【図６】
0005900154.tif 000022
【図７】
0005900154.tif 000023
【図８】
0005900154.tif 000024
【図９】
0005900154.tif 000025
【図１０】
0005900154.tif 000026
【図１１】
0005900154.tif 000027
【図１２】
0005900154.tif 000028
【図１３】
0005900154.tif 000029
【図１４】
0005900154.tif 000030