(57)【要約】【課題】ネットワーク上のユーザに対してレコメンデーションを行う範囲をユーザ毎に調整する方法を提供すること。【解決手段】サーバ１０は、複数の前記ユーザの端末から、ユーザ特性データを、通信ネットワークを介して受信し、受信した前記ユーザ特性データに基づいて、複数の前記ユーザの特性を確率空間にマッピングし、マッピングした前記確率空間においてそれぞれの前記ユーザの間の球面距離を計算し、計算した前記球面距離に基づいて、複数の前記ユーザのうち、特定のユーザとその他のユーザとの間の属性の重複度合いを表す属性重複指数データを計算し、計算した前記属性重複指数データについて、前記ユーザのリスク回避度を表すパラメータに依存した非線形平均を計算することによって、前記特定のユーザに対してレコメンデーションを行うためのレコメンデーションリストを生成する。【選択図】図３
2008146610.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークを介して接続可能な端末のユーザに対してサーバがレコメンデーションを行う方法であって、
複数の前記ユーザの端末から、複数の前記ユーザの基本属性データ又はログデータを少なくとも含んで構成するユーザ特性データを、前記通信ネットワークを介して受信するステップと、
受信した前記ユーザ特性データに基づいて、複数の前記ユーザの特性を確率空間にマッピングするステップと、
マッピングした前記確率空間においてそれぞれの前記ユーザの間の球面距離を計算するステップと、
計算した前記球面距離に基づいて、複数の前記ユーザのうち、特定のユーザとその他のユーザとの間の属性の重複度合いを表す属性重複指数データを計算するステップと、
計算した前記属性重複指数データについて、前記ユーザのリスク回避度を表すパラメータに依存した非線形平均を計算することによって、前記特定のユーザに対してレコメンデーションを行うためのレコメンデーションリストを生成するステップと、
生成した前記レコメンデーションリストに基づいて、前記特定のユーザの端末にレコメンデーションを行うためのデータを送信するステップと、を含む方法。
【請求項２】
前記サーバが、前記ユーザのリスク回避度を表すパラメータの設定入力を受け付けるステップを更に含む請求項１に記載の方法。
【請求項３】
前記球面距離を計算するステップにおいて、前記サーバは、前記球面距離としてバッタチャヤの球面距離を計算する請求項１又は請求項２に記載の方法。
【請求項４】
前記サーバは、前記バッタチャヤの球面距離を
【数１】
2008146610.tif 000032
によって計算する請求項３に記載の方法。
【請求項５】
前記属性重複指数データを計算するステップにおいて、前記サーバは、前記バッタチャヤの球面距離を前記属性重複指数データとして計算する請求項４に記載の方法。
【請求項６】
前記属性重複指数データを計算するステップにおいて、前記サーバは、前記ユーザ特性データに基づいて前記その他のユーザの行動を示す確率分布を計算し、更に前記バッタチャヤの球面距離に基づいて計算するウエイトを掛けたものを前記属性重複指数データとして計算する請求項４に記載の方法。
【請求項７】
前記サーバは、前記ウエイトを
【数２】
2008146610.tif 000033
によって計算し、
前記属性重複指数データを
【数３】
2008146610.tif 000034
によって計算する請求項６に記載の方法。
【請求項８】
前記サーバが、計算した前記バッタチャヤの球面距離に基づいて、それぞれの前記ユーザを中心として、その他の全ての前記ユーザとの相対距離を計算するステップと、
計算した前記相対距離に基づいて、前記複数のユーザを前記相対距離の近い複数のグループに分類するステップと、を更に含み、
前記属性重複指数データを計算するステップにおいて、前記サーバは、前記特定のユーザと同じグループに分類された前記その他のユーザについて前記属性重複指数データを計算する請求項３から請求項７のいずれかに記載の方法。
【請求項９】
前記サーバは、前記相対距離を
【数４】
2008146610.tif 000035
によって計算する請求項８に記載の方法。
【請求項１０】
通信ネットワークを介して接続可能な端末のユーザに対してレコメンデーションを行うサーバであって、前記サーバは、
複数の前記ユーザの端末から、複数の前記ユーザの基本属性データ又はログデータを少なくとも含んで構成するユーザ特性データを、前記通信ネットワークを介して受信する手段と、
受信した前記ユーザ特性データに基づいて、複数の前記ユーザの特性を確率空間にマッピングする手段と、
マッピングした前記確率空間においてそれぞれの前記ユーザの間の球面距離を計算する手段と、
計算した前記球面距離に基づいて、複数の前記ユーザのうち、特定のユーザとその他のユーザとの間の属性の重複度合いを表す属性重複指数データを計算する手段と、
計算した前記属性重複指数データについて、前記ユーザのリスク回避度を表すパラメータに依存した非線形平均を計算することによって、前記特定のユーザに対してレコメンデーションを行うためのレコメンデーションリストを生成する手段と、
生成した前記レコメンデーションリストに基づいて、前記特定のユーザの端末にレコメンデーションを行うためのデータを送信する手段と、を含むサーバ。
【請求項１１】
通信ネットワークを介して接続可能な端末のユーザに対してサーバにレコメンデーションを行わせるプログラムであって、前記サーバに、
複数の前記ユーザの端末から、複数の前記ユーザの基本属性データ又はログデータを少なくとも含んで構成するユーザ特性データを、前記通信ネットワークを介して受信させるステップと、
受信した前記ユーザ特性データに基づいて、複数の前記ユーザの特性を確率空間にマッピングさせるステップと、
マッピングした前記確率空間においてそれぞれの前記ユーザの間の球面距離を計算させるステップと、
計算した前記球面距離に基づいて、複数の前記ユーザのうち、特定のユーザとその他のユーザとの間の属性の重複度合いを表す属性重複指数データを計算させるステップと、
計算した前記属性重複指数データについて、前記ユーザのリスク回避度を表すパラメータに依存した非線形平均を計算することによって、前記特定のユーザに対してレコメンデーションを行うためのレコメンデーションリストを生成させるステップと、
生成した前記レコメンデーションリストに基づいて、前記特定のユーザの端末にレコメンデーションを行うためのデータを送信させるステップと、を含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上のユーザに対するレコメンデーションの方法、レコメンデーションサーバ及びプログラムに関する。
【背景技術】
【０００２】
近年、インターネットの社会への普及に伴い、Ｗｅｂその他のネットワーク環境において、ユーザはＷｅｂブラウザその他の技術的手段により情報を単に閲覧するだけではなく、商品を購入したり、属性の近いもの同士で情報を送受信してコミュニティを作ったり、といった現実社会における活動と同様の活動をするようになってきた。
【０００３】
ところで、当該Ｗｅｂその他のネットワーク環境においては、ユーザの情報閲覧、商品購入、コミュニティにおける情報の送受信等の活動を記録することは比較的容易である。具体的には、例えば、Ｗｅｂ上でユーザの会員登録等を受け付けることによって、サーバが当該ユーザの基本属性を記憶したり、当該会員登録等を行ったユーザのＷｅｂ上での情報閲覧、商品購入等の活動を、サーバがログ（活動記録）として自動的に収集、記憶したり、といったことが可能である。
【０００４】
そこで、当該Ｗｅｂその他のネットワーク環境において、登録された基本属性やログ（活動記録）等に基づいてユーザに興味があると考えられる商品やサービスを推薦したり（レコメンデーション）、広告を送信したり、属性が近いと思われるユーザを紹介したり（ソーシャル・ネットワーキング・サービス；ＳＮＳ）、といったサービスが行われている。
【０００５】
例えば、特許文献１に記載の技術によれば、Ｗｅｂサーバは、ユーザの購買記録に基づいて当該ユーザの興味を分析し、その分析結果に基づいて、商品推薦（レコメンデーション）を行うことができる。
【０００６】
より具体的には、Ｗｅｂサーバが、全てのユーザの過去の購買記録に基づいて、人気商品を特定し、その人気商品を購入したユーザが購入した別の商品の購入頻度を集計し、これらの人気商品とその他の商品との間の購入に関する相関を分析し、以ってそれぞれの人気商品について購入頻度において相関の強いその他の商品をその特定商品を購入したユーザに推薦する。
【０００７】
また、例えば、非特許文献１の技術によれば、Ｗｅｂサーバは、ユーザの購買記録や商品の評価記録（レイティング）に基づいて、商品推薦を行うことができる。
【０００８】
より具体的には、Ｗｅｂサーバは、類似商品テーブルを生成し、人気商品を購入したユーザをサンプリングして当該ユーザの購買記録や商品の評価記録（レイティング）に基づいて、当該人気商品を購入したユーザが購入或いはレイティングを行った商品に類似した商品を相関の強い商品として推薦する。
【特許文献１】米国特許第６，９１２，５０５号公報
【非特許文献１】Ａｍａｚｏｎ．ｃｏｍ  Ｒｅｃｏｍｍｅｎｄａｔｉｏｎｓ，Ｉｔｅｍ−ｔｏ−Ｉｔｅｍ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｆｉｌｔｅｒｉｎｇ，Ｇｒｅｇ  Ｌｉｎｄｅｎ，  Ｂｒｅｎｔ  Ｓｍｉｔｈ，ａｎｄ  Ｊｅｒｅｍｙ  Ｙｏｒｋ，Ａｍａｚｏｎ．ｃｏｍ，Ｊａｎｕａｒｙ・Ｆｅｂｒｕａｒｙ  ２００３，  ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｓｏｃｉｅｔｙ
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１及び非特許文献１に記載された発明において、レコメンデーションを行うに当たって、ユーザではなく、まず商品に着目するアプローチを採っていること、及び、人気商品を購入したユーザがあわせて購入した商品との「相関」を用いることに関していくつか課題が存在する。
【００１０】
第１の課題は、一般に相関は−１から１の間の値を取り得ると考えられているが、実際にはより限られた範囲の値しか取らない分布が多々存在している。具体的には例えば、−０．２から＋０．６の値しか取らないことも考えられる。このような状況においては、例えば、「相関が＋０．７の場合にユーザの属性が近いと判断する」等とした場合、相関を用いてもユーザの属性の重複度合いを判断することができない。
【００１１】
第２の課題は、相関を用いる分析において、あるユーザ同士の相関が負の値を持つ場合、その値は一般には破棄されてしまうが、仮にあるユーザ同士の相関が負の大きな値を持つ場合、そのユーザ同士は明らかに依存性を持っているといえるため、相関により依存性を捉えることには限界があるといえる。
【００１２】
第３の課題は、相関はユーザの属性を表す確率分布に関するグローバルな情報を含んでいないということである。具体的には、あるユーザ同士の属性の重複度合いが比較的大きい場合においても、相関はそれを察知できるとは限らない。即ち、あるユーザの属性の重複度合いが全く無い場合は相関はゼロであるので正しい判断を下すことができるが、逆に相関がゼロであっても属性の重なり度合いが比較的大きい場合も存在し、無相関＝無関係として誤った判断を下すことになるのである。特に、相関は２次のモーメントにしか依存しないため、複数のユーザの行動特性の確率分布が与えられたとき、テールに関する情報は相関を用いた分析結果に現れないことである。例として、Ａ及びＢ２人のユーザがある商品を購入する頻度を示す確率分布が当該商品の価格に対して例えばＡがパワー型、Ｂがガウス型のテールを持つ場合、このテールの部分には決定的な違いがある。即ち、Ｂは高額の商品を薦めても購入する見込みは無いが、Ａは商品が気に入れば購入する可能性がある。しかしながら、高次のモーメントに依存しないため、相関はこのような差異を判断する情報を与えることができない。
【００１３】
第４の課題は、相関は線形の関係を表現することができるが、非線形の関係を表現することができないことである。具体的には、２つの確率変数ＸとＹがＹ＝ａＸ＋ｂの関係（線形の関係）を有している場合には、相関を用いた分析は有意義な情報を与えることができるが、これら２つの確率変数が例えばＹ＝Ｓｉｎ（Ｘ）の関係（周期的に依存する関係）を有している場合（例えば、ネットワークへのアクセス数Ｙと時間Ｘとの関係がこれに当たる）、相関を用いた分析はこのような周期的に依存する関係について有意義な情報を与えることができない（つまり、ＸとＹの依存性は高いが、相関はゼロとなる）。
【００１４】
さらに、相関を用いる、用いないにかかわらず、次のような課題も存在する。即ち、第５の課題は、相関を用いる、用いないにかかわらず、従来のレコメンデーションは商品基準（商品重視）となっていることがあげられる。例えば中年の男性がたまたま５歳の娘に絵本を購入したからといって、５歳向けの絵本ばかりレコメンデーションしてもその効用は小さい。むしろ、興味の似通った人の購入したものを推薦したほうが望ましい。
【００１５】
そこで、商品重視ではなく、ユーザ重視であり、また、相関を用いることなくネットワーク上のユーザに対してレコメンデーションを行う範囲を当該ユーザ毎に調整する方法を提供することが望まれている。
【００１６】
そこで、本発明は、ネットワーク上のユーザに対してレコメンデーションを行う範囲をユーザ毎に調整する方法、レコメンデーションサーバ及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
上述の目的を達成するために、本発明者らは研究を重ね、本発明を完成するに至った。具体的には、本発明は以下のようなものを提供する。
【００１８】
（１）  通信ネットワーク（通信ネットワーク３０）を介して接続可能な端末（端末２０）のユーザに対してサーバ（サーバ１０）がレコメンデーションを行う方法であって、
複数の前記ユーザの端末から、複数の前記ユーザの基本属性データ又はログデータを少なくとも含んで構成するユーザ特性データを、前記通信ネットワークを介して受信するステップと、
受信した前記ユーザ特性データに基づいて、複数の前記ユーザの特性を確率空間にマッピングするステップと、
マッピングした前記確率空間においてそれぞれの前記ユーザの間の球面距離を計算するステップと、
計算した前記球面距離に基づいて、複数の前記ユーザのうち、特定のユーザとその他のユーザとの間の属性の重複度合いを表す属性重複指数データを計算するステップと、
計算した前記属性重複指数データについて、前記ユーザのリスク回避度を表すパラメータに依存した非線形平均を計算することによって、前記特定のユーザに対してレコメンデーションを行うためのレコメンデーションリストを生成するステップと、
生成した前記レコメンデーションリストに基づいて、前記特定のユーザの端末にレコメンデーションを行うためのデータを送信するステップと、を含む方法。
【００１９】
本発明のこのような構成によれば、前記サーバは、複数の前記ユーザの端末から、複数の前記ユーザの基本属性データ又はログデータを少なくとも含んで構成するユーザ特性データを、前記通信ネットワークを介して受信し、受信した前記ユーザ特性データに基づいて、複数の前記ユーザの特性を確率空間にマッピングし、マッピングした前記確率空間においてそれぞれの前記ユーザの間の球面距離を計算し、計算した前記球面距離に基づいて、複数の前記ユーザのうち、特定のユーザとその他のユーザとの間の属性の重複度合いを表す属性重複指数データを計算し、計算した前記属性重複指数データについて、前記ユーザのリスク回避度を表すパラメータに依存した非線形平均を計算することによって、前記特定のユーザに対してレコメンデーションを行うためのレコメンデーションリストを生成し、生成した前記レコメンデーションリストに基づいて、前記特定のユーザの端末にレコメンデーションを行うためのデータを送信することができる、という作用を有する。
【００２０】
このことにより、前記サーバは、計算した前記球面距離に基づいて、前記特定のユーザとその他のユーザとの間の属性の重複度合いを表す属性重複指数データを計算し、計算した前記属性重複指数データに基づいて、前記特定の複数のユーザに対するレコメンデーションリストを生成してレコメンデーションを行うためのデータを前記特定のユーザの端末に送信することができる。
【００２１】
その結果、前記サーバは、前記属性重複指数データを計算することによって、レコメンデーションを行うユーザ毎にパーソナライズされたレコメンデーションを行うことができる。
【００２２】
ここで用いる球面距離は、ユーザの属性を表す分布に関してその重複度が大きければ大きいほど限りなくゼロに近づき、また小さければ小さいほどその最大値であるπ／２に近づく。即ち、球面距離は、０〜π／２の値を取り得、ユーザの属性の分布によって、「相関」のように、その取り得る範囲がそれ以下の範囲に限定されることがない。このように本発明の原理によれば、第１の課題を解決することができる。
【００２３】
なお、当該球面距離の値は、インプットであるユーザ特性データの全てを反映した値であり、「相関」のように負の値が廃棄されることがない。このように本発明の原理によれば、第２の課題を解決することができる。
【００２４】
また、当該球面距離は、グローバルなレベルでユーザの属性の重複度合いを表しているので、基本的にグローバルな全てのモーメントが関与しており、包括的な情報を含んでいるといえる。従って、当該球面距離は、上述の例のように、Ａ及びＢ２人のユーザがある商品を購入する頻度を示す確率分布が当該商品の価格に対して例えばＡがパワー型、Ｂがガウス型のテールを持つ場合において、「相関」が当該テールの違いを十分に表すことができないのと対照的である。このように本発明の原理によれば、第３の課題を解決することができる。
【００２５】
更に、距離の概念においては、異なるユーザの利用特性を表す確率変数の依存性には無関係に距離が定まる。このため、依存性が線形であるか否かに関わらず、球面距離はユーザの属性の重複度合いを表現することができる。従って、当該球面距離は、「相関」のように線形の依存関係しか十分に表現することができない、という制約から解放されている。このように本発明の原理によれば、第４の課題を解決することができる。
【００２６】
また、ユーザが購入や検索をした商品を用いて当該ユーザ間の距離を定めるのであるが、このような距離が一旦定まったならば、レコメンデーションに関しては（商品重視ではなく）ユーザ観点に基づいて決定するため、このような本発明の原理によれば、第５の課題を解決することができる。
【００２７】
（２）前記サーバが、前記ユーザのリスク回避度を表すパラメータの設定入力を受け付けるステップを更に含む（１）に記載の方法。
【００２８】
本発明のこのような構成によれば、前記サーバが、前記ユーザのリスク回避度を表すパラメータの設定入力を受け付けることができる、という作用を有する。
【００２９】
このことにより、前記サーバは、前記サーバは、前記前記パラメータが表すリスク回避度に応じた属性重複指数データの非線形平均を計算することによって、レコメンデーションを行うユーザ毎にパーソナライズされたレコメンデーションを行うことができる。
【００３０】
その結果、前記サーバは、特定のユーザにレコメンデーションを行う際に、前記特定のユーザとその他のユーザとの間の属性の重なり度合いを表すスケール上でレコメンデーションを行う範囲を調整することができる。
【００３１】
（３）  前記球面距離を計算するステップにおいて、前記サーバは、前記球面距離としてバッタチャヤの球面距離を計算する（１）又は（２）に記載の方法。
【００３２】
本発明のこのような構成によれば、前記サーバは、前記球面距離としてバッタチャヤの球面距離を計算することができる、という作用を有する。
（４）  前記サーバは、前記バッタチャヤの球面距離を
【数１】
2008146610.tif 000003
によって計算する（３）に記載の方法。
【００３３】
本発明のこのような構成によれば、前記サーバは、前記バッタチャヤの球面距離を
【数２】
2008146610.tif 000004
によって計算することができる、という作用を有する。
【００３４】
（５）  前記属性重複指数データを計算するステップにおいて、前記サーバは、前記バッタチャヤの球面距離を前記属性重複指数データとして計算する（４）に記載の方法。
【００３５】
本発明のこのような構成によれば、前記サーバは、前記バッタチャヤの球面距離を前記属性重複指数データとして計算することができる、という作用を有する。
【００３６】
（６）  前記属性重複指数データを計算するステップにおいて、前記サーバは、前記ユーザ特性データに基づいて前記その他のユーザの行動を示す確率分布を計算し、更に前記バッタチャヤの球面距離に基づいて計算するウエイトを掛けたものを前記属性重複指数データとして計算する（４）に記載の方法。
【００３７】
本発明のこのような構成によれば、前記サーバは、前記ユーザ特性データに基づいて前記その他のユーザの行動を示す確率分布を計算し、更に前記バッタチャヤの球面距離に基づいて計算するウエイトを掛けたものを前記属性重複指数データとして計算することができる、という作用を有する。
【００３８】
このことにより、前記サーバは、前記特定のユーザに対してレコメンデーションを行う際に、前記その他のユーザの行動を示す確率分布に前記バッタチャヤの球面距離に基づいて計算するウエイトを掛けたものを前記属性重複指数データとして計算し、前記属性重複指数データが示す前記特定のユーザと前記その他のユーザとの間の属性の重なり度合いを表すスケール上でレコメンデーションを行う範囲を調整することができる。
（７）  前記サーバは、前記ウエイトを
【数３】
2008146610.tif 000005
によって計算し、
前記属性重複指数データを
【数４】
2008146610.tif 000006
によって計算する（６）に記載の方法。
【００３９】
本発明のこのような構成によれば、前記サーバは、前記ウエイトを
【数５】
2008146610.tif 000007
によって計算し、
前記属性重複指数データを
【数６】
2008146610.tif 000008
によって計算することができる、という作用を有する。
【００４０】
（８）  前記サーバが、計算した前記バッタチャヤの球面距離に基づいて、それぞれの前記ユーザを中心として、その他の全ての前記ユーザとの相対距離を計算するステップと、
計算した前記相対距離に基づいて、前記複数のユーザを前記相対距離の近い複数のグループに分類するステップと、を更に含み、
前記属性重複指数データを計算するステップにおいて、前記サーバは、前記特定のユーザと同じグループに分類された前記その他のユーザについて前記属性重複指数データを計算する（３）から（７）のいずれかに記載の方法。
【００４１】
本発明のこのような構成によれば、前記サーバが、計算した前記バッタチャヤの球面距離に基づいて、それぞれの前記ユーザを中心として、その他の全ての前記ユーザとの相対距離を計算し、計算した前記相対距離に基づいて、前記複数のユーザを前記相対距離の近い複数のグループに分類し、前記属性重複指数データを計算するステップにおいて、前記サーバは、前記特定のユーザと同じグループに分類された前記その他のユーザについて前記属性重複指数データを計算することができる、という作用を有する。
【００４２】
このことにより、前記サーバは、前記特定のユーザと同じグループに分類された前記その他のユーザについて前記属性重複指数データを計算し、レコメンデーションリストを生成して前記特定のユーザの端末にレコメンデーションを行うためのデータを送信することができる。
【００４３】
ここで、ユーザの特性を表す確率空間において、前記相対距離は、それぞれの前記ユーザを中心として個々に計算されるので、当該中心となるユーザにとってのそれぞれの前記その他のユーザとの間の属性の重複度合いを表現することができる。
【００４４】
従って、前記サーバは、前記属性重複指数データを計算する際に、前記特定のユーザと同じグループに分類された、より属性の重複度合いの高い前記その他のユーザに絞って計算し、前記レコメンデーションリストを生成して前記特定のユーザの端末にレコメンデーションを行うためのデータを送信することができる。
【００４５】
その結果、前記サーバは、前記レコメンデーションリストの精度をより高めることができる可能性がある。
【００４６】
（９）  前記サーバは、前記相対距離を
【数７】
2008146610.tif 000009
によって計算する（８）に記載の方法。
【００４７】
本発明のこのような構成によれば、前記サーバは、前記相対距離を
【数８】
2008146610.tif 000010
によって計算することができる、という作用を有する。
【００４８】
このことにより、前記サーバは、前記特定のユーザと同じグループに分類された前記その他のユーザについて前記属性重複指数データを計算し、レコメンデーションリストを生成してレコメンデーションを行うためのデータを前記特定のユーザの端末に送信することができる。
【００４９】
その結果、前記サーバは、前記特定のユーザと同じグループに分類された前記その他のユーザのみに基づいてレコメンデーションを行うことができる。
【００５０】
（１０）  通信ネットワークを介して接続可能な端末のユーザに対してレコメンデーションを行うサーバであって、前記サーバは、
複数の前記ユーザの端末から、複数の前記ユーザの基本属性データ又はログデータを少なくとも含んで構成するユーザ特性データを、前記通信ネットワークを介して受信する手段と、
受信した前記ユーザ特性データに基づいて、複数の前記ユーザの特性を確率空間にマッピングする手段と、
マッピングした前記確率空間においてそれぞれの前記ユーザの間の球面距離を計算する手段と、
計算した前記球面距離に基づいて、複数の前記ユーザのうち、特定のユーザとその他のユーザとの間の属性の重複度合いを表す属性重複指数データを計算する手段と、
計算した前記属性重複指数データについて、前記ユーザのリスク回避度を表すパラメータに依存した非線形平均を計算することによって、前記特定のユーザに対してレコメンデーションを行うためのレコメンデーションリストを生成する手段と、
生成した前記レコメンデーションリストに基づいて、前記特定のユーザの端末にレコメンデーションを行うためのデータを送信する手段と、を含むサーバ。
【００５１】
本発明のこのような構成によれば、前記サーバは、複数の前記ユーザの端末から、複数の前記ユーザの基本属性データ又はログデータを少なくとも含んで構成するユーザ特性データを、前記通信ネットワークを介して受信し、受信した前記ユーザ特性データに基づいて、複数の前記ユーザの特性を確率空間にマッピングし、マッピングした前記確率空間においてそれぞれの前記ユーザの間の球面距離を計算し、計算した前記球面距離に基づいて、複数の前記ユーザのうち、特定のユーザとその他のユーザとの間の属性の重複度合いを表す属性重複指数データを計算し、計算した前記属性重複指数データについて、前記ユーザのリスク回避度を表すパラメータに依存した非線形平均を計算することによって、前記特定のユーザに対してレコメンデーションを行うためのレコメンデーションリストを生成し、生成した前記レコメンデーションリストに基づいて、前記特定のユーザの端末にレコメンデーションを行うためのデータを送信することができる、という作用を有する。
【００５２】
このことにより、前記サーバを運用することにより、（１）と同様の作用が期待できる。
【００５３】
（１１）通信ネットワークを介して接続可能な端末のユーザに対してサーバにレコメンデーションを行わせるプログラムであって、前記サーバに、
複数の前記ユーザの端末から、複数の前記ユーザの基本属性データ又はログデータを少なくとも含んで構成するユーザ特性データを、前記通信ネットワークを介して受信させるステップと、
受信した前記ユーザ特性データに基づいて、複数の前記ユーザの特性を確率空間にマッピングさせるステップと、
マッピングした前記確率空間においてそれぞれの前記ユーザの間の球面距離を計算させるステップと、
計算した前記球面距離に基づいて、複数の前記ユーザのうち、特定のユーザとその他のユーザとの間の属性の重複度合いを表す属性重複指数データを計算させるステップと、
計算した前記属性重複指数データについて、前記ユーザのリスク回避度を表すパラメータに依存した非線形平均を計算することによって、前記特定のユーザに対してレコメンデーションを行うためのレコメンデーションリストを生成させるステップと、
生成した前記レコメンデーションリストに基づいて、前記特定のユーザの端末にレコメンデーションを行うためのデータを送信させるステップと、を含むプログラム。
【００５４】
本発明のこのような構成によれば、前記サーバは、
複数の前記ユーザの端末から、複数の前記ユーザの基本属性データ又はログデータを少なくとも含んで構成するユーザ特性データを、前記通信ネットワークを介して受信し、受信した前記ユーザ特性データに基づいて、複数の前記ユーザの特性を確率空間にマッピングし、マッピングした前記確率空間においてそれぞれの前記ユーザの間の球面距離を計算し、計算した前記球面距離に基づいて、複数の前記ユーザのうち、特定のユーザとその他のユーザとの間の属性の重複度合いを表す属性重複指数データを計算し、計算した前記属性重複指数データについて、前記ユーザのリスク回避度を表すパラメータに依存した非線形平均を計算することによって、前記特定のユーザに対してレコメンデーションを行うためのレコメンデーションリストを生成し、生成した前記レコメンデーションリストに基づいて、前記特定のユーザの端末にレコメンデーションを行うためのデータを送信することができる、という作用を有する。
【００５５】
このことにより、前記サーバを運用することにより、（１）と同様の作用が期待できる。
【発明の効果】
【００５６】
本発明によれば、前記サーバは、前記属性重複指数データを計算することによって、レコメンデーションを行うユーザ毎にパーソナライズされたレコメンデーションリストを生成することができる。従って、前記サーバは、特定のユーザにレコメンデーションを行う際に、前記特定のユーザとその他のユーザとの間の属性の重なり度合いを表すスケール上でレコメンデーションを行う範囲を調整することができる。
【発明を実施するための最良の形態】
【００５７】
以下、本発明の実施形態について図面を参照して説明する。
【００５８】
図１は、本発明の好適な実施形態の一例に係るシステム１の全体構成を示す図である。図２は、本発明の好適な実施形態の一例に係るサーバ１０及び端末２０の構成を示す図である。図３は、本発明の好適な実施形態の一例に係るサーバ１０によるレコメンデーション処理を示すフローチャートである。図４は本発明の好適な実施形態の一例に係るサーバ１０による３つのガウス分布の平均操作について説明するために元のガウス分布を示す図である。図５は、本発明の好適な実施形態の一例に係るサーバ１０による図４の３つのガウス分布に対するαの値が非常に大きい場合（悲観的）の平均と非常に小さい場合の平均（楽観的）と比較する図である。図６は、本発明の好適な実施形態の一例に係るサーバ１０によるユーザ（利用者）ａ１から他のユーザ（利用者）までの距離の（非線形）平均を一般のαの関数として示した図である。図７は、本発明の好適な実施形態の一例に係るサーバ１０によるユーザ（利用者）ａ３の球面距離の非線形平均Θ３（α）及び（Θ３１，Θ３２，Θ３４）を比較して示す図である。
【００５９】
［システムの全体構成］
【００６０】
図１は、本発明の好適な実施形態の一例に係るシステム１の全体構成を示す図である。
【００６１】
サーバ１０は、通信ネットワーク３０を介して、ユーザの端末２０と接続可能である。
【００６２】
サーバ１０と端末２０の接続の形態としては、有線でも無線でもよい。
【００６３】
［サーバ１０のハードウェア構成］
【００６４】
図２は、図１で説明した本発明の好適な実施形態の一例に係るサーバ１０のハードウェア構成の一例を示す図である。サーバ１０は、制御部１０１を構成するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１０（マルチプロセッサ構成ではＣＰＵ１０１２等複数のＣＰＵが追加されてもよい）、バスライン１００５、通信Ｉ／Ｆ１０４０、メインメモリ１０５０、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）１０６０、ＵＳＢポート１０９０、Ｉ／Ｏコントローラ１０７０、並びにキーボード及びマウス１１００等の入力手段や表示装置１０２２を備える。
【００６５】
Ｉ／Ｏコントローラ１０７０には、テープドライブ１０７２、ハードディスク１０７４、光ディスクドライブ１０７６、半導体メモリ１０７８、等の記憶手段を接続することができる。
【００６６】
ＢＩＯＳ１０６０は、サーバ１０の起動時にＣＰＵ１０１０が実行するブートプログラムや、サーバ１０のハードウェアに依存するプログラム等を格納する。
【００６７】
記憶部１０７を構成するハードディスク１０７４は、サーバ１０がサーバとして機能するための各種プログラム及び本発明の機能を実行するプログラムを記憶しており、更に必要に応じて各種データベースを構成可能である。
【００６８】
光ディスクドライブ１０７６としては、例えば、ＤＶＤ−ＲＯＭドライブ、ＣＤ−ＲＯＭドライブ、ＤＶＤ−ＲＡＭドライブ、ＣＤ−ＲＡＭドライブを使用することができる。この場合は各ドライブに対応した光ディスク１０７７を使用する。光ディスク１０７７から光ディスクドライブ１０７６によりプログラム又はデータを読み取り、Ｉ／Ｏコントローラ１０７０を介してメインメモリ１０５０又はハードディスク１０７４に提供することもできる。また、同様にテープドライブ１０７２に対応したテープメディア１０７１を主としてバックアップのために使用することもできる。
【００６９】
サーバ１０に提供されるプログラムは、ハードディスク１０７４、光ディスク１０７７、又はメモリーカード等の記録媒体に格納されて提供される。このプログラムは、Ｉ／Ｏコントローラ１０７０を介して、記録媒体から読み出され、又は通信Ｉ／Ｆ１０４０を介してダウンロードされることによって、サーバ１０にインストールされ実行されてもよい。
【００７０】
前述のプログラムは、内部又は外部の記憶媒体に格納されてもよい。ここで、記憶部１０７を構成する記憶媒体としては、ハードディスク１０７４、光ディスク１０７７、又はメモリーカードの他に、ＭＤ等の光磁気記録媒体、テープ媒体を用いることができる。また、専用通信回線やインターネットに接続されたサーバシステムに設けたハードディスク１０７４又は光ディスクライブラリー等の記憶装置を記録媒体として使用し、通信回線を介してプログラムをサーバ１０に提供してもよい。
【００７１】
ここで、表示装置１０２２は、ユーザにデータの入力を受け付ける画面を表示したり、サーバ１０による演算処理結果の画面を表示したりするものであり、ブラウン管表示装置（ＣＲＴ）、液晶表示装置（ＬＣＤ）等のディスプレイ装置を含む。
【００７２】
ここで、入力手段は、ユーザによる入力の受け付けを行うものであり、キーボード及びマウス１１００等により構成してよい。
【００７３】
また、通信Ｉ／Ｆ１０４０は、サーバ１０を専用ネットワーク又は公共ネットワークを介して端末と接続できるようにするためのネットワーク・アダプタである。通信Ｉ／Ｆ１０４０は、モデム、ケーブル・モデム及びイーサネット（登録商標）・アダプタを含んでよい。
【００７４】
以上の例は、サーバ１０について主に説明したが、コンピュータに、プログラムをインストールして、そのコンピュータをサーバ装置として動作させることにより上記で説明した機能を実現することもできる。したがって、本発明において一実施形態として説明したサーバにより実現される機能は、上述の方法を当該コンピュータにより実行することにより、或いは、上述のプログラムを当該コンピュータに導入して実行することによっても実現可能である。
［ユーザの端末２０のハードウェア構成］
【００７５】
ここでユーザの端末２０は、上述のサーバ１０と同様の構成を備えてよい。
［レコメンデーション処理］
【００７６】
サーバ１０は、図３に示すようにレコメンデーション処理を行う。
【００７７】
まず、制御部１０１は、通信ネットワーク３０を介して複数のユーザの端末２０から前記複数のユーザの基本属性データ又はログデータを少なくとも含んで構成するユーザ特性データを受信して記憶する（ステップＳ１０１）。
【００７８】
具体的には、例えば、前記ユーザの性別、年齢、職業、興味のある分野等を含む基本属性データ又は、商品・サービスの購入履歴、商品・サービスに対する評価記録（レイティング）等のデータを受け付ける。
【００７９】
次に、制御部１０１は、受信した前記ユーザ特性データに基づいて、複数の前記ユーザの特性を確率空間にマッピングする（ステップＳ１０２）。
【００８０】
次に、制御部１０１は、受信した前記ユーザ特性データに基づいて、前記複数のユーザの特性を含む確率空間においてそれぞれの前記ユーザ間のバッタチャヤの球面距離を計算する（ステップＳ１０３）。
【００８１】
次に、制御部１０１は、複数の前記ユーザのうち、特定のユーザとその他のユーザとの間の属性の重複度合いを表す属性重複指数データを計算する（ステップＳ１０４）。
【００８２】
次に、制御部１０１は、計算した前記属性重複指数データについて、非線形平均を計算する（ステップＳ１０５）。
【００８３】
次に、制御部１０１は、計算した前記属性重複指数データの非線形平均に基づいて、前記特定のユーザに対してレコメンデーションを行うためのレコメンデーションリストを生成する（ステップＳ１０６）。
【００８４】
ここで、非線形平均（α混合平均）について説明する。
【００８５】
α混合平均を用いて確率分布の非線形平均をとることに関して、変数αが極端に大きい、又は小さい値をとることによる効果を把握するために次の例を考える。ここでは３つのガウス分布に対する平均操作を行う。具体的に元となる分布が図４のように与えられていたとする。そこでこれら３つの分布の線形平均（図の実線）を、αの値が非常に大きい場合（悲観的＝図の点線）の平均と非常に小さい場合の平均（楽観的＝図の一点鎖線）と比較すると図５が得られる。
【００８６】
そこで次の状況を考えてみる。仮に、これら３分布の平均が全てのｘに対して所与の臨界値を超えない場合にのみ何かの商品（又は薬剤）の推薦を行うとした状況である。仮にこの臨界値が０．２４であった（図の二点鎖線）場合、この例においては、αの値が非常に大きい、つまりリスク回避度がとても大きい値をとる場合、ｘの値が区間［０，１］の周辺値をとるときに、確率値が臨界値０．２４を超過しているため、推薦する可能性が却下されることが伺える。逆にリスク回避度（つまりαの値）がさほど大きくなければ全てのｘに対して確率値が臨界値０．２４を超過しないため、推薦（レコメンド）する可能性が採用されることとなる。
【００８７】
次に、制御部１０１は、生成した前記レコメンデーションリストに基づいて、前記特定のユーザの端末にレコメンデーションを行うためのデータを送信する（ステップＳ１０７）。
【００８８】
ここで、上述のレコメンデーション処理を具体的な例を用いて説明する。
［実施例１］
バッタチャヤの球面距離Θの非線形平均に基づいたレコメンデーションの例
【００８９】
ここでは、ユーザ間の距離Θの非線形平均操作に基づいたユーザに対するレコメンデーションリスト（推薦リスト）を作成する例を考える。
【００９０】
そこで顧客数も分類数も共に４であった場合を想定する。そしてユーザ属性を表す分布関数ρｎ（ｋ）が以下のように与えられたとする。
【数９】
2008146610.tif 000011
このときの球面距離は
【数１０】
2008146610.tif 000012
のように求まる。
【００９１】
そこでΘの非線形平均Θｎ（α）は
【数１１】
2008146610.tif 000013
によって求める。
【００９２】
そこでユーザ（利用者）ａ３に着目してΘ３（α）を求め、これを（Θ３１，Θ３２，Θ３４）と比較したものを図７に示す。図７において、Θ３（α）は実線、Θ３１は一点鎖線、Θ３２は点線、Θ３４は二点鎖線で示す。
【００９３】
この例ではリスク回避度合を表す変数αをアルゴリズムの利用者（例えば、レコメンデーションサービス提供業者）が適当に選ぶ必要がある。仮に比較的非保守的な値α＝−５が選ばれた場合、
【数１２】
2008146610.tif 000014
であるので、この値よりも小さな距離をとるユーザが、着目しているユーザａ３からみて興味が近いと判断される。この場合、レコメンデーションリストはユーザａ１及びユーザａ４のリストより選ばれる。逆に比較的保守的な値α＝１０が選ばれたとき
【数１３】
2008146610.tif 000015
であるので、この値よりも小さな距離をとるユーザはａ１のみとなる。
［実施例２］
球面距離の非線形平均に基づいてユーザ（利用者）が自らレコメンデーションリスト（推薦リスト）の類似性度合いを調整して推薦を受ける例
【００９４】
非線形平均（α混合平均）の考えを用いて、ユーザ（利用者）が自らレコメンデーションリスト（推薦リスト）の類似性度合いを調整して推薦を受けるシステムに対する応用を考える。つまり、非常に保守的なユーザ（利用者）は、スライドパラメータの値を０にとることによって最も属性（趣味）の重複度が大きい他のユーザ（利用者）が購入した商品のレコメンデーション（推薦）を受け、或いはチャレンジ意欲の大きいユーザ（利用者）はスライドパラメータの値を１に近くとることによって、かなり属性（興味）の異なるユーザ（利用者）のリストよりレコメンデーション（推薦）を受けるというシステムを考える。
【００９５】
具体的に各ユーザ（利用者）は０から１の間の値をとる変数ｔを指定する。この変数に基づいて、非線形平均（α混合平均）のパラメータαの値を
【数１４】
2008146610.tif 000016
のように選ぶ。
【００９６】
ここで、ユーザ（利用者）間の属性（興味）の重複度に関しては、一般的な商品やサービスに関しての購入数又は検索数によって得られた各ユーザ（利用者）のヒストグラムに基づいて得られる確率分布に対する重複度（＝球面距離）Θｍｎによって与える。
【００９７】
そこでｎ番目のユーザ（利用者）が何らかのｔｎを選んだとき、このユーザ（利用者）に対するαｎが上述の式によって定まる。このαｎに基づいて、
【数１５】
2008146610.tif 000017
を計算する。その結果として定まる距離Θ（ｎ）の値に最も近い値をとるユーザ（利用者）、つまり
【数１６】
2008146610.tif 000018
によって定まるｍ＊番目のユーザ（利用者）を次に決定する。そのユーザ（利用者）（そのような利用者は複数存在することもおおいにありうる）の属性（興味）の大きな商品やサービスの中から、ｎ番目のユーザ（利用者）がまだ購入や利用をしていないものをレコメンド（推薦）するのである。
【００９８】
次に、上述の概念を理解するための具体例としてユーザ（利用者）が全体で８名であった場合を想定する。そしてユーザ（利用者）ａ１に注目し、このユーザ（利用者）から測った他のユーザ（利用者）までの距離が
【数１７】
2008146610.tif 000019
と与えられたとする。更にユーザ（利用者）ａ１はやや保守的な方で、変数ｔの値をｔ＝０．３と選んだものとする。ところでユーザ（利用者）ａ１から他のユーザ（利用者）までの距離の（非線形）平均は、一般のαの関数として図６のようになる（実線の曲線）。
【００９９】
図６にはユーザ（利用者）ａ１から他のユーザ（利用者）までの距離の値もそれぞれ示し（ａ２〜ａ８）、またその線形平均値も示した。ところで、ユーザ（利用者）ａ１はｔ＝０．３と選んだので、この選択に従って得られる距離の平均値（つまりａ１さんにとっての臨界値）を求めると、これは約０．７７と与えられる。このため、この臨界値に最も近い利用者とはａ３に他ならない。
【０１００】
具体的なレコメンデーションリスト（推薦リスト）は、以下の二通りに従って製作可能となる。
（１）臨界値以内のユーザ（利用者）のリストを用いる。臨界値を超えない範囲内の利用者はａ２及びａ３であるので、これら二名のリストにおいてａ１がまだ購入を行っていない商品を、ａ２及びａ３を合わせた頻度に従ってレコメンド（推薦）する。
（２）臨界値に最も近いユーザ（利用者）のリストを用いる。既に述べた通り、臨界値に最も近いユーザ（利用者）とはａ３であるため、ａ１がまだ購入を行っていない商品をａ３の商品リストより、その頻度に従ってレコメンド（推薦）する。
［実施例３］
バッタチャヤの球面距離Θを用いた非線形平均に基づいたレコメンデーションの例
【０１０１】
ここでは、ユーザ間の距離Θを用いた非線形平均操作を加えることによってユーザに対するレコメンデーションリスト（推薦リスト）を作成する例を、「本のレコメンデーション」という具体的を用いて示す。
【０１０２】
まずは、この例における入力項目を設定する。本の総数はＬによって与える。現実の書籍数は非常に多いので、ポピュラー小説、医学専門書、歴史もの、等といった具合に種類（カテゴリー）別に分類する必要がある。この分類項目数をＭとおく。これらの分類項目にｉ＝１からｉ＝Ｍまで、番号をつける。そしてｉ番目の分類はｂｉと呼称をつける。さて、顧客（ユーザ）の数は全てでＮ人いたとする。これらに関しても
【数１８】
2008146610.tif 000020
のように名前をつける。
【０１０３】
次に顧客（ユーザ）ａｎ氏が購入したｂｋ類の書籍の数は、Ｃｎ（ｋ）によって与える。同様に顧客（ユーザ）ａｎ氏が検索したｂｋ類の書籍の数をＤｎ（ｋ）によって与える。更に顧客（ユーザ）ａｎ氏が購入した書籍の総数を
【数１９】
2008146610.tif 000021
によって与え、また顧客（ユーザ）ａｎ氏が検索した（が購入しなかった）書籍の総数を
【数２０】
2008146610.tif 000022
によって与える。
【０１０４】
次に購入項目と検索項目に対する「相対比」をζ：１−ζによって与える。変数
【数２１】
2008146610.tif 000023
の値は、購入することに対する重要度を、検索することに対する重要度と比較して、このアルゴリズムの利用者（例えば、レコメンデーションサービス提供業者）が適当に選ぶ必要がある。
【０１０５】
以上の定義が与えられたとき、顧客（ユーザ）ａｎ氏に対する、異なる分野の書籍に関する確率分布を以下の式によって与える。
【数２２】
2008146610.tif 000024
このようにして、顧客（ユーザ）ａｎに関する属性を表す分布関数ρｎ（ｋ）が具体的に定まる。
【０１０６】
顧客（ユーザ）ａｎ及びａｍ間の球面距離は上述の通り
【数２３】
2008146610.tif 000025
によって決定する。
【０１０７】
更に重み関数μｎ（ｍ）をまた上述のように
【数２４】
2008146610.tif 000026
と設定する。
【０１０８】
そして、顧客（ユーザ）ａｎを中心とした観点から、趣味の重複が大きい順に本の分類の分布に関する情報を、α混合平均を用いて統合する。具体的にこれは
【数２５】
2008146610.tif 000027
と与えられる。
【０１０９】
最適であると思われる推薦リストとは、何かしらの選ばれたαに対して、Ｐｎα（ｋ）なる確率に従って推薦する本の分類を選ぶことである（顧客（ユーザ）ａｎが既に購入した書籍はそこから排除することは明らかであろう）。
【０１１０】
そこで顧客数も商品分類数も共に４であった場合を想定する。そしてユーザ属性を表す分布関数ρｎ（ｋ）が（実施例１と同様に）以下のように与えられたとする。
【数２６】
2008146610.tif 000028
このときの球面距離は
【数２７】
2008146610.tif 000029
のように求まる。
【０１１１】
同様に比重を与える関数μｎ（ｍ）を計算すると以下のような結果となる。
【数２８】
2008146610.tif 000030
【０１１２】
これらを用いて、顧客（ユーザ）ａ３に対する推薦リストを作成するのに必要な分布Ｐ３２１（ｋ）を、αの値を２１として求めた結果
【数２９】
2008146610.tif 000031
が得られる。
【０１１３】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施例に記載されたものに限定されるものではない。
【図面の簡単な説明】
【０１１４】
【図１】本発明に係るシステム１の全体構成を示す図である。
【図２】本発明に係るサーバ１０及び端末２０の構成を示す図である。
【図３】本発明に係るサーバ１０によるレコメンデーション処理を示すフローチャートである。
【図４】本発明に係るサーバ１０による３つのガウス分布の平均操作について説明するために元のガウス分布を示す図である。
【図５】本発明に係るサーバ１０による図４の３つのガウス分布に対するαの値が非常に大きい場合（悲観的）の平均と非常に小さい場合の平均（楽観的）と比較する図である。
【図６】本発明に係るサーバ１０によるユーザ（利用者）ａ１から他のユーザ（利用者）までの距離の（非線形）平均を一般のαの関数として示した図である。
【図７】本発明に係るサーバ１０によるユーザ（利用者）ａ３の球面距離の非線形平均Θ３（α）及び（Θ３１，Θ３２，Θ３４）を比較して示す図である。
【符号の説明】
【０１１５】
１  システム
１０  サーバ
２０  端末
３０  通信ネットワーク
【図１】
2008146610.tif 000036
【図２】
2008146610.tif 000037
【図３】
2008146610.tif 000038
【図４】
2008146610.tif 000039
【図５】
2008146610.tif 000040
【図６】
2008146610.tif 000041
【図７】
2008146610.tif 000042