説明

評価値推定システム及び評価値推定方法

【課題】ユーザのアイテムの評価値に関する複数のデータベースから評価値を予測する場合に、ユーザのプライバシーを十分に保護すること。
【解決手段】この評価値推定システム1は、ユーザ毎のアイテム区分群に対応する評価値を表データDB1,DB2として格納する情報蓄積部11,21と、表データDB1,DB2中のユーザの対応付けを判断する対応付け判断部22と、表データDB1,DB2に基づいて、対象ユーザと他のユーザとの間における評価値の類似度を計算する類似度算出部13,23と、対象ユーザの対象アイテム区分に対応する評価値に関する推定値s1,s2を算出する推定値算出部14,24と、推定値s1,s2の確度c1,c2を計算する確度算出部15,25と、推定値s1,s2及び確度c1,c2を基にして、対象ユーザの対象アイテム区分に対応する評価値に関する推定値sを算出する最終推定値算出部16とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、評価値推定システム及び評価値推定方法に関するものである。
【背景技術】
【0002】
従来から、複数のユーザによって複数の商品等のアイテムが評価付けされた情報を管理するデータベースを用いて、他のユーザの評価に関する値を基に特定のユーザの評価されていないアイテムの評価値を予測する「協調フィルタリング」という手法が知られている。
【0003】
この手法においては、データベースは表データで管理されており、例えば、その表データの各行はそれぞれ各ユーザに対応し、各列はそれぞれ各商品区分に対応している。また、この表データの各セルには、対応する行のユーザによる対応する列の商品区分に対する評価付けの値(評価値)が格納されている。なお、全てのユーザが全ての商品に対して評価をしているとは限らないため、表データ中の一部のセルには評価値が格納されていない場合が起こり得る。この協調フィルタリングでは、このような評価されていない特定ユーザの特定アイテムに関する評価値を、他のユーザを含めた複数のユーザの様々なアイテムに関する評価値を基に推測するというものである。
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、複数のデータ管理組織がそれぞれ異なる商品群についての評価値を管理することが通常行われる。このような場合に、協調フィルタリングによってユーザの評価値を推測しようとすると、単純な手法としては各組織の管理しているデータベースを一つに統合し、その統合したデータベースから評価値の予測値を計算することが考えられる。しかしながら、そのような手法では、複数のユーザのプライバシーが保護されないという懸念が生じる。これは、各組織の管理している各ユーザの各商品群に関する評価値は、重要な秘密情報であり、プライバシー保護の対象になりうるからである。
【0005】
そこで、本発明は、かかる課題に鑑みて為されたものであり、ユーザのアイテムの評価値に関する複数のデータベースから評価値を予測する場合に、ユーザのプライバシーを十分に保護することが可能な評価値推定システム及び評価値推定方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明の評価値推定システムは、複数のユーザ毎の複数の評価区分毎の評価値を含む表データを分散管理し、表データに基づいて特定のユーザに関する特定の評価区分の評価値を推定する評価値推定システムであって、複数のユーザ毎の第1の評価区分群に対応する評価値を第1の表データとして格納する第1の情報蓄積手段と、複数のユーザ毎の第2の評価区分群に対応する評価値を第2の表データとして格納する第2の情報蓄積手段と、第1の表データ中の複数のユーザと、第2の表データ中の複数のユーザとの対応付けを判断する対応付け判断手段と、推定対象となる対象ユーザ及び第1の評価区分群に含まれる対象評価区分の指定を取得する推定対象取得手段と、第1の表データに基づいて、対象ユーザと該対象ユーザ以外のユーザとの間における第1の評価区分群に対応する評価値の類似度を示す第1の類似度ベクトルを計算する第1の類似度算出手段と、第2の表データに基づいて、対象ユーザと該対象ユーザ以外のユーザとの間における第2の評価区分群に対応する評価値の類似度を示す第2の類似度ベクトルを計算する第2の類似度算出手段と、対象ユーザ以外の複数のユーザに対して計算された第1の類似度ベクトルと、第1の表データ中の該複数のユーザの対象評価区分に対応する評価値とに基づいて、対象ユーザの対象評価区分に対応する評価値に関する第1の推定値を算出する第1の推定値算出手段と、第1の類似度ベクトルを算出する際に参照した第1の表データに応じて、第1の推定値に関する第1の確度を計算する第1の確度算出手段と、対象ユーザ以外の複数のユーザに対して計算された第2の類似度ベクトルと、第1の表データ中の該複数のユーザの対象評価区分に対応する評価値と、対応付け判断手段による対応付けの判断とに基づいて、対象ユーザの対象評価区分に対応する評価値に関する第2の推定値を算出する第2の推定値算出手段と、第2の類似度ベクトルを算出する際に参照した第2の表データに応じて、第2の推定値に関する第2の確度を計算する第2の確度算出手段と、第1の推定値及び第1の確度と、第2の推定値及び第2の確度とを基にして、対象ユーザの対象評価区分に対応する評価値に関する第3の推定値を算出する第3の推定値算出手段と、を備える。
【0007】
或いは、本発明の評価値推定方法は、複数のユーザ毎の複数の評価区分毎の評価値を含む表データを分散管理し、表データに基づいて特定のユーザに関する特定の評価区分の評価値を推定する評価値推定方法であって、第1の情報蓄積手段が、複数のユーザ毎の第1の評価区分群に対応する評価値を第1の表データとして格納する第1の情報蓄積ステップと、第2の情報蓄積手段が、複数のユーザ毎の第2の評価区分群に対応する評価値を第2の表データとして格納する第2の情報蓄積ステップと、対応付け判断手段が、第1の表データ中の複数のユーザと、第2の表データ中の複数のユーザとの対応付けを判断する対応付け判断ステップと、推定対象取得手段が、推定対象となる対象ユーザ及び第1の評価区分群に含まれる対象評価区分の指定を取得する推定対象取得ステップと、第1の類似度算出手段が、第1の表データに基づいて、対象ユーザと該対象ユーザ以外のユーザとの間における第1の評価区分群に対応する評価値の類似度を示す第1の類似度ベクトルを計算する第1の類似度算出ステップと、第2の類似度算出手段が、第2の表データに基づいて、対象ユーザと該対象ユーザ以外のユーザとの間における第2の評価区分群に対応する評価値の類似度を示す第2の類似度ベクトルを計算する第2の類似度算出ステップと、第1の推定値算出手段が、対象ユーザ以外の複数のユーザに対して計算された第1の類似度ベクトルと、第1の表データ中の該複数のユーザの対象評価区分に対応する評価値とに基づいて、対象ユーザの対象評価区分に対応する評価値に関する第1の推定値を算出する第1の推定値算出ステップと、第1の確度算出手段が、第1の類似度ベクトルを算出する際に参照した第1の表データに応じて、第1の推定値に関する第1の確度を計算する第1の確度算出ステップと、第2の推定値算出手段が、対象ユーザ以外の複数のユーザに対して計算された第2の類似度ベクトルと、第1の表データ中の該複数のユーザの対象評価区分に対応する評価値と、対応付け判断手段による対応付けの判断とに基づいて、対象ユーザの対象評価区分に対応する評価値に関する第2の推定値を算出する第2の推定値算出ステップと、第2の確度算出手段が、第2の類似度ベクトルを算出する際に参照した第2の表データに応じて、第2の推定値に関する第2の確度を計算する第2の確度算出ステップと、第3の推定値算出手段が、第1の推定値及び第1の確度と、第2の推定値及び第2の確度とを基にして、対象ユーザの対象評価区分に対応する評価値に関する第3の推定値を算出する第3の推定値算出ステップと、を備える。
【0008】
このような評価値推定システム及び評価値推定方法によれば、異なる評価区分群に対するユーザによる評価値に関する2つの表データが別々に格納されており、評価値の推定対象の対象ユーザ及び対象評価区分が指定されると、第1の類似度算出手段によって、第1の表データを基に対象ユーザとそれ以外のユーザの評価値の類似度を示す第1の類似度ベクトルが計算され、第2の類似度算出手段によって、第2の表データを基に対象ユーザとそれ以外のユーザの評価値の類似度を示す第2の類似度ベクトルが計算され、第1の推定値算出手段及び第1の確度算出手段によって、第1の類似度ベクトルと第1の表データに含まれる対象評価区分の評価値とを基に第1の推定値及びその推定値の確度が計算され、第2の推定値算出手段及び第2の確度算出手段によって、第2の類似度ベクトルと第1の表データに含まれる対象評価区分の評価値とを基に、第1の表データと第2の表データのユーザの対応付けの判断結果を用いて第2の推定値及びその推定値の確度が計算され、第1の推定度及びその確度と、第2の推定値及びその確度とから、最終的な評価値の推定値である第3の推定値が算出される。これにより、第1の表データを管理するデータベース側から第2の表データを管理するデータベース側に対して、対象評価区分に関する評価値の通知が必要な以外には、その他の評価区分に関する評価値の通知の必要がないので、対象評価区分以外の評価区分の評価値に関するユーザのプライバシーが十分に保護される。
【0009】
本発明の評価値推定システムは、第1の情報蓄積手段と、推定対象取得手段と、第1の類似度算出手段と、第1の推定値算出手段と、第1の確度算出手段と、第3の推定値算出手段とを有する第1の推定値生成装置と、第2の情報蓄積手段と、対応付け判断手段と、第2の類似度算出手段と、第2の推定値算出手段と、第2の確度算出手段とを有する第2の推定値生成装置と、を備えていてもよい。この場合、第1の表データを管理する第1の推定値生成装置から第2の表データを管理する第2の推定値生成装置に対して、対象評価区分に関する評価値の通知が必要な以外には、その他の評価区分に関する評価値の通知の必要がないので、対象評価区分以外の評価区分の評価値に関するユーザのプライバシーが十分に保護される。
【0010】
また、処理対象の値x,yに対して、下記式(1);
E(x)・E(y)=E(x+y) …(1)
及び下記式(2);
D(E(x))=x …(2)
の関係を満たすような暗号化関数E及び復号関数Dを用いて、加法準同型性の性質を有する暗号化演算及び復号演算を行う暗号化手段及び復号手段と、暗号化手段を用いて、第1の表データ中の複数のユーザの対象評価区分に対応する評価値から、暗号化ベクトルを生成する暗号化ベクトル生成手段と、をさらに備え、第2の推定値算出手段は、暗号化ベクトルと第2の類似度ベクトルとを参照し、暗号化ベクトルの各要素を底とし、第2の類似度ベクトルの各要素に対応する値を指数とした累乗を計算し、累乗の積を計算することにより、暗号化された第2の推定値を算出し、第3の推定値算出手段は、復号手段を用い、暗号化された第2の推定値を復号して第2の推定値を取得する、ことも好ましい。
【0011】
また、第1の推定値生成装置は、処理対象の値x,yに対して、下記式(1);
E(x)・E(y)=E(x+y) …(1)
及び下記式(2);
D(E(x))=x …(2)
の関係を満たすような暗号化関数E及び復号関数Dを用いて、加法準同型性の性質を有する暗号化演算及び復号演算を行う暗号化手段及び復号手段と、暗号化手段を用いて、第1の表データ中の複数のユーザの対象評価区分に対応する評価値から、暗号化ベクトルを生成する暗号化ベクトル生成手段と、をさらに有し、第2の推定値生成装置の第2の推定値算出手段は、暗号化ベクトルと第2の類似度ベクトルとを参照し、暗号化ベクトルの各要素を底とし、第2の類似度ベクトルの各要素に対応する値を指数とした累乗を計算し、累乗の積を計算することにより、暗号化された第2の推定値を算出し、第1の推定値生成装置の第3の推定値算出手段は、復号手段を用い、暗号化された第2の推定値を復号して第2の推定値を取得する、ことも好ましい。
【0012】
また、暗号化手段及び復号手段が、それぞれ、処理対象の値x,yに対して、下記式(1);
E(x)・E(y)=E(x+y) …(1)
及び下記式(2);
D(E(x))=x …(2)
の関係を満たすような暗号化関数E及び復号関数Dを用いて、加法準同型性の性質を有する暗号化演算及び復号演算を行う暗号化ステップ及び復号ステップと、暗号化ベクトル生成手段が、暗号化手段を用いて、第1の表データ中の複数のユーザの対象評価区分に対応する評価値から、暗号化ベクトルを生成する暗号化ベクトル生成ステップと、をさらに備え、第2の推定値算出ステップでは、暗号化ベクトルと第2の類似度ベクトルとを参照し、暗号化ベクトルの各要素を底とし、第2の類似度ベクトルの各要素に対応する値を指数とした累乗を計算し、累乗の積を計算することにより、暗号化された第2の推定値を算出し、第3の推定値算出ステップでは、復号手段を用い、暗号化された第2の推定値を復号して第2の推定値を取得する、ことも好ましい。
【0013】
この場合、加法準同型性の性質を有する暗号化演算及び復号演算を行う暗号化手段及び復号手段と、第1の表データ中の対象評価区分の評価値を暗号化した暗号化ベクトルを生成する暗号化ベクトル生成手段が備えられ、第2の推定値算出手段によって、暗号化ベクトルを用いて暗号化された第2の推定値が算出され、第3の推定値算出手段によって、暗号化された第2の推定値が復号される。これによって、2つのデータベース間で評価値が通知されずに、対象ユーザの対象評価区分に関する評価値が予測されるので、複数の評価区分に関する評価値に関するユーザのプライバシーがより一層保護されるとともに、複数のデータベースを用いても正確な予測値が得られる。
【発明の効果】
【0014】
本発明によれば、ユーザのアイテムの評価値に関する複数のデータベースから評価値を予測する場合に、ユーザのプライバシーを十分に保護することができる。
【図面の簡単な説明】
【0015】
【図1】本発明の好適な一実施形態にかかる評価値推定システム1の概略構成図である。
【図2】図1の情報蓄積部11に格納されている表データDB1のデータ構成の一例を示す図である。
【図3】図1の情報蓄積部21に格納されている表データDB2のデータ構成の一例を示す図である。
【図4】図1の対応付け判断部22が管理するテーブルデータの構成を示す図である。
【図5】図2の表データDB1を対象に計算された類似度ベクトルsim1の計算結果を示す図である。
【図6】図3の表データDB2を対象に計算された類似度ベクトルsim2の計算結果を示す図である。
【図7】図1の評価値推定システム1の動作を示すフローチャートである。
【図8】本発明の変形例である評価値推定システム101の概略構成図である。
【図9】図8の評価値推定システム101の動作を示すフローチャートである。
【発明を実施するための形態】
【0016】
以下、図面とともに本発明による評価値推定システム及び評価値推定方法の好適な実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【0017】
図1は、本発明の好適な一実施形態にかかる評価値推定システム1の概略構成図である。同図に示す評価値推定システム1は、LAN、WAN等のネットワークを介して相互にデータの送受信が可能なように接続された2つ以上のデータベース管理装置である推定値生成装置10、推定値生成装置20、推定値生成装置30、…によって構成されている。この評価値推定システム1は、複数のユーザによる複数の商品等のアイテムに関する評価値を、複数のデータベースによって分散管理し、これらの複数のデータベースを参照することによって特定ユーザの特定アイテムに関する評価値を予測するコンピュータシステムである。以下、評価値推定システム1を構成する各装置の機能構成について詳細に説明する。ここで、推定値生成装置10を除く推定値生成装置20、推定値生成装置30、…の各装置の機能構成は同一であるので、重複する説明を省略するとともに、以下の説明においては、評価値推定システム1は、推定値生成装置10、推定値生成装置20、及び推定値生成装置30の3つのデータベース管理装置によって構成されているものとする。もちろん、評価値推定システム1は、4つ以上のデータベース管理装置を含んで構成されていてもよい。
【0018】
推定値生成装置10は、情報蓄積部(第1の情報蓄積手段)11、推定対象取得部(推定対象取得手段)12、類似度算出部(第1の類似度算出手段)13、推定値算出部(第1の推定値算出手段)14、確度算出部(第1の確度算出手段)15、及び最終推定値算出部(第3の推定値算出手段)16を備えている。この推定値生成装置10は、予測対象のアイテムを含む複数のアイテムに関する予測値を管理するデータベース管理装置である。
【0019】
情報蓄積部11には、予め、複数のユーザ毎の複数のアイテム区分(評価区分)毎に対応する評価値が表データDB1として格納されている。このアイテム区分は、商品等のアイテムを評価する単位を示す区分情報であり、アイテムの種類を示す識別情報である。図2には、情報蓄積部11に格納されている表データDB1のデータ構成の一例を示している。同図に示すように、情報蓄積部11には、複数のユーザを識別するユーザ識別情報“user_1”、“user_2”、“user_3”、“user_4”毎に、アイテム区分群“Item_1”、“Item_2”、“Item_3”に対応付けて、評価値を示す数値データが格納されている。詳細には、情報蓄積部11に格納された表データDB1において、各行が各ユーザに対応し、各列が各アイテム区分に対応している。例えば、表データDB1の3行2列のセルDB1[3,2]は、ユーザ“user_3”によるアイテム区分“Item_2”に対する評価値“5”を示している(以下、表データDB1におけるm行n列のセルを、“DB1[m,n]”と表記する)。これらの表データDB1のセルには、既にユーザによって対応するアイテム区分の評価が反映されている場合には数値データが格納され、ユーザによって対応するアイテム区分の評価が反映されていない場合には数値データは格納されず、“スペース”や“NULL値”等によって空白セルが設定されている。このような空白セルに対応する評価値が、評価値推定システム1における推定対象となりうる。
【0020】
推定対象取得部12は、評価値を予測する対象となる対象ユーザと対象アイテム区分の指定を取得する。詳細には、推定対象取得部12は、情報蓄積部11に格納された表データDB1の各行が示す複数のユーザの中から選択された対象ユーザを示す対象ユーザ識別情報と、その表データDB1の各列が示す複数のアイテム区分の中から選択された対象アイテム区分を示す対象区分識別情報を取得する。例えば、対象ユーザ及び対象アイテム区分として、表データDB1中の4行1列のセルDB1[4,1](図2中の斜線で示すセル)に対応するユーザ及びアイテム区分が選択された場合には、推定対象取得部12は、対象ユーザ識別情報“user_4”及び対象区分識別情報“Item_1”を取得する。なお、これらの対象ユーザと対象アイテム区分の指定は、外部からの入力を受け付けることによって取得してもよいし、外部からネットワークを介して受信してもよい。ここで、推定対象取得部12によって取得される対象アイテム区分に対応する各ユーザの評価値は、推定値生成装置10の情報蓄積部11にのみ格納されており、後述する推定値生成装置20,30の情報蓄積部21,31には格納されていないものとする。
【0021】
類似度算出部13は、情報蓄積部11に格納された表データDB1を参照しながら、対象ユーザとそれ以外のユーザとの間におけるアイテム区分群に亘った評価値の類似度を計算する。すなわち、対象ユーザ“user_i”(iは整数)と、それ以外のユーザ“user_k”(kはi以外の整数)との類似度は、表データDB1のk行目のセルによって構成されるベクトルDB1[k,*]と、表データDB1のi行目のセルによって構成されるベクトルDB1[i,*]との二乗誤差和の逆数を、下記式(3);
sim1_{k,i} = 1 / {(DB1[i,1] − DB1[k,1])2 +(DB1[i,2] −DB1[k,2])2 + … + (DB1[i,n] − DB1[k,n])2} …(3)
によって計算した後に、全てのユーザ“user_k”に対応する二乗誤差和の逆数の総和が“1”になるように正規化された類似度sim1_{k,i}として計算される。この類似度sim1_{k,i}は、表データDB1の行に対応する対象ユーザ以外の全てのユーザ“user_k”に関して計算されることにより、類似度ベクトルsim1_{k,i}(kはi以外の整数)として得られる。
【0022】
推定値算出部14は、表データDB1に含まれる対象ユーザ以外のユーザ“user_k”(kはi以外の整数)及び対象アイテム区分“Item_j”(jは整数)に対応する評価値と、類似度ベクトルsim1_{k,i}とを基にして、対象ユーザ及び対象アイテム区分に対応する評価値の推定値(第1の推定値)を計算する。詳細には、推定値算出部14は、ユーザ“user_k”及び対象アイテム区分“Item_j”に対応する評価値によって構成されるベクトルDB1[*,j]と、類似度ベクトルsim1_{k,i}との内積を、下記式(4);
s1 = DB1[1,j]*sim1_{1,i} +DB1[2,j]*sim1_{2,i} + DB1[m,j]*sim1_{m,i} …(4)
を用いて計算し、この内積を対象ユーザ及び対象アイテム区分に対応する評価値の推定値s1とする。
【0023】
確度算出部15は、類似度算出部13が類似度ベクトルsim1_{k,i}を算出する際に参照した表データDB1を基にして、評価値の推定値s1に関する確度(第1の確度)を計算する。すなわち、確度算出部15は、類似度ベクトルsim1_{k,i}を計算する際に表データDB1から参照されたベクトルDB1[k,*]、ベクトルDB1[i,*]に対応するアイテム区分の数、言い換えれば、表データDB1の列数に比例する値を確度c1として計算する。また、確度算出部15は、表データDB1に含まれる評価値の数、言い換えれば、表データDB1の空白セル以外のセルの数に比例する数を確度c1として計算してもよい。
【0024】
最終推定値算出部16は、推定値算出部14及び確度算出部15によって計算された評価値に関する推定値s1及び確度c1と、後述する推定値生成装置20,30によって別の表データDB2,DB3を基に計算されて受信された推定値s2,s3及びそれぞれの確度c2,c3とを基にして、対象ユーザの対象アイテム区分に対応する評価値に関する最終的な推定値s(第3の推定値)を算出する。詳細には、最終推定値算出部16は、確度c1,c2,c3を重みとした推定値s1,s2,s3の重み付け平均を、下記式(5);
s = (c1*s1 + c2*s2 + c3*s3) / (c1 + c2 +c3) …(5)
を用いて計算し、その値を推定値sとして求める。このようにして算出された推定値sは、3つの表データDB1,DB2,DB3から求められた対象ユーザ”user_i”及び対象アイテム区分“Item_j”に対する評価値の最終的な予測値となる。この予測値は、その値が高ければユーザ“user_i”はアイテム区分“Item_j”に属するアイテムを高く評価付けすると予測されるので、このユーザに対して当該アイテムを推奨すべきかどうかの判断基準となる情報として利用可能となる。一方で、予測値が低ければ、ユーザ“user_i”はアイテム区分“Item_j”に属するアイテムを低く評価付けすると予測されることになる。
【0025】
また、推定値生成装置20は、情報蓄積部(第2の情報蓄積手段)21、対応付け判断部(対応付け判断手段)22、類似度算出部(第2の類似度算出手段)23、推定値算出部(第2の推定値算出手段)24、及び確度算出部(第2の確度算出手段)25を備えている。この推定値生成装置20は、予測対象のアイテム以外の複数のアイテムに関する予測値を管理するデータベース管理装置である。
【0026】
情報蓄積部21には、表データDB1に含まれるアイテム区分とは異なるアイテム区分毎に、表データDB1の行に対応する複数のユーザに関する評価値が、表データDB2として格納されている。図3には、情報蓄積部21に格納されている表データDB2のデータ構成の一例を示している。同図に示すように、情報蓄積部21には、複数のユーザを識別するユーザ識別情報“user_1”、“user_2”、“user_3”、“user_4”毎に、アイテム区分群“Item_4”、“Item_5”に対応付けて、評価値を示す数値データが格納されている。例えば、表データDB2の2行2列のセルDB2[2,2]は、ユーザ“user_2”によるアイテム区分“Item_5”に対する評価値“4”を示している(以下、表データDB2におけるm行n列のセルを、“DB2[m,n]”と表記する)。これらの表データDB2に含まれるアイテム区分は、表データDB1に含まれるアイテム区分と完全に異なっていてもよく、一部のアイテム区分が重複していてもよい。ただし、評価値推定システム1における評価値の推定対象となりうるアイテム区分は、表データDB1にのみ存在しており、表データDB2には存在していないものとする。
【0027】
対応付け判断部22は、表データDB1の各行が示す各ユーザと、表データDB2の各行が示す各ユーザとの対応付けを判断する。例えば、対応付け判断部22は、図4に示すようなテーブルデータを管理し、このテーブルデータによってユーザ識別情報“user_m”によって特定されるユーザがそれぞれの表データDB1,DB2の何行目に対応するかが管理されている。そして、対応付け判断部22は、このようなテーブルデータを参照することにより、各ユーザ“user_m”に関する2つの表データDB1,DB2における行間の対応付けを判断する。
【0028】
類似度算出部23は、推定対象取得部12から対象ユーザ識別情報“user_i”及び対象区分識別情報“Item_j”を取得し、情報蓄積部21に格納された表データDB2を参照しながら、対象ユーザとそれ以外のユーザとの間におけるアイテム区分群に亘った評価値の類似度を計算する。すなわち、類似度算出部23は、類似度算出部13と同様な計算方法を用いて、対象ユーザ“user_i”(iは整数)と、それ以外のユーザ“user_k”(kはi以外の整数)との類似度を示す類似度ベクトルsim2_{k,i}(kはi以外の整数)を計算する。このとき、ユーザ“user_i”,“user_k”に対応する表データDB2の行は、対応付け判断部22による判断結果を基に特定される。
【0029】
推定値算出部24は、表データDB1に含まれる対象ユーザ以外のユーザ“user_k”(kはi以外の整数)及び対象アイテム区分“Item_j”(jは整数)に対応する評価値と、類似度ベクトルsim2_{k,i}とを基にして、対象ユーザ及び対象アイテム区分に対応する評価値の推定値(第2の推定値)s2を計算する。詳細には、推定値算出部24は、ユーザ“user_k”及び対象アイテム区分“Item_j”に対応する評価値によって構成されるベクトルDB1[*,j]を情報蓄積部11から取得し、類似度ベクトルsim2_{k,i}との内積を、下記式(6);
s2 = DB1[1,j]*sim2_{1,i} +DB1[2,j]*sim2_{2,i} + DB1[m,j]*sim2_{m,i} …(6)
を用いて計算し、この内積を対象ユーザ及び対象アイテム区分に対応する評価値の推定値s2とする。ここで、類似度ベクトルsim2_{k,i}の各要素とベクトルDB1[*,j]の各要素との間における各ユーザに関する対応付けは、対応付け判断部22による判断結果を利用して判断される。
【0030】
確度算出部25は、類似度算出部23が類似度ベクトルsim2_{k,i}を算出する際に参照した表データDB2を基にして、評価値の推定値s2に関する確度(第2の確度)を計算する。すなわち、確度算出部25は、類似度ベクトルsim2_{k,i}を計算する際に表データDB2から参照されたベクトルDB2[k,*]、ベクトルDB2[i,*]に対応するアイテム区分の数、言い換えれば、表データDB2の列数に比例する値を確度c2として計算する。また、確度算出部15は、表データDB2に含まれる評価値の数、言い換えれば、表データDB2の空白セル以外のセルの数に比例する数を確度c2として計算してもよい。そして、確度算出部25は、計算した確度c2を、推定値算出部24によって計算された推定値s2と共に、推定値生成装置10の最終推定値算出部16に送信する。
【0031】
以下、図5〜7を参照して、評価値推定システム1の動作について説明するとともに、併せて評価値推定システム1における評価値推定方法について詳述する。図7は、評価値推定システム1による評価値の推定処理時の動作を示すフローチャートであり、図5及び図6は、評価値推定システム1による評価値の推定処理時に算出される類似度ベクトルの一例を示す図である。なお、ここでは、図2及び図3に示したデータ構成の表データDB1,DB2が参照され、対応付け判断部22では図4に示したテーブルデータを用いて2つの表データDB1,DB2の対応関係が判断されるものとする。
【0032】
まず、推定値生成装置10の推定対象取得部12により、評価値を予測する対象となる対象ユーザと対象アイテム区分の指定が取得される(ステップS101)。例えば、推定対象取得部12により、対象ユーザ識別情報“user_4”及び対象区分識別情報“Item_1”が取得される。次に、類似度算出部13により、表データDB1に基づいて、対象ユーザ“user_4”と、それ以外のユーザ“user_1”、“user_2”、“user_3”との間の類似度sim1_{1,4}、sim1_{2,4}、sim1_{3,4}が計算される(ステップS102)。一例として、二乗誤差和の逆数を正規化した値を類似度とする計算例を示すと、まず、下記の計算式を用いて正規化前の類似度d1_{1,4}、d1_{2,4}、d1_{3,4}が得られる。
d1_{1,4} = 1/(2-1)2 = 1
d1_{2,4} = 1/(2-4)2 = 1/4
d1_{3,4} = 1/{(2-5)2 + (2-2)2}= 1/9
その後、これらの類似度d1_{1,4}、d1_{2,4}、d1_{3,4}の総和が“1”となるように正規化される。具体的には、総和が下記式;
d1_{1,4}+d1_{2,4}+d1_{3,4} = 49/36
によって計算されるので、正規化された類似度sim1_{1,4}、sim1_{2,4}、sim1_{3,4}が以下のように算出される(図5)。
sim1_{1,4} = 1/(49/36) ≒ 0.73
sim1_{2,4} = (1/4)/(49/36) ≒ 0.18
sim1_{3,4} = (1/9)/(49/36) ≒ 0.08
【0033】
その一方で、推定値生成装置20の類似度算出部23により、表データDB2に基づいて、対象ユーザ“user_4”と、それ以外のユーザ“user_1”、“user_2”、“user_3”との間の類似度sim2_{1,4}、sim2_{2,4}、sim2_{3,4}が計算される(ステップS103)。まず、下記の計算式を用いて正規化前の類似度d2_{1,4}、d2_{2,4}、d2_{3,4}が得られる。
d2_{1,4} = 1/{(4-3)2 + (3-2)2}= 1/2
d2_{2,4} = 1/{(4-1)2 + (3-4)2}= 1/10
d2_{3,4} = 1/(4-3)2 = 1
この場合、これらの類似度d2_{1,4}、d2_{2,4}、d2_{3,4}の総和が下記式;
d2_{1,4}+d2_{2,4}+d2_{3,4} = 8/5
によって計算されるので、正規化された類似度sim2_{1,4}、sim2_{2,4}、sim2_{3,4}が以下のように算出される(図6)。
sim2_{1,4} = (1/2)/(8/5) ≒ 0.31
sim2_{2,4} = (1/10)/(8/5) ≒ 0.06
sim2_{3,4} = 1/(8/5) ≒ 0.63
【0034】
その後、推定値生成装置10の推定値算出部14により、対象ユーザ以外のユーザ“user_1”、“user_2”、“user_3”による対象アイテム区分“Item_1”対する評価値ベクトル{DB1[1,1],DB1[2,1],DB1[3,1]}と、類似度ベクトル[sim1_{1,4},sim1_{2,4},sim1_{3,4}]との内積を算出することにより、対象ユーザによる対象アイテム区分に対する評価値に関する推定値s1が下記式により計算される(ステップS104)。
s1 = 5*0.73 + 3*0.18 + 4*0.08 = 4.51
【0035】
さらに、推定値生成装置10の確度算出部15によって、類似度ベクトル[sim1_{1,4},sim1_{2,4},sim1_{3,4}]を計算するときに参照された表データDB1を基に、推定値s1の確度c1が計算される(ステップS105)。例えば、類似度ベクトルを計算するときに用いたアイテム区分の数を基に確度を求める場合には、2つのアイテム区分“Item_2”、“Item_3”を用いて計算したので、確度c1=“2”と求められる。
【0036】
それと同時に、推定値生成装置20の推定値算出部24により、対象ユーザ以外のユーザ“user_1”、“user_2”、“user_3”による対象アイテム区分“Item_1”対する評価値ベクトル{DB1[1,1],DB1[2,1],DB1[3,1]}と、類似度ベクトル[sim2_{1,4},sim2_{2,4},sim2_{3,4}]との内積を算出することにより、対象ユーザによる対象アイテム区分に対する評価値に関する推定値s2が下記式により計算される(ステップS106)。
s2 = 5*0.31 + 3*0.06 + 4*0.63 = 4.23
【0037】
さらに、推定値生成装置20の確度算出部25によって、類似度ベクトル[sim2_{1,4},sim2_{2,4},sim2_{3,4}]を計算するときに参照された表データDB2を基に、推定値s2の確度c2が計算される(ステップS107)。例えば、類似度ベクトルを計算するときに用いたアイテム区分の数を基に確度を求める場合には、2つのアイテム区分“Item_4”、“Item_5”を用いて計算したので、確度c2=“2”と求められる。
【0038】
その後、推定値生成装置10の最終推定値算出部16によって、推定値s1、s2とそれぞれの推定値に対応する確度c1、c2とを基に、最終的な推定値sが算出される(ステップS108)。例えば、確度c1、c2を重みとした推定値s1、s2の重み付け平均を計算する場合には、推定値sは次のように計算される。
s = (2 * 4.51 + 2 * 4.23) / (2+2) = 4.37
このようにして計算された推定値sは、表データDB1、DB2の両方に基づく対象ユーザによる対象アイテム区分に対応する評価値に関する予測値となる。例えば、評価値の全体の平均値が“3”である場合には、ユーザ“user_4”はアイテム区分“Item_1”に属する商品を高く評価すると推測されることから、ユーザ“user_4”に対してアイテム区分“Item_1”に属する商品を推奨すべきであると判断することができる。
【0039】
そして、算出された推定値sは、推定値生成装置10からネットワークを介して外部の端末装置等に出力される。また、この推定値sを基にした商品推奨情報等が生成された後に、その商品推奨情報がユーザ“user_4”の端末装置等の外部装置に出力されてもよい(ステップS109)。
【0040】
以上説明した評価値推定システム1及び評価値推定方法によれば、異なるアイテム区分群に対するユーザによる評価値に関する2以上の表データが別々に格納されており、評価値の推定対象の対象ユーザ“user_i”及び対象アイテム区分“Item_j”が指定されると、類似度算出部13によって、表データDB1を基に対象ユーザとそれ以外のユーザの評価値の類似度を示す類似度ベクトルsim1_{k,i}が計算され、類似度算出部23によって、表データDB2を基に対象ユーザとそれ以外のユーザの評価値の類似度を示す第2の類似度ベクトルsim2_{k,i}が計算される。また、推定値算出部14及び確度算出部15によって、類似度ベクトルsim1_{k,i}と表データDB1に含まれる対象アイテム区分の評価値DB1[*,j]とを基に推定値s1及びその推定値s1の確度c1が計算され、推定値算出部24及び確度算出部25によって、類似度ベクトルsim2_{k,i}と表データDB1に含まれる対象アイテム区分の評価値DB1[*,j]とを基に、表データDB1、DB2間のユーザに関する対応付けの判断結果を用いて、推定値s2及びその推定値s2の確度c2が計算される。さらに、推定値s1、s2及びそれらに対応する確度c1、c2から、最終的な評価値の推定値sが算出される。これにより、表データDB1を管理する推定値生成装置10から表データDB2を管理する推定値生成装置20に対して、対象アイテム区分に関する評価値の通知が必要な以外には、その他のアイテム区分に関する評価値の通知の必要がない。従って、複数のデータベース管理装置で分散管理されている評価値のうちで互いに通知される範囲を最低限にすることができるので、アイテムに対するユーザによる評価情報に関するプライバシーが十分に保護される。
【0041】
なお、本発明は、前述した実施形態に限定されるものではない。例えば、図8には、本発明の変形例である評価値推定システム101の構成を示している。同図に示す評価値推定システム101の評価値推定システム1との相違点は、推定値生成装置110が、暗号化部(暗号化手段)117、復号部(復号手段)118、及び暗号化ベクトル生成部(暗号化ベクトル生成手段)119をさらに備える点と、推定値生成装置120,130の推定値算出部124,134の機能が異なる点である。
【0042】
暗号化部117及び復号部118は、それぞれ、暗号化関数E及び復号関数Dを用いて加法準同型性の性質を有する暗号化演算及び復号演算を行う。すなわち、この暗号化関数Eは、処理対象の任意値x,yに対して、下記式(1);
E(x)・E(y)=E(x+y) …(1)
の関係を満たすような関数であり、任意値x,yの和を暗号化した値と、それぞれの任意値x,yを暗号化した値の積とが等しくなるような性質を持つ。また、暗号化関数E及び復号関数Dは、下記式(2);
D(E(x))=x …(2)
の関係を満たすような関数であり、任意値xの暗号化値を復号すると基の値xに戻されるような性質も有する。このような暗号方式としては、Paillier暗号を用いることができる。
【0043】
暗号化ベクトル生成部119は、暗号化部117によって対象ユーザ以外のユーザ“user_k”及び対象アイテム区分“Item_j”に対応する評価値によって構成されるベクトルDB1[*,j]の構成要素を暗号化させることにより、暗号化ベクトルE_j=[E(DB1[1,j]), E(DB1[2,j]),…, E(DB1[m,j])]を生成する。この場合、暗号化ベクトル生成部119は、暗号化対象のベクトルDB1[*,j]の構成要素が整数でない場合には、予め定められた方法、例えば、全ての構成要素を定数倍する等の方法で整数化する。そして、暗号化ベクトル生成部119は、生成した暗号化ベクトルE_jを、推定値生成装置120,130の推定値算出部124,134に引き渡す。
【0044】
これに対し、推定値生成装置120の推定値算出部124は、暗号化ベクトルE_jと、類似度ベクトルsim2_{k,i}とを参照し、暗号化ベクトルE_jの各構成要素を底とし、類似度ベクトルsim2_{k,i}の各構成要素に対応する値を指数とした累乗を計算し、その累乗の積を算出することにより、暗号化された推定値s2を取得する。具体的には、推定値算出部124は、暗号化ベクトル生成部119と同様にして、類似度ベクトルsim2_{k,i}の構成要素を整数化し、整数化されたsim2_{k,i}の各構成要素をv1,…,vmとし、整数化されたベクトルDB1[*,j]の各構成要素をu1,…umとしたときに、下記式(7);
E(s2) = E(u1)v1 * E(u2)v2* ・・・ * E(um)vm …(7)
によって暗号化された推定値E(s2)を算出する。
【0045】
推定値生成装置110の復号部118は、推定値生成装置120の推定値算出部124によって生成された暗号化後の推定値E(s2)を取得すると、復号関数Dを用いて推定値E(s2)を復号することにより、推定値s2 = D(E(s2))を取得することができる。そして、復号部118は、取得した推定値s2を最終推定値算出部16に引き渡す。
【0046】
図9には、評価値推定システム101による評価値の推定処理時の動作手順を示している。なお、同図に示すステップS201〜S205,S208,S210〜S211の処理は、図7に示したステップS101〜S105、S107〜S109の処理と同様である。
【0047】
まず、図2及び図3に示したデータ構成の表データDB1,DB2を対象に評価値推定処理が開始されると、ステップS201〜S205において、2つの表データDB1,DB2を基にした類似度ベクトルsim1_{k,i}, sim2_{k,i}と、表データDB1を基にした推定値s1及びその確度c1とが算出される。次に、暗号化ベクトル生成部119によって、ベクトルDB1[*,j]の構成要素u1,…,umを暗号化されることにより、暗号化ベクトルE_j=[E(u1),E(u2),…,E(um)]が生成される(ステップS206)。例えば、図2に示したようなデータ構成の表データDB1を対象にした場合には、暗号化ベクトルE_j=[E(5), E(3), E(4)]が生成される。
【0048】
その後、推定値算出部124によって、暗号化ベクトルE_jと類似度ベクトルsim2_{k,i}とを用いて、上記式(7)により暗号化後の推定値E(s2)が生成される(ステップS207)。例えば、図3に示したようなデータ構成の表データDB2を対象にした場合には、次の計算式によって暗号化後の推定値E(s2)が計算される。
E(s2) = E(5)(0.31*100) * E(3)(0.06*100)* E(4)(0.63*100)
= E(5)31 * E(3)6 *E(4)63
ここでは、類似度ベクトルsim2_{k,i}の構成要素は実数値をとるため、それぞれを100倍することによって整数化される。なお、上記の暗号化後の推定値E(s2)は、暗号化関数Eが持つ加法準同型性により、以下の値と等価となる。
E(s2) = E(5)31 * E(3)6* E(4)63
= E(5*31) * E(3*6) * E(4*63)
= E(5*31 + 3*6 + 4*63)
【0049】
その後、ステップS208において、推定値s2に対する確度c2が算出される(ステップS208)。次に、推定値生成装置110の最終推定値算出部16によって、復号部118を用いて暗号化後の推定値E(s2)が復号されることによって、推定値s2が取得される(ステップS209)。具体的には、下記の計算式によって、推定値s2が取得される。
s2 = D{E(s2)} / 100
= D(E(5*31 + 3*6 + 4*63)) / 100 = 423 /100 = 4.23
ここでは、ステップS207において類似度ベクトルsim2_{k,i}の整数化のために“100”を乗じているため、復号された値が“100”で除される。その後、ステップS210〜S211において、推定値生成装置110により、最終的な評価値の推定値sの計算及びその推定値sの出力処理が行われる。
【0050】
このような評価値推定システム101及び評価値推定方法によれば、複数のデータベースDB1,DB2,DB3間で対象アイテム区分に関する評価値が平文のまま通知されずに、対象ユーザの対象アイテム区分に関する評価値が予測されるので、複数のアイテム区分に関する評価値に関するユーザのプライバシーがより一層保護される。それに加えて、複数のデータベースを対象にした場合でも、加法準同型性の性質を有する暗号化演算及び復号演算を用いることで正確な予測値が得られる。
【符号の説明】
【0051】
1,101…評価値推定システム、10,110…推定値生成装置、11…情報蓄積部(第1の情報蓄積手段)、12…推定対象取得部(推定対象取得手段)、13…類似度算出部(第1の類似度算出手段)、14…推定値算出部(第1の推定値算出手段)、15…確度算出部(第1の確度算出手段)、16…最終推定値算出部(第3の推定値算出手段)、20,120…推定値生成装置、21…情報蓄積部(第2の情報蓄積手段)、22…対応付け判断部(対応付け判断手段)、23…類似度算出部(第2の類似度算出手段)、24,124…推定値算出部(第2の推定値算出手段)、25…確度算出部(第2の確度算出手段)、117…暗号化部(暗号化手段)、118…復号部(復号手段)、119…暗号化ベクトル生成部(暗号化ベクトル生成手段)。

【特許請求の範囲】
【請求項1】
複数のユーザ毎の複数の評価区分毎の評価値を含む表データを分散管理し、前記表データに基づいて特定のユーザに関する特定の評価区分の評価値を推定する評価値推定システムであって、
複数のユーザ毎の第1の評価区分群に対応する評価値を第1の表データとして格納する第1の情報蓄積手段と、
複数のユーザ毎の第2の評価区分群に対応する評価値を第2の表データとして格納する第2の情報蓄積手段と、
前記第1の表データ中の前記複数のユーザと、前記第2の表データ中の前記複数のユーザとの対応付けを判断する対応付け判断手段と、
推定対象となる対象ユーザ及び前記第1の評価区分群に含まれる対象評価区分の指定を取得する推定対象取得手段と、
前記第1の表データに基づいて、前記対象ユーザと該対象ユーザ以外のユーザとの間における前記第1の評価区分群に対応する前記評価値の類似度を示す第1の類似度ベクトルを計算する第1の類似度算出手段と、
前記第2の表データに基づいて、前記対象ユーザと該対象ユーザ以外のユーザとの間における前記第2の評価区分群に対応する前記評価値の類似度を示す第2の類似度ベクトルを計算する第2の類似度算出手段と、
前記対象ユーザ以外の複数のユーザに対して計算された第1の類似度ベクトルと、前記第1の表データ中の該複数のユーザの前記対象評価区分に対応する評価値とに基づいて、前記対象ユーザの前記対象評価区分に対応する評価値に関する第1の推定値を算出する第1の推定値算出手段と、
前記第1の類似度ベクトルを算出する際に参照した前記第1の表データに応じて、前記第1の推定値に関する第1の確度を計算する第1の確度算出手段と、
前記対象ユーザ以外の複数のユーザに対して計算された第2の類似度ベクトルと、前記第1の表データ中の該複数のユーザの前記対象評価区分に対応する評価値と、前記対応付け判断手段による対応付けの判断とに基づいて、前記対象ユーザの前記対象評価区分に対応する評価値に関する第2の推定値を算出する第2の推定値算出手段と、
前記第2の類似度ベクトルを算出する際に参照した前記第2の表データに応じて、前記第2の推定値に関する第2の確度を計算する第2の確度算出手段と、
前記第1の推定値及び第1の確度と、前記第2の推定値及び第2の確度とを基にして、前記対象ユーザの前記対象評価区分に対応する評価値に関する第3の推定値を算出する第3の推定値算出手段と、
を備えることを特徴とする評価値推定システム。
【請求項2】
前記第1の情報蓄積手段と、前記推定対象取得手段と、前記第1の類似度算出手段と、前記第1の推定値算出手段と、前記第1の確度算出手段と、前記第3の推定値算出手段とを有する第1の推定値生成装置と、
前記第2の情報蓄積手段と、前記対応付け判断手段と、前記第2の類似度算出手段と、前記第2の推定値算出手段と、前記第2の確度算出手段とを有する第2の推定値生成装置と、
を備えることを特徴とする請求項1記載の評価値推定システム。
【請求項3】
処理対象の値x,yに対して、下記式(1);
E(x)・E(y)=E(x+y) …(1)
及び下記式(2);
D(E(x))=x …(2)
の関係を満たすような暗号化関数E及び復号関数Dを用いて、加法準同型性の性質を有する暗号化演算及び復号演算を行う暗号化手段及び復号手段と、
前記暗号化手段を用いて、前記第1の表データ中の前記複数のユーザの前記対象評価区分に対応する評価値から、暗号化ベクトルを生成する暗号化ベクトル生成手段と、をさらに備え、
前記第2の推定値算出手段は、前記暗号化ベクトルと前記第2の類似度ベクトルとを参照し、前記暗号化ベクトルの各要素を底とし、前記第2の類似度ベクトルの前記各要素に対応する値を指数とした累乗を計算し、前記累乗の積を計算することにより、暗号化された前記第2の推定値を算出し、
前記第3の推定値算出手段は、前記復号手段を用い、暗号化された前記第2の推定値を復号して前記第2の推定値を取得する、
ことを特徴とする請求項1記載の評価値推定システム。
【請求項4】
前記第1の推定値生成装置は、
処理対象の値x,yに対して、下記式(1);
E(x)・E(y)=E(x+y) …(1)
及び下記式(2);
D(E(x))=x …(2)
の関係を満たすような暗号化関数E及び復号関数Dを用いて、加法準同型性の性質を有する暗号化演算及び復号演算を行う暗号化手段及び復号手段と、
前記暗号化手段を用いて、前記第1の表データ中の前記複数のユーザの前記対象評価区分に対応する評価値から、暗号化ベクトルを生成する暗号化ベクトル生成手段と、をさらに有し、
前記第2の推定値生成装置の前記第2の推定値算出手段は、前記暗号化ベクトルと前記第2の類似度ベクトルとを参照し、前記暗号化ベクトルの各要素を底とし、前記第2の類似度ベクトルの前記各要素に対応する値を指数とした累乗を計算し、前記累乗の積を計算することにより、暗号化された前記第2の推定値を算出し、
前記第1の推定値生成装置の前記第3の推定値算出手段は、前記復号手段を用い、暗号化された前記第2の推定値を復号して前記第2の推定値を取得する、
ことを特徴とする請求項2記載の評価値推定システム。
【請求項5】
複数のユーザ毎の複数の評価区分毎の評価値を含む表データを分散管理し、前記表データに基づいて特定のユーザに関する特定の評価区分の評価値を推定する評価値推定方法であって、
第1の情報蓄積手段が、複数のユーザ毎の第1の評価区分群に対応する評価値を第1の表データとして格納する第1の情報蓄積ステップと、
第2の情報蓄積手段が、複数のユーザ毎の第2の評価区分群に対応する評価値を第2の表データとして格納する第2の情報蓄積ステップと、
対応付け判断手段が、前記第1の表データ中の前記複数のユーザと、前記第2の表データ中の前記複数のユーザとの対応付けを判断する対応付け判断ステップと、
推定対象取得手段が、推定対象となる対象ユーザ及び前記第1の評価区分群に含まれる対象評価区分の指定を取得する推定対象取得ステップと、
第1の類似度算出手段が、前記第1の表データに基づいて、前記対象ユーザと該対象ユーザ以外のユーザとの間における前記第1の評価区分群に対応する前記評価値の類似度を示す第1の類似度ベクトルを計算する第1の類似度算出ステップと、
第2の類似度算出手段が、前記第2の表データに基づいて、前記対象ユーザと該対象ユーザ以外のユーザとの間における前記第2の評価区分群に対応する前記評価値の類似度を示す第2の類似度ベクトルを計算する第2の類似度算出ステップと、
第1の推定値算出手段が、前記対象ユーザ以外の複数のユーザに対して計算された第1の類似度ベクトルと、前記第1の表データ中の該複数のユーザの前記対象評価区分に対応する評価値とに基づいて、前記対象ユーザの前記対象評価区分に対応する評価値に関する第1の推定値を算出する第1の推定値算出ステップと、
第1の確度算出手段が、前記第1の類似度ベクトルを算出する際に参照した前記第1の表データに応じて、前記第1の推定値に関する第1の確度を計算する第1の確度算出ステップと、
第2の推定値算出手段が、前記対象ユーザ以外の複数のユーザに対して計算された第2の類似度ベクトルと、前記第1の表データ中の該複数のユーザの前記対象評価区分に対応する評価値と、前記対応付け判断手段による対応付けの判断とに基づいて、前記対象ユーザの前記対象評価区分に対応する評価値に関する第2の推定値を算出する第2の推定値算出ステップと、
第2の確度算出手段が、前記第2の類似度ベクトルを算出する際に参照した前記第2の表データに応じて、前記第2の推定値に関する第2の確度を計算する第2の確度算出ステップと、
第3の推定値算出手段が、前記第1の推定値及び第1の確度と、前記第2の推定値及び第2の確度とを基にして、前記対象ユーザの前記対象評価区分に対応する評価値に関する第3の推定値を算出する第3の推定値算出ステップと、
を備えることを特徴とする評価値推定方法。
【請求項6】
暗号化手段及び復号手段が、それぞれ、処理対象の値x,yに対して、下記式(1);
E(x)・E(y)=E(x+y) …(1)
及び下記式(2);
D(E(x))=x …(2)
の関係を満たすような暗号化関数E及び復号関数Dを用いて、加法準同型性の性質を有する暗号化演算及び復号演算を行う暗号化ステップ及び復号ステップと、
暗号化ベクトル生成手段が、前記暗号化手段を用いて、前記第1の表データ中の前記複数のユーザの前記対象評価区分に対応する評価値から、暗号化ベクトルを生成する暗号化ベクトル生成ステップと、をさらに備え、
前記第2の推定値算出ステップでは、前記暗号化ベクトルと前記第2の類似度ベクトルとを参照し、前記暗号化ベクトルの各要素を底とし、前記第2の類似度ベクトルの前記各要素に対応する値を指数とした累乗を計算し、前記累乗の積を計算することにより、暗号化された前記第2の推定値を算出し、
前記第3の推定値算出ステップでは、前記復号手段を用い、暗号化された前記第2の推定値を復号して前記第2の推定値を取得する、
ことを特徴とする請求項5記載の評価値推定方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−155409(P2012−155409A)
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【出願番号】特願2011−12231(P2011−12231)
【出願日】平成23年1月24日(2011.1.24)
【出願人】(392026693)株式会社エヌ・ティ・ティ・ドコモ (5,876)
【Fターム(参考)】