説明

リコメンドシステム及びリコメンド方法

【課題】ユーザのプライバシーに関する情報や、店舗が有する固有の履歴情報を他者に開示することなく、良好な処理効率により的確なリコメンドを実施する。
【解決手段】リコメンドシステム1では、サーバ10及びリコメンド支援装置30の間では、それぞれ所定の方式により暗号化された端末プロファイル及び購入者履歴情報が交換され、これらの情報に基づきリコメンド支援装置においてプロファイル集計値が算出される。また、リコメンド支援装置30において、プロファイル集計値に基づき、リコメンドパラメータを商品ごとに得ることが可能となる。さらに、リコメンド支援装置30において、所定の方式により端末により暗号化されたユーザプロファイルがリコメンドパラメータを用いてさらに暗号化されて端末に送信され、端末50において、送信された情報に基づき商品ごとのリコメンド値が算出される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、リコメンドシステム及びリコメンド方法に関する。
【背景技術】
【0002】
ユーザがモバイル環境で有用な情報をタイムリーに手に入れるために、情報提示機能の高度化に対する要求が高まっている。モバイル環境で使用される端末では、画面サイズに制限があるため、効率の良い情報提示機能が必要である。情報提示機能の高度化の実現方法として、ユーザの属性や商品の購入履歴に基づいて、ユーザの趣向に合う商品を推薦するリコメンド技術が提案されている。しかしながら、ユーザ属性や商品の購入履歴といった推薦の元となるデータは、複数の企業にわたって管理されている場合が多い。このため、ユーザのプライバシーや企業のデータを保護するために、組織の枠を超えてリコメンドを行うことは難しかった。
【0003】
かかる事情のもと、近年、暗号プロトコルや統計的開示制御技術の導入により、組織の枠を超えてリコメンドを提供する方式が注目されている。リコメンドの方法としては、協調フィルタリングとコンテンツベースの方法が存在する。協調フィルタリングは、計算機が、あるユーザと購買履歴の似ているユーザを探し出し、その購買履歴の似ているユーザが購入した商品をリコメンドする。コンテンツベースの方法は、計算機が、あるユーザが好む商品と似ている商品を探し出し、その商品をリコメンドする。
【0004】
コンテンツベースの方法は、協調フィルタリングに比べて新商品のような履歴が少ない商品でもリコメンドし易いという利点を有する。両方法ともユーザのプライベートな情報を取り扱うため、ユーザのプライバシーを保護する必要がある。協調フィルタリングでは、秘匿積集合プロトコルを利用してプライバシーを保護する方法が提案されている。また、コンテンツベースの方法では、ユーザのプライバシーを保護するべく、ユーザの好みと商品のマッチングを、例えば洋服の寸法をS,M,Lといったサイズや、料理を和、洋、中というカテゴリで行う方法がある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−282353号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記のように、新商品のような履歴が少ない商品でも的確なリコメンドを実施すべく、コンテンツベースの方法を採用できることが好ましい。しかしながら、コンテンツベースの方法において、来店者の属性や履歴を開示することなく、顧客数や商品数が多い場合であっても、効率的なリコメンドが可能な方式は提案されていない。
【0007】
例えば、特定の事業者が有し当該事業者に属する会員のプロファイルを管理しているサーバ、特定の店舗が有し当該店舗において商品を購入した端末の情報を管理しているリコメンド支援装置、及びあるユーザが有し当該ユーザのプロファイルを記憶している端末の3者間において各々が有する情報が他者に開示されることなく、端末のユーザに適切なリコメンド情報を好適な処理効率により提供することが望まれている。
【0008】
そこで、本発明は、上記問題点に鑑みてなされたものであり、ユーザのプライバシーに関する情報や、店舗が有する固有の履歴情報を他者に開示することなく、良好な処理効率により的確なリコメンドを実施することが可能なリコメンドシステム及びリコメンド方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明のリコメンドシステムは、複数の端末の端末識別子と該端末のユーザのプロファイルとが対応付けられた端末プロファイルを記憶している端末プロファイル記憶手段を備えるサーバと、端末を識別する端末識別子と該端末のユーザにより購入された商品を示す情報とが対応付けられた購入者履歴情報を記憶している購入者履歴情報記憶手段を備えるリコメンド支援装置と、当該端末のユーザのプロファイルであるユーザプロファイルを記憶しているユーザプロファイル記憶手段を備える端末とを有するリコメンドシステムであって、サーバは、端末プロファイルを所定の方式により暗号化して生成した暗号化端末プロファイル、及びリコメンド支援装置により暗号化された購入者履歴情報である暗号化購入者履歴情報を所定に方式により暗号化して生成した2重暗号化購入者履歴情報をリコメンド支援装置に送信するプロファイル集計応答手段を備え、リコメンド支援装置は、購入者履歴情報を所定の方式により暗号化して生成した暗号化購入者履歴情報をサーバに送信し、該サーバから送信された暗号化端末プロファイル及び2重暗号化購入者履歴情報に基づき、商品を購入したユーザのプロファイルの集計値であるプロファイル集計値を当該商品ごとに算出するプロファイル集計値算出手段と、プロファイル集計値算出手段により算出されたプロファイル集計値に基づき、当該商品に関する端末のユーザに対するリコメンド情報を生成するためのリコメンドパラメータを所定の方式により算出するリコメンドパラメータ算出手段と、端末により暗号化されたユーザプロファイルである暗号化ユーザプロファイル、及びリコメンドパラメータ算出手段により算出されたリコメンドパラメータを用いた所定の暗号化処理により、リコメンド値の算出のためのリコメンド値算出支援情報を生成し、該リコメンド値算出支援情報を端末に送信するリコメンド値算出応答手段とを備え、端末は、ユーザプロファイルを所定の方式により暗号化して生成した暗号化ユーザプロファイルをリコメンド支援装置に送信し、該リコメンド支援装置からのリコメンド値算出支援情報に基づき、商品ごとのリコメンド値を算出するリコメンド値算出手段と、リコメンド値算出手段により算出されたリコメンド値に応じたリコメンド情報を出力するリコメンド出力手段とを備えることを特徴とする。
【0010】
また、上記課題を解決するために、本発明のリコメンド方法は、複数の端末の端末識別子と該端末のユーザのプロファイルとが対応付けられた端末プロファイルを記憶している端末プロファイル記憶手段を備えるサーバと、端末を識別する端末識別子と該端末のユーザにより購入された商品を示す情報とが対応付けられた購入者履歴情報を記憶している購入者履歴情報記憶手段を備えるリコメンド支援装置と、当該端末のユーザのプロファイルであるユーザプロファイルを記憶しているユーザプロファイル記憶手段を備える端末とを有するリコメンドシステムにおけるリコメンド方法であって、リコメンド支援装置が、購入者履歴情報を所定の方式により暗号化して生成した暗号化購入者履歴情報をサーバに送信する暗号化購入者履歴情報送信ステップと、サーバが、端末プロファイルを所定の方式により暗号化して生成した暗号化端末プロファイル、及び暗号化購入者履歴情報送信ステップにおいて送信された暗号化購入者履歴情報を所定に方式により暗号化して生成した2重暗号化購入者履歴情報をリコメンド支援装置に送信するプロファイル集計応答ステップと、リコメンド支援装置が、プロファイル集計応答ステップにおいて送信された暗号化端末プロファイル及び2重暗号化購入者履歴情報に基づき、商品を購入したユーザのプロファイルの集計値であるプロファイル集計値を当該商品ごとに算出するプロファイル集計値算出ステップと、リコメンド支援装置が、プロファイル集計値算出ステップにおいて算出されたプロファイル集計値に基づき、当該商品に関する端末のユーザに対するリコメンド情報を生成するためのリコメンドパラメータを所定の方式により算出するリコメンドパラメータ算出ステップと、端末が、ユーザプロファイルを所定の方式により暗号化して生成した暗号化ユーザプロファイルをリコメンド支援装置に送信する暗号化ユーザプロファイル送信ステップと、リコメンド支援装置が、暗号化ユーザプロファイル送信ステップにおいて送信された暗号化ユーザプロファイル、及びリコメンドパラメータ算出ステップにおいて算出されたリコメンドパラメータを用いた所定の暗号化処理により、リコメンド値の算出のためのリコメンド値算出支援情報を生成し、該リコメンド値算出支援情報を端末に送信するリコメンド値算出応答ステップと、端末が、リコメンド値算出応答ステップにおいて送信されたリコメンド値算出支援情報に基づき、商品ごとのリコメンド値を算出するリコメンド値算出ステップと、端末が、リコメンド値算出ステップにおいて算出されたリコメンド値に応じたリコメンド情報を出力するリコメンド出力ステップとを有することを特徴とする。
【0011】
本発明のリコメンドシステム及びリコメンド方法によれば、サーバ及びリコメンド支援装置の間では、それぞれ所定の方式により暗号化された端末プロファイル及び購入者履歴情報が交換され、これらの情報に基づきリコメンド支援装置においてプロファイル集計値が算出される。これにより、サーバが管理する端末プロファイルがリコメンド支援装置に漏洩されず、また、リコメンド支援装置が管理する購入者履歴情報がサーバに認識可能な状態で渡されることなく、リコメンド支援装置はプロファイル集計値を得ることができる。また、リコメンド支援装置において、プロファイル集計値に基づき、リコメンド支援装置において商品を購入する可能性の高いユーザの属性の傾向をリコメンドパラメータとして商品ごとに得ることが可能となる。さらに、リコメンド支援装置において、所定の方式により端末により暗号化されたユーザプロファイルがリコメンドパラメータを用いてさらに暗号化されて端末に送信され、端末において、送信された情報に基づき商品ごとのリコメンド値が算出される。これにより、端末は、端末が管理するユーザプロファイルを、リコメンド支援装置やサーバに認識可能な状態で取得されることなく、商品に関するリコメンド情報を得ることができる。
【0012】
また、本発明のリコメンドシステムでは、プロファイル集計応答手段は、端末プロファイルを、ハッシュ関数で暗号化し、当該プロファイル集計応答手段において生成した第1の乱数によりべき乗して暗号化端末プロファイルを生成し、暗号化購入者履歴情報を第1の乱数によりべき乗して2重暗号化購入者履歴情報を生成し、暗号化端末プロファイル及び2重暗号化購入者履歴情報をリコメンド支援装置に送信し、プロファイル集計値算出手段は、購入者履歴情報を、ハッシュ関数で暗号化し、当該プロファイル集計値算出手段において生成した第2の乱数によりべき乗して暗号化購入者履歴情報を生成し、暗号化購入者履歴情報をサーバに送信し、サーバから送信された暗号化端末プロファイル及び2重暗号化購入者履歴情報に基づきプロファイル集計値を算出することを特徴とする。
【0013】
この構成によれば、購入者履歴情報は、加法準同型性を満たす方式であるハッシュ化及びべき乗処理を用いてリコメンド支援装置により暗号化され、サーバに送信され、さらにサーバにおいてべき乗処理された後にリコメンド支援装置に送信される。また、端末プロファイルは、ハッシュ化及びべき乗処理されてリコメンド支援装置に送信される。これにより、リコメンド支援装置において、購入者履歴情報及び端末プロファイルの共通集合としてのプロファイル集計値を適切に得ることが可能となる。
【0014】
また、本発明のリコメンドシステムでは、リコメンドパラメータ算出手段は、プロファイル集計値算出手段により算出されたプロファイル集計値に基づき、リコメンドパラメータをMAP推定により算出することを特徴とする。
【0015】
この構成によれば、プロファイル集計値に基づき、好適なリコメンドパラメータを得ることが可能となる。
【0016】
また、本発明のリコメンドシステムでは、リコメンド値算出応答手段は、暗号化ユーザプロファイルに対して、リコメンドパラメータ算出手段により算出されたリコメンドパラメータを用いたべき乗処理することによりリコメンド値算出支援情報を生成し、リコメンド値算出手段は、加法準同型性を満たす端末の公開鍵でユーザプロファイルを暗号化して暗号化ユーザプロファイルを生成し、加法準同型性を満たす端末の秘密鍵を用いてリコメンド値算出支援情報を復号化してリコメンド値を算出することを特徴とする。
【0017】
この構成によれば、ユーザプロファイルは、加法準同型性を満たす公開鍵で端末により暗号化、及びリコメンド支援装置に送信され、更にリコメンド支援装置において、リコメンドパラメータを用いてべき乗処理された後に端末に送信される。これにより、ユーザプロファイルとリコメンドパラメータとの秘匿内積計算が実現されるので、端末において、ユーザプロファイルとリコメンドパラメータとの内積に基づくリコメンド値を商品ごとに得ることができる。
【0018】
また、本発明のリコメンドシステムでは、リコメンド値算出応答手段は、当該リコメンド支援装置において任意に設定された調整パラメータを有し、所定の定数に対してリコメンドパラメータ算出手段により算出されたリコメンドパラメータを用いたべき乗処理をし、さらに、調整パラメータに基づき算出された値を乗じてリコメンド値算出支援調整情報を生成し、生成したリコメンド値算出支援調整情報を端末に送信し、リコメンド値算出手段は、加法準同型性を満たす端末の秘密鍵を用いてリコメンド値算出支援情報及びリコメンド値算出支援調整情報を復号化し、復号化されたリコメンド値算出支援情報及びリコメンド値算出支援調整情報を用いてリコメンド値を算出することを特徴とする。
【0019】
この構成によれば、リコメンド支援装置は、端末のユーザプロファイルだけではなく、リコメンド支援装置を有する店舗側の意向を加味して、端末へのリコメンドを行うこともできる。
【発明の効果】
【0020】
ユーザのプライバシーに関する情報や、店舗が有する固有の履歴情報を他者に開示することなく、良好な処理効率により的確なリコメンドを実施することが可能となる。
【図面の簡単な説明】
【0021】
【図1】リコメンドシステムの機能的構成を示すブロック図である。
【図2】リコメンド支援装置のハードブロック図である。
【図3】リコメンドシステムを構成する各装置と処理に用いられる各種情報との関係を示す図である。
【図4】リコメンドシステムにおけるリコメンド方法の処理内容を示すタイミングチャートである。
【図5】実用性における従来手法と本実施形態の手法との比較を示す図である。
【発明を実施するための形態】
【0022】
まず、本実施形態のリコメンドシステムの説明に先立って、本実施形態の方式の背景となる従来方式に関する説明をする。以下に、従来方式として、秘匿内積計算を用いたナイーブベイズ識別器、及びセキュアマッチングを用いたクロス集計を説明する。これらの方式は、いずれもサーバ、リコメンド支援装置及び端末間において、各装置が有するデータを他の装置に対して秘匿したままで、端末に対してリコメンドを実施することを目的としている。
【0023】
[秘匿内積計算を用いたナイーブベイズ識別器]
・サーバ及びリコメンド支援装置間の処理
Vaidyaらは、分割したデータベースを互いに秘匿したままでナイーブベイズ識別器を実現する方式を提案している(Jaideep Vaidya, and Chris Clifton. Privacy preserving naive bayesclassfier for vertically partitioned data. In Society for Industrial andApplied Mathematics, 2008.)。属性情報を保持するサーバとクラス情報を保持するリコメンド支援装置とが協働して、ナイーブベイズの計算を行う。ただし、本方式では、サーバ及びリコメンド支援装置がそれぞれ持っているデータは同期していることが前提とされる。
【0024】
ナイーブベイズの独立性の仮定から、式(1)に示すように、x(l)のそれぞれの条件下におけるy(l)の条件付確率Pが求められ、未知パラメータが学習される。
【数1】

【0025】
サーバ及びリコメンド支援装置がそれぞれ持っているデータは同期していることが前提であるで、式(1)に示す条件付確率の計算式では、Nが打ち消され合う。また、リコメンド支援装置は、単独で|x(l)|を計算できる。よって、y(l)・x(l)の内積計算さえできれば、リコメンド支援装置は、未知パラメータを学習できる。この内積計算は、いわゆる秘匿内積計算プロトコルで実現される。ここで、秘匿内積計算プロトコルの一般的な記述を以下に示す。秘匿内積計算では、原理的にべき乗計算が必要となるので、計算効率を高めることは困難である。
【0026】
[秘匿内積計算]
【0027】
ここで説明する秘匿内積計算では、サーバが有するx=(x,・・・,x)及びリコメンド支援装置が有するy=(y,・・・,y)を入力とする。なお、x及びyはn次元のベクトルである。そして、x・y(xとyの内積)を出力とする。
1.リコメンド支援装置は、加法準同型性を満たすリコメンド支援装置の公開鍵でyを暗号化して、サーバにE(y),・・・,E(y)を送る。なお、E(y)は、暗号化されたyを表す。
2.サーバは、送信された情報を各々xでべき乗処理してE(yx1,・・・,E(yxnを得る。そして、これをシャッフルしてリコメンド支援装置に送信する。
3.リコメンド支援装置は、加法準同型性を満たすリコメンド支援装置の秘密鍵で、サーバから受信したメッセージに基づき、
x・y=Σi=1D{E(x)}=Σi=1D{E(yxi
といった計算処理により、出力を得る。
【0028】
・リコメンド支援装置及び端末間の処理
二者間秘匿回路計算プロトコル(A. C. Yao. How to generate and exchangesecrets (extended abstract). In IEEE FOCS '86, pp. 162-167, 1986.)を実行して、最大尤度のクラスを求めることにより、データの識別が行われる。しかしながら、このプロトコルによる計算コストは高い。
【0029】
以上のように、上記方式による処理は、計算効率、計算コストにおいて、好適ではなく、顧客数や商品数が多い場合において、処理が困難となる。後述する本実施形態では、計算効率の向上が図られており、処理速度が向上されている。
【0030】
[セキュアマッチングを用いたクロス集計]
・サーバ及びリコメンド支援装置間の処理
Agrawalらは、可換な一方向性関数を用いて、ハッシュ値の生成にO(n)、照合にO(log n)のコストで計算できる照合タグ方式を提案した(R. Agrawal, A. V. Ev_mievski, and R. Srikant. Information sharingacross private databases. In ACM SIGMOD 2003, pp. 86-97, 2003.)。また、千田らは、ランダムオラクルモデルの上で照合タグ方式の安全性を証明し(千田, 五十嵐, 高橋. 照合タグを用いた秘匿共通集合計算プロトコルとその応用. コンピュータセキュリティシンポジウム2009, IPSJ, 2009.)、さらに計算量と通信量を削減して、クロス集計表を効率的に作成する方式を提案している(千田, 寺田, 山口, 五十嵐, 濱田. セキュアマッチングを用いた組織間クロス分析. コンピュータセキュリティシンポジウム2010, IPSJ, 2010.)。
・リコメンド支援装置及び端末間の処理
クロス集計表から、安全にデータを識別する方法は提案されていない。
【0031】
以上のように、上記方式による処理では、端末のユーザは、好適なリコメンド情報を、自らのプロファイルを公開することなく得ることはできない。後述する本実施形態では、ユーザのプロファイルが秘匿されたままで、端末がリコメンド情報を得ることが可能である。
【0032】
続いて、本発明に係るリコメンドシステム及びリコメンド方法の実施形態について図面を参照して説明する。なお、可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
【0033】
図1は、リコメンドシステム1の機能的構成を示すブロック図である。図1に示すように、リコメンドシステム1は、サーバ10、リコメンド支援装置30及び端末50を有する。
【0034】
サーバ10は、例えば、特定の事業者が有するサーバであって、当該事業者に属する会員のプロファイルを管理している。リコメンド支援装置30は、特定の店舗が有する装置であって、当該店舗において商品を購入した端末の情報を商品と対応付けて管理している。端末50は、ユーザが有する端末であって、当該ユーザのプロファイルを記憶している。
【0035】
ここで、本実施形態の説明において用いられる記号及び用語の定義を以下に述べる。
【0036】
は、サーバ10において管理されている会員の端末識別子である。
【数2】


は、サーバ10において管理されている会員数である。なお、Zは整数の集合を表す(以下、同様)。即ち、上記の表記は、tがN個の整数であることを示す。
【0037】
Xは、サーバ10において管理されている会員のプロファイルであって、V行N列のマトリクスである。
【数3】


Vは、プロファイルの項目数である。xnAは、Xに含まれる一の要素である。vは、一のプロファイル項目を示し、nは、一の会員を示す。なお、Rは実数の集合を表す(以下、同様)。即ち、上記の表記は、xが実数であることを示す。即ち、一の会員のプロファイルは、当該会員の属性を示し、v次元のベクトルデータとして表されることができる。
【0038】
は、リコメンド支援装置30において管理されている購入者履歴情報における購入者の端末識別子である。
【数4】


は、リコメンド支援装置30において管理されている延べの購入者数である。即ち、同一ユーザが商品を2回購入した場合には、当該購入者は、数Nの集計において2回数えられている。
【0039】
Yは、リコメンド支援装置30において管理されている購入された商品を示す情報であって、L行N列のマトリクスである。
【数5】


Lは、商品の種類数である。yl,nBは、Yに含まれる一の要素である。yにおけるl番目の要素の値が1である場合には、n番目の購入者により商品lが買われたことを示す。括弧内の式は、1人の購入者は、1回の購入において1個の商品を購入することを示す。
【0040】
x´は、端末50のユーザのプロファイルであって、v次元のベクトルデータである。なお、文字xに付されたダッシュは、当該データが当該端末50のユーザに関するものであることを意味し、以降で引用する式においても同様である。
【数6】

【0041】
πは、l番目の商品についての、サーバ10が管理する会員のプロファイルの集計値であって、v次元のベクトルである。
【数7】

【0042】
θは、l番目の商品についてのリコメンドパラメータであって、v次元の確率ベクトルである。
【数8】


このθは、(Σv=1θ(l)=1)の式により正規化されている。なお、文字θに付されたハット記号(^)は、当該データがサーバ10に管理される会員に関するデータ及びリコメンド支援装置30の店舗における購入者に関するデータに基づくものであることを意味し、以降で引用する式においても同様である。
【0043】
Pは、l番目の商品についての、端末50に対するリコメンド値である。
【数9】


即ち、Pは、(x´,θ^(l))といった条件下におけるy´(l)の条件付確率として表される。
【0044】
図2は、リコメンド支援装置30のハードウエア構成図である。リコメンド支援装置30は、物理的には、図2に示すように、CPU101、主記憶装置であるRAM102及びROM103、データ送受信デバイスである通信モジュール104、ハードディスク、フラッシュメモリ等の補助記憶装置105、入力デバイスであるキーボード等の入力装置106、ディスプレイ等の出力装置107などを含むコンピュータシステムとして構成されている。図1に示した各機能は、図2に示すCPU101、RAM102等のハードウエア上に所定のコンピュータソフトウェアを読み込ませることにより、CPU101の制御のもとで通信モジュール104、入力装置106、出力装置107を動作させるとともに、RAM102や補助記憶装置105におけるデータの読み出し及び書き込みを行うことで実現される。また、サーバ10及び端末50も、図2に示したリコメンド支援装置30と同様のハードウエア構成を有するコンピュータシステムとして構成される。
【0045】
再び、図1を参照してリコメンドシステム1を説明する。サーバ10は、端末プロファイル記憶部11(端末プロファイル記憶手段)及びプロファイル集計応答部12(プロファイル集計応答手段)を備える。リコメンド支援装置30は、購入者履歴情報記憶部31(購入者履歴情報記憶手段)、プロファイル集計値算出部32(プロファイル集計値算出手段)、リコメンドパラメータ算出部33(リコメンドパラメータ算出手段)及びリコメンド値算出応答部34(リコメンド値算出応答手段)を備える。端末50は、ユーザプロファイル記憶部51(ユーザプロファイル記憶手段)、リコメンド値算出部52(リコメンド値算出手段)、及びリコメンド出力部53(リコメンド出力手段)を備える。以下、図1を参照しながら、各機能部の機能を説明する。
【0046】
端末プロファイル記憶部11は、サーバ10が管理する複数の会員の端末の端末識別子と該端末のユーザのプロファイルとが対応付けられた端末プロファイルXを記憶している記憶手段である。
【0047】
プロファイル集計値応答部12は、端末プロファイルXを所定の方式により暗号化して生成した暗号化端末プロファイル、及びリコメンド支援装置30により暗号化された購入者履歴情報Yである暗号化購入者履歴情報を所定に方式により暗号化して生成した2重暗号化購入者履歴情報をリコメンド支援装置30に送信する部分である。
【0048】
購入者履歴情報記憶部31は、リコメンド支援装置30を有する店舗において購入された商品を示す情報と、その商品を購入した端末を識別する識別子とが対応付けられた購入者履歴情報Yを記憶している記憶手段である。
【0049】
プロファイル集計値算出部32は、購入者履歴情報Yを所定の方式により暗号化して生成した暗号化購入者履歴情報をサーバ10に送信する部分である。ここで、暗号化の所定の方式は、例えば、ハッシュ化及び乱数によるべき乗処理である。また、プロファイル集計値算出部32は、サーバ10から送信された暗号化端末プロファイル及び2重暗号化購入者履歴情報に基づき、商品を購入したユーザのプロファイルの集計値であるプロファイル集計値πを当該商品ごとに算出する機能を有する。
【0050】
なお、一般に暗号化とは、復号化可能な変換処理を指す。一方、ハッシュ化は、不可逆であり復号化不可能な変換処理である。しかし、本発明及び本実施形態の説明においては、ハッシュ化を「ハッシュ関数により暗号化」として、暗号化の一種として取り扱うこととする。
【0051】
リコメンドパラメータ算出部33は、プロファイル集計値算出部32により算出されたプロファイル集計値πに基づき、端末のユーザに対する当該商品に関するリコメンド情報を生成するためのリコメンドパラメータθを所定の方式により算出する部分である。
【0052】
リコメンド値算出応答部34は、端末50により暗号化されたユーザプロファイルx´である暗号化ユーザプロファイル、及びリコメンドパラメータ算出部33により算出されたリコメンドパラメータθを用いた所定の暗号化処理により、リコメンド値Pの算出のためのリコメンド値算出支援情報を生成し、該リコメンド値算出支援情報を端末に送信する部分である。
【0053】
端末50のユーザプロファイル記憶部51は、当該端末50のユーザのプロファイルであるユーザプロファイルx´を記憶している記憶手段である。
【0054】
リコメンド値算出部52は、ユーザプロファイルx´を所定の方式により暗号化して生成した暗号化ユーザプロファイルをリコメンド支援装置30に送信する部分である。ここで、暗号化のための所定の方式は、例えば、いわゆる秘匿内積計算の一部の処理である。また、リコメンド値算出部52は、リコメンド支援装置30からのリコメンド値算出支援情報に基づき、商品ごとのリコメンド値Pを算出する機能を有する。
【0055】
リコメンド出力部53は、リコメンド値算出部52により算出されたリコメンド値Pに応じたリコメンド情報を出力する部分である。
【0056】
リコメンド支援装置30のプロファイル集計値算出部32及びサーバ10のプロファイル集計値応答部12は、会員の端末識別子tと会員のプロファイルXを持つサーバ10と、購入者の端末識別子tと購入された商品の情報Yを持つリコメンド支援装置30とが、互いのプライバシーを保護しつつ情報を交換し、商品を購入した会員のプロファイル集計値πをリコメンド支援装置30だけが得る手段を構成する。リコメンド支援装置30は、サーバ10とのいわゆるセキュアマッチング処理により、l番目の商品についての会員のプロファイル集計値π(l)を得る。一般的なプロトコルではサーバ10及びリコメンド支援装置30の両方がプロファイル集計値を得るが、本方式では、リコメンド支援装置のみがプロファイル集計値πを得ることができる。
【0057】
リコメンド支援装置30のリコメンドパラメータ算出部33は、プロファイル集計値πを取得したリコメンド支援装置30が、商品lについてのリコメンドパラメータθを得る手段を構成する。即ち、リコメンドパラメータ算出部33は、l番目の商品についての会員のプロファイル集計値πを用いて、店舗のノウハウであるl番目の商品についてのリコメンドパラメータθを学習する。
【0058】
端末50のリコメンド値算出部52及びリコメンド支援装置30のリコメンド値算出応答部34は、リコメンドパラメータθを持つリコメンド支援装置30と、自機ユーザのプロファイルx´を持つ端末50とが、互いのプライバシーを保護しつつ情報を交換し、リコメンド支援装置30の店舗の商品の端末50に対するリコメンド値Pを端末50だけが得る手段を構成する。端末50は、リコメンド支援装置30とのいわゆる秘匿内積計算により、端末50のプロファイルx´と学習済みのl番目の商品についてのリコメンドパラメータθとを用いて、l番目の商品についての端末50へのリコメンド値Pを算出する。
【0059】
続いて、本実施形態のリコメンド情報の提供におけるユースケースと、当該ユースケースにおけるサーバ10、リコメンド支援装置30及び端末50それぞれのメリットについて説明する。即ち、本実施形態におけるユースケースは以下のとおりである。
【0060】
会員のユーザ属性(プロファイル)を管理している事業者のサーバ10と、店舗に備えられたリコメンド支援装置30と、その店舗に買い物にやってきたユーザの端末50との三者がいて、店舗の経営者は、端末50のユーザへのリコメンドにより、店舗の売り上げを上げたいと考えているとする。また、事業者は、サーバ10に管理している、顧客から預かったユーザ属性を漏洩したくない、といった事情が存在する。店舗の経営者は、当該店舗の売り上げ情報と、店舗で商品を購入したユーザ属性の統計値とを漏洩したくない、といった事情が存在する。店舗は、事業者の会員情報を持つ事業者のサーバ10とのコミュニケーションを通じて、店舗で商品を購入したユーザ属性(プロファイル)の統計値が得られる。ただし、ユーザ属性の統計値は、ある人数以上の顧客を集計対象とした場合にのみに限られる。
【0061】
端末50のユーザは、自身のユーザ属性(プロファイル)、及び当該ユーザが閲覧する商品の履歴を漏洩したくない、といった事情がある。端末50のユーザは、上記店舗に初めて来店したとしても、面倒な会員申し込み手続きなどをせずにスムーズにリコメンドを受けたい。ただし、端末50のユーザは、上記事業者の会員であるとは限らない。
【0062】
上記のユースケースを実現するには、サーバ10、リコメンド支援装置30及び端末50の三者が以下のようなメリットを享受できるようにしなければならない。
1.サーバ10は会員から預かっているユーザ属性(プロファイル)の情報漏えいを防止できる。
2.リコメンド支援装置30を備える店舗は、当該店舗で販売した商品の情報をサーバ10に渡さずに、当該店舗の商品を購入する可能性の高いユーザ属性の傾向を知ることができる。
3.端末50のユーザは、ユーザのプライバシー情報をサーバ10及びリコメンド支援装置30に渡さずに、ユーザが欲する商品を、当該ユーザが欲する可能性が高い順に商品を閲覧できる。
【0063】
次に、図3を参照して、本実施形態における、サーバ10を有する事業者、リコメンド支援装置30を有する店舗、及び端末50を有するユーザ間の関係と、3者が有する情報及び3者間でやり取りされる情報を説明する。
【0064】
ここでは、店舗にやってきた客は、1度の買い物でL種類の商品の中から1種類の商品だけを購入することとする。精度良いリコメンドを行うため、端末50へのリコメンド情報を算出する際には古くから実績のあるナイーブベイズ(Charu C. Aggarwal, and Philip S. Yu. Privacy-Preserving Data Mining:Models and Algorithms. Springer, 2008. )を用いることとする。ナイーブベイズのアプローチでは分布の仮定を置く必要があり、人の属性を表すプロファイルは多項分布に従うこととする。すなわち、プロファイルをV個の項目からなるベクトルで表して、各項目の値を0以上とする。また、リコメンドパラメータθの分布は、一般に用いられている共役事前分布を用いる(渡部. ベイズ統計学入門. 福村出版,1999.)。多項分布の共役事前分布はディレクレ分布であるので、リコメンドパラメータθをV個の項目からなるベクトルで表して、各項目の値の和を1とする。
【0065】
リコメンドパラメータθを求める際には、事後確率を最大にする観点から、l番目の商品についてのリコメンドパラメータθ(l)をMAP推定で求めることとする。本実施形態で用いられるベイズアプローチ識別器を一般的な表現で記述すると以下のようになる。
【0066】
[ベイズアプローチ識別機]
d´の事後の予測分布は式(2)により表される。
【数10】


リコメンドパラメータ算出部33は、学習データDを用いて、未知パラメータマトリクスθを事後確率最大の観点で学習する。ここで、学習データDは、会員のプロファイルであるユーザ属性マトリクスX∈RV×Nと購入された商品の情報である購買動向マトリクスY∈{0,1}L×Nとの組である。すなわち、D={X,Y}である。
【0067】
学習データDを得た後の未知パラメータθの事後確率はベイズの定理より、式(3)に示す比例関係が得られる。
【数11】


上記式(3)の比例関係の対数をとっても大小関係は変わらないので、上記式(3)の比例関係の対数の式で未知パラメータマトリクスθ∈RV×Lを変化させ、事後確率を最大とする未知パラメータθ^を下記式(4)により求める。
【数12】

【0068】
Dの事後の予測分布にθ^を代入すれば、未知の属性x^をL個のクラスに識別するベイズ識別器は式(5)のようになる。
【数13】

【0069】
ナイーブベイズは説明変数の独立性を仮定する手法である。そのため、サーバ10が有する会員のプロファイルのV個の項目は独立であるとみなされるとする。すなわち、l 番目の商品を購入した会員のv番目のプロファイルの値を独立に集計できれば良い。スケールメリットを得るには、サーバ10にプロファイルが管理されている会員数Nやリコメンド支援装置30の店舗での購入者数Nが多くなっても破綻なく処理されることが要求されるため、サーバ10がリコメンド支援装置30に会員のプロファイル集計値πを開示するのにセキュアマッチング(千田, 寺田, 山口, 五十嵐, 濱田. セキュアマッチングを用いた組織間クロス分析. コンピュータセキュリティシンポジウム2010, IPSJ, 2010.)を用いることとする。
【0070】
多項分布は指数分布族であるので、l番目の商品についての端末50へのリコメンド値Pを算出する際に、端末50のユーザプロファイルx´とリコメンドパラメータθの対数との内積計算が必要となる。端末50のユーザのプライバシーと、リコメンド支援装置30の店舗のノウハウとを保護するため、リコメンド支援装置30が端末50にリコメンド情報を提供するのに秘匿内積計算(Jaideep Vaidya, and Chris Clifton. Privacy preserving naive bayesclassier for vertically partitioned data. In Society for Industrial and AppliedMathematics, 2008.)を用いることとする。
【0071】
次に、図4のタイミングチャートを参照して、本実施形態のリコメンド方法を説明する。
【0072】
ステップS1において、リコメンド支援装置30は、プロファイル集計値算出部32を用いた処理により、l番目の商品についての会員のプロファイル集計値πをいわゆるセキュアマッチングにより取得する。ここで、l番目の商品に関する属性vのプロファイル集計値は、式(6)により表される。
【数14】

【0073】
具体的には、リコメンド支援装置30のプロファイル集計値算出部32及びサーバ10のプロファイル集計値応答部12は、購入者の端末識別子t及び購入された商品の情報Yと、会員の端末識別子t及び会員のプロファイルXとを秘匿性を維持しつつ交換し、商品を購入した会員のプロファイル集計値πをプロファイル集計値算出部32だけが得る。
【0074】
さらに具体的には、プロファイル集計値算出部32は、購入者履歴情報Yを、ハッシュ関数で暗号化(ハッシュ化)し、当該プロファイル集計値算出部32において生成した乱数によりべき乗して暗号化購入者履歴情報を生成し、暗号化購入者履歴情報をサーバ10に送信する。次いで、プロファイル集計値応答部12は、端末プロファイルXを、ハッシュ関数で暗号化し、当該プロファイル集計値応答部12において生成した乱数によりべき乗して暗号化端末プロファイルを生成し、暗号化購入者履歴情報を同乱数によりべき乗して2重暗号化購入者履歴情報を生成し、暗号化端末プロファイル及び2重暗号化購入者履歴情報をリコメンド支援装置30に送信する。そして、プロファイル集計値算出部32は、サーバ10から送信された暗号化端末プロファイル及び2重暗号化購入者履歴情報に基づきプロファイル集計値πを算出する。以上説明したセキュアマッチングによる秘匿集計の処理を具体的に説明する。
【0075】
[セキュアマッチングによる秘匿集計]
ここでは、入力をサーバ10が有するx=(x,・・・,xNA)、及びリコメンド支援装置30が有するy=(y,・・・,yNB)として、出力として、|x∩y|を得る処理を説明する。
1.プロファイル集計値算出部32は、乱数r∈Zを選び(Zはrが整数であることを示す)、位数qの巡回群Gと、Gを値域とするハッシュ関数Hで、yをハッシュして、サーバ10にH(yrB,・・・,H(yNBrBを送る。
2.プロファイル集計値応答部12は、乱数r∈Zを選び、リコメンド支援装置30へH(xrA,・・・,H(xNArAと、H(yrBrA,・・・,H(yNBrBrAとをシャッフルして送る。
3.プロファイル集計値算出部32は、プロファイル集計値応答部12から送られたH(xrA,・・・,H(xNArAを乱数rによりべき乗してH(xrArB,・・・,H(xNArArBを得る。そして、プロファイル集計値算出部32は、H(xrArB=H(yrBrAを満たす個数|x∩y|を取得する。この個数からプロファイル集計値πを得ることができる。
【0076】
次に、ステップS2において、リコメンドパラメータ算出部33は、l番目の商品についての会員のプロファイル集計値π(l)を用いて、店舗のノウハウであるl番目の商品についてのリコメンドパラメータθを学習する。具体的には、リコメンドパラメータ算出部33は、プロファイル集計値算出部32により算出されたプロファイル集計値πに基づき、リコメンドパラメータθをいわゆるMAP推定により算出する。ここで学習、算出されるリコメンドパラメータθは、式(7)により表される。
【数15】

【0077】
リコメンドパラメータθの学習、算出は、例えば、以下に示す、最大の事後確率を得る未知パラメータの推定処理によって、実施される。
【0078】
[最大の事後確率を得る未知パラメータの推定]
【0079】
この推定処理に必要な、多項分布を仮定した尤度関数は、以下の式(8)〜(11)のように表される。
【数16】


【数17】


【数18】


【数19】

【0080】
また、この推定処理に必要な、ディレクレ分布を仮定した事前確率の対数は、以下の式(12)〜(14)のように表される。
【数20】


【数21】


【数22】

【0081】
この推定処理では、以下の式(15)によりリコメンドパラメータを推定する。
【数23】


続いて、最大化したい上記式(15)の中括弧の中に、尤度関数と事前確率の対数を代入して、下記式(16)を得る。
【数24】


目的関数をJとおき、未知パラメータを求める。即ち、式(17)〜(19)に示すように、ラグランジュの未定係数法により、Σv=1θ(l)=1のディレクレ分布の条件下でJの最大化を行う。
【数25】


【数26】


【数27】


条件より、Σv=1θ(l)=1であるので、未知パラメータは以下の式(20)〜(22)のようになる。
【数28】


【数29】


【数30】

【0082】
続くステップS3において、端末50のリコメンド値算出部52は、リコメンド支援装置30との秘匿内積計算により、端末50のプロファイルと、学習済みのl番目の商品についてのリコメンドパラメータθとを用いて、l番目の商品についての端末50へのリコメンド値を算出する。ここで、端末50のユーザプロファイルx´及び端末50が閲覧する商品の履歴がリコメンド支援装置30に知られることはないため、端末50のユーザのプライバシーは保護される。
【0083】
具体的には、リコメンド値算出部52は、加法準同型性を満たす端末50の公開鍵でユーザプロファイルx´を、暗号化して暗号化ユーザプロファイルを生成する。次いで、リコメンド値算出応答部34は、暗号化ユーザプロファイルに対して、リコメンドパラメータ算出部33により算出されたリコメンドパラメータθを用いたべき乗処理をすることによりリコメンド値算出支援情報を生成する。そして、リコメンド値算出部52は、加法準同型性を満たす端末50の秘密鍵を用いてリコメンド値算出支援情報を復号化して、商品ごとのリコメンド値Pを算出する。
【0084】
ここで、リコメンド値は、下記式(23)のように表される。
【数31】


なお、式(23)は、式(5)に式(10)及び式(14)を適用することにより導出可能である。
【0085】
以下に、リコメンド値算出部52及びリコメンド値算出応答部34により実施される秘匿内積計算について説明する。ここで説明する秘匿内積計算では、リコメンド値算出応答部34が有するリコメンドパラメータθ及びリコメンド値算出部52が有するユーザプロファイルx´を入力とする。これらの入力情報はいずれもV次元のベクトルである。ただし、リコメンド値算出応答部34は、リコメンドパラメータθの対数値を入力とする。そして、式(23)の右辺第1項の内積を出力とする。
1.リコメンド値算出部52は、加法準同型性を満たす端末50の公開鍵でユーザプロファイルx´を暗号化して、リコメンド値算出応答部34にE(x),・・・,E(y)を送る。
2.リコメンド値算出応答部34は、送信された情報を各々リコメンドパラメータθの対数でべき乗処理して、その結果得られた情報
E(xlogθ,・・・,E(xlogθvを得る。そして、これをシャッフルした情報(リコメンド値算出支援情報)をリコメンド値算出部52に送信する。
3.リコメンド値算出部52は、加法準同型性を満たす端末50の秘密鍵で、リコメンド値算出応答部34から受信したメッセージに基づき、
x´・logθ(l)=Σi=1D{E(xlogθ)}=Σi=1D{E(xlogθi}といった計算処理により、出力を得る。
【0086】
なお、式(23)における右辺第2項は、x´を含まないので、リコメンド値Pに端末50のユーザプロファイルに依存しない値を加える項である。この項の値は、リコメンドパラメータθの対数及びディレクレ分布のハイパーパラメータ(調整パラメータ)(ξ(l))の大きさに応じて大きくなる。ディレクレ分布のハイパーパラメータはリコメンド支援装置30において任意に指定することができる。例えば,ディレクレ分布のハイパーパラメータξの値をv及びlによらずに全て2とした場合には、(ξ(l)−1)の値が1となるので、リコメンドパラメータθの対数のみからこの項の値が算出される。また、特定の商品のディレクレ分布のハイパーパラメータξの値を大きくすると,該当する商品についての(ξ(l)−1)の値が1より大きくなるので、特定の商品に関するこの項の値が大きくなる。即ち、リコメンド支援装置30は、端末50のユーザプロファイルだけではなく、リコメンド支援装置30を有する店舗側の意向を加味して、端末50へのリコメンドを行うこともできる。なお、この項におけるΣの計算は、上述した秘匿内積計算において、ユーザプロファイルx´の値を1(所定の定数)としてリコメンド支援装置30から端末50に送信される情報(リコメンド値算出支援調整情報)に基づき実施可能である。
【0087】
そして、ステップS4において、リコメンド出力部53は、リコメンド値算出部52により算出されたリコメンド値Pに応じたリコメンド情報を出力する。
【0088】
次に、図5を参照して、本実施形態の手法と従来の手法とを対比して、本実施形態の手法のメリットを説明する。本実施形態の手法は従来の秘匿内積計算を用いたナイーブベイズ識別器が問題としていた、スケールの問題を解決できる手法である。なお、スケールとは、処理対象とするデータ量が大量であっても破綻なく、又は妥当な処理負荷により処理可能なことをいう。当然ながら、実用においては、プライバシーを保護しつつリコメンドを提供する際には、精度及びスケールのいずれもが欠けてはならない。そこで、本実施形態の手法が実用に耐えうるバランスを持つ事を述べるべく、精度、スケールの観点で、本実施形態の手法と従来手法を比較する。
【0089】
図5に示すように、精度の面では、秘匿内積計算を用いたナイーブベイズ識別器(図5中の「ナイーブベイズ識別器」)と本実施形態の方式が、実績のあるナイーブベイズの手法を実装できるので良好である。セキュアマッチングを用いたクロス集計(図5中の「クロス集計」)はクロス集計表からリコメンドに用いる識別結果を直接得られないので、精度は低い。
【0090】
また、スケールの面では、セキュアマッチングを用いたクロス集計と本実施形態の方式が、大きなクロス集計表を効率的に作成できるので良好である。秘匿内積計算を用いたナイーブベイズ識別器は、秘匿内積計算のコストが高いのでスケーラビリティに劣る。よって、本実施形態の手法によれば、顧客情報を持つサーバ10と販売情報をもつリコメンド支援装置30と端末50との間における処理において、プライバシーを保護できる安全性と、実績のあるナイーブベイズの精度と、顧客数と商品数の増加に対するスケールメリットが得られる。
【0091】
本実施形態のリコメンドシステム1によれば、サーバ10,リコメンド支援装置30及び端末50の三者間での処理において、従来と比較して新たにリコメンド支援装置30内でナイーブベイズの学習パラメータを算出する処理を加えることによって、サーバ10とリコメンド支援装置との間での処理を、スケーラビリティの低い秘匿内積計算ではなく、スケーラビリティの高いセキュアマッチングを用いることができるようになる。よって、この工夫を取り入れた本実施形態の手法によれば、顧客数と商品数の増加に対するスケールメリットが得られる。
【0092】
また、サーバ10,リコメンド支援装置30及び端末50の三者は、それぞれ以下のメリットを享受できる。
1.サーバ10は顧客から預かっているユーザ属性の情報漏えいを防止できる。
2.リコメンド支援装置30は、リコメンド支援装置30の店舗で販売した商品の情報をサーバ10に渡さずに、リコメンド支援装置30の店舗の商品を購入する可能性の高いユーザ属性の傾向を知ることができる。また、リコメンド支援装置30の店舗側の意向をリコメンドに反映することもできる。
3.端末50は、端末50のユーザのプライバシー情報をサーバ10やリコメンド支援装置30に渡さずに、端末50のユーザに、ユーザが欲する可能性の高い商品を、その可能性の高い順に閲覧できる。
【0093】
以上説明した本実施形態のリコメンドシステム1及びリコメンド方法では、サーバ10及びリコメンド支援装置30の間では、それぞれ所定の方式により暗号化された端末プロファイルX及び購入者履歴情報Yが交換され、これらの情報に基づきリコメンド支援装置30においてプロファイル集計値πが算出される。これにより、サーバ10が管理する端末プロファイルXがリコメンド支援装置30に漏洩されず、また、リコメンド支援装置30が管理する購入者履歴情報Yがサーバ10に認識可能な状態で渡されることなく、リコメンド支援装置30はプロファイル集計値πを得ることができる。また、リコメンド支援装置30において、プロファイル集計値πに基づき、リコメンド支援装置30において商品を購入する可能性の高いユーザの属性の傾向をリコメンドパラメータθとして商品ごとに得ることが可能となる。さらに、リコメンド支援装置30において、所定の方式により端末50により暗号化されたユーザプロファイルx´がリコメンドパラメータθを用いてさらに暗号化されて端末50に送信され、端末50において、送信された情報に基づき商品ごとのリコメンド値Pが算出される。これにより、端末50は、端末50が管理するユーザプロファイルx´を、リコメンド支援装置30やサーバ10に認識可能な状態で取得されることなく、商品に関するリコメンド情報Pを得ることができる。
【0094】
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で様々な変形が可能である。
【符号の説明】
【0095】
1…リコメンドシステム、10…サーバ、11…端末プロファイル記憶部、12…プロファイル集計値応答部、30…リコメンド支援装置、31…購入者履歴情報記憶部、32…プロファイル集計値算出部、33…リコメンドパラメータ算出部、34…リコメンド値算出応答部、50…端末、51…ユーザプロファイル記憶部、52…リコメンド値算出部、53…リコメンド出力部、P…リコメンド値、t…端末識別子、t…端末識別子、v…属性、X…端末プロファイル、x…ユーザプロファイル、Y…購入者履歴情報、θ…リコメンドパラメータ、π…プロファイル集計値。

【特許請求の範囲】
【請求項1】
複数の端末の端末識別子と該端末のユーザのプロファイルとが対応付けられた端末プロファイルを記憶している端末プロファイル記憶手段を備えるサーバと、
端末を識別する端末識別子と該端末のユーザにより購入された商品を示す情報とが対応付けられた購入者履歴情報を記憶している購入者履歴情報記憶手段を備えるリコメンド支援装置と、
当該端末のユーザのプロファイルであるユーザプロファイルを記憶しているユーザプロファイル記憶手段を備える端末と
を有するリコメンドシステムであって、
前記サーバは、
前記端末プロファイルを所定の方式により暗号化して生成した暗号化端末プロファイル、及び前記リコメンド支援装置により暗号化された前記購入者履歴情報である暗号化購入者履歴情報を所定に方式により暗号化して生成した2重暗号化購入者履歴情報を前記リコメンド支援装置に送信するプロファイル集計応答手段を備え、
前記リコメンド支援装置は、
前記購入者履歴情報を所定の方式により暗号化して生成した暗号化購入者履歴情報を前記サーバに送信し、該サーバから送信された暗号化端末プロファイル及び2重暗号化購入者履歴情報に基づき、商品を購入したユーザのプロファイルの集計値であるプロファイル集計値を当該商品ごとに算出するプロファイル集計値算出手段と、
前記プロファイル集計値算出手段により算出された前記プロファイル集計値に基づき、端末のユーザに対する当該商品に関するリコメンド情報を生成するためのリコメンドパラメータを所定の方式により算出するリコメンドパラメータ算出手段と、
前記端末により暗号化された前記ユーザプロファイルである暗号化ユーザプロファイル、及び前記リコメンドパラメータ算出手段により算出されたリコメンドパラメータを用いた所定の暗号化処理により、リコメンド値の算出のためのリコメンド値算出支援情報を生成し、該リコメンド値算出支援情報を前記端末に送信するリコメンド値算出応答手段とを備え、
前記端末は、
前記ユーザプロファイルを所定の方式により暗号化して生成した前記暗号化ユーザプロファイルを前記リコメンド支援装置に送信し、該リコメンド支援装置からのリコメンド値算出支援情報に基づき、商品ごとのリコメンド値を算出するリコメンド値算出手段と、
前記リコメンド値算出手段により算出されたリコメンド値に応じたリコメンド情報を出力するリコメンド出力手段とを備える
ことを特徴とするリコメンドシステム。
【請求項2】
前記プロファイル集計応答手段は、
前記端末プロファイルを、ハッシュ関数で暗号化し、当該プロファイル集計応答手段において生成した第1の乱数によりべき乗して前記暗号化端末プロファイルを生成し、前記暗号化購入者履歴情報を前記第1の乱数によりべき乗して2重暗号化購入者履歴情報を生成し、前記暗号化端末プロファイル及び前記2重暗号化購入者履歴情報を前記リコメンド支援装置に送信し、
前記プロファイル集計値算出手段は、
前記購入者履歴情報を、ハッシュ関数で暗号化し、当該プロファイル集計値算出手段において生成した第2の乱数によりべき乗して前記暗号化購入者履歴情報を生成し、前記暗号化購入者履歴情報を前記サーバに送信し、前記サーバから送信された前記暗号化端末プロファイル及び前記2重暗号化購入者履歴情報に基づき前記プロファイル集計値を算出する
ことを特徴とする請求項1に記載のリコメンドシステム。
【請求項3】
前記リコメンドパラメータ算出手段は、
前記プロファイル集計値算出手段により算出された前記プロファイル集計値に基づき、前記リコメンドパラメータをMAP推定により算出する
ことを特徴とする請求項1または2に記載のリコメンドシステム。
【請求項4】
前記リコメンド値算出応答手段は、
前記暗号化ユーザプロファイルに対して、前記リコメンドパラメータ算出手段により算出されたリコメンドパラメータを用いたべき乗処理することにより前記リコメンド値算出支援情報を生成し、
前記リコメンド値算出手段は、
加法準同型性を満たす前記端末の公開鍵で前記ユーザプロファイルを暗号化して前記暗号化ユーザプロファイルを生成し、加法準同型性を満たす前記端末の秘密鍵を用いて前記リコメンド値算出支援情報を復号化して前記リコメンド値を算出する
ことを特徴とする請求項1〜3のいずれか1項に記載のリコメンドシステム。
【請求項5】
前記リコメンド値算出応答手段は、
当該前記リコメンド支援装置において任意に設定された調整パラメータを有し、所定の定数に対して前記リコメンドパラメータ算出手段により算出されたリコメンドパラメータを用いたべき乗処理をし、さらに、前記調整パラメータに基づき算出された値を乗じてリコメンド値算出支援調整情報を生成し、生成した前記リコメンド値算出支援調整情報を前記端末に送信し、
前記リコメンド値算出手段は、
加法準同型性を満たす前記端末の秘密鍵を用いて前記リコメンド値算出支援情報及び前記リコメンド値算出支援調整情報を復号化し、復号化された前記リコメンド値算出支援情報及び前記リコメンド値算出支援調整情報を用いて前記リコメンド値を算出する
ことを特徴とする請求項4に記載のリコメンドシステム。
【請求項6】
複数の端末の端末識別子と該端末のユーザのプロファイルとが対応付けられた端末プロファイルを記憶している端末プロファイル記憶手段を備えるサーバと、
端末を識別する端末識別子と該端末のユーザにより購入された商品を示す情報とが対応付けられた購入者履歴情報を記憶している購入者履歴情報記憶手段を備えるリコメンド支援装置と、
当該端末のユーザのプロファイルであるユーザプロファイルを記憶しているユーザプロファイル記憶手段を備える端末と
を有するリコメンドシステムにおけるリコメンド方法であって、
前記リコメンド支援装置が、前記購入者履歴情報を所定の方式により暗号化して生成した暗号化購入者履歴情報を前記サーバに送信する暗号化購入者履歴情報送信ステップと、
前記サーバが、前記端末プロファイルを所定の方式により暗号化して生成した暗号化端末プロファイル、及び前記暗号化購入者履歴情報送信ステップにおいて送信された前記暗号化購入者履歴情報を所定に方式により暗号化して生成した2重暗号化購入者履歴情報を前記リコメンド支援装置に送信するプロファイル集計応答ステップと、
前記リコメンド支援装置が、前記プロファイル集計応答ステップにおいて前記送信された前記暗号化端末プロファイル及び前記2重暗号化購入者履歴情報に基づき、商品を購入したユーザのプロファイルの集計値であるプロファイル集計値を当該商品ごとに算出するプロファイル集計値算出ステップと、
前記リコメンド支援装置が、前記プロファイル集計値算出ステップにおいて算出された前記プロファイル集計値に基づき、端末のユーザに対する当該商品に関するリコメンド情報を生成するためのリコメンドパラメータを所定の方式により算出するリコメンドパラメータ算出ステップと、
前記端末が、前記ユーザプロファイルを所定の方式により暗号化して生成した前記暗号化ユーザプロファイルを前記リコメンド支援装置に送信する暗号化ユーザプロファイル送信ステップと、
前記リコメンド支援装置が、前記暗号化ユーザプロファイル送信ステップにおいて送信された前記暗号化ユーザプロファイル、及び前記リコメンドパラメータ算出ステップにおいて算出されたリコメンドパラメータを用いた所定の暗号化処理により、リコメンド値の算出のためのリコメンド値算出支援情報を生成し、該リコメンド値算出支援情報を前記端末に送信するリコメンド値算出応答ステップと、
前記端末が、前記リコメンド値算出応答ステップにおいて送信された前記リコメンド値算出支援情報に基づき、商品ごとのリコメンド値を算出するリコメンド値算出ステップと、
前記端末が、前記リコメンド値算出ステップにおいて算出されたリコメンド値に応じたリコメンド情報を出力するリコメンド出力ステップと
を有することを特徴とするリコメンド方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−118878(P2012−118878A)
【公開日】平成24年6月21日(2012.6.21)
【国際特許分類】
【出願番号】特願2010−269600(P2010−269600)
【出願日】平成22年12月2日(2010.12.2)
【出願人】(392026693)株式会社エヌ・ティ・ティ・ドコモ (5,876)
【Fターム(参考)】