1.一种分层次隐私保护的推荐系统,包括:
客户端/浏览器及其数据库,提供与服务器交换数据的接口,接收用户输入的个人信息及服务请求,将所述个人信息存储至客户端/浏览器的数据库中,将所述服务请求发送至代理服务器,以及将推荐服务器返回的推荐结果显示给用户;
代理服务器及其数据库,接收用户的服务请求,并响应所述服务请求,接收推荐服务器的推荐结果,并根据所述推荐结果向用户进行推荐;
多个推荐服务器及其数据库,存储以及管理推荐系统中的项目资源,根据用户评分信息合作产生满足用户服务请求的推荐。
2.一种基于如权利要求1所述的系统的推荐方法,包括以下作业步骤:
客户端/浏览器接收目标用户输入的服务请求及个人信息;
代理服务器广播目标用户的ID;
各推荐服务器根据本地用户的项目评分矩阵计算目标用户与其他用户的相似度,并根据预设的协议在发起推荐的推荐服务器处得到相似度的明文并集;
发起推荐的推荐服务器基于所述相似度的明文并集确定全局相似度阈值,并广播至其他推荐服务器;
各推荐服务器根据所述全局相似度阈值、并基于协同过滤推荐算法合作产生满足用户服务请求的推荐。
3.根据权利要求2所述的推荐方法,其特征在于,所述根据预设的协议在发起推荐的推荐服务器处得到相似度的明文并集,包括以下作业步骤:
各推荐服务器使用非对称加密算法生成公钥PKi和私钥SKi,并将公钥PKi进行广播,将私钥SKi存储于本地;
各推荐服务器将本地的目标用户与其他用户的相似度集合Si(1≤i≤n且n≥3)打乱并根据推荐服务器的数目n对Si进行划分,每份的大小随机,使用第j+1modn个推荐服务器的公钥PKj+1mod n加密Si的第j份数据Si,j(1≤j≤n),并将加密得到的EPKj+1mod n(Si,j)发送至第j个推荐服务器;
第j个推荐服务器将接收到的数据EPKj+1mod n(Si,j)(1≤j≤n)发送至推荐服务器i+1mod n;
推荐服务器i+1mod n使用私钥SKi+1mod n对数据进行解密,求得并集∪j(Sj,i),并将所述并集发送至发起推荐的推荐服务器;
发起推荐的推荐服务器将获得的数据取并集,得到∪i(∪j(Sj,i)=∪i(Si)(1≤i≤n),向各推荐服务器广播Si的并集。
4.根据权利要求2或3所述的推荐方法,其特征在于,所述各推荐服务器根据所述全局相似度阈值、并基于协同过滤推荐算法合作产生满足用户服务请求的推荐,包括以下作业步骤:
各推荐服务器根据所述全局相似度阈值分别调整各自的最近邻,并采用协同过滤算法合作计算项目预测评分;
发起推荐的推荐服务器将所述项目预测评分的结果由高到低排列并取设定数目的项目作为推荐结果。
5.根据权利要求4所述的推荐方法,其特征在于,各推荐服务器根据以下表达式合作计算项目预测评分:
其中,p(u,i)为目标用户u对目标项目i的预测评分,vs为推荐服务器s上的最近邻居集Ns中的邻居用户,R(vs,i)为邻居用户vs对目标项目i的评分,为邻居用户vs对已打分项目的平均评分,为目标用户u对已打分项目的平均评分。
6.一种基于如权利要求1所述的系统的查询方法,其特征在于,在所述代理服务器的数据库中还存储有与推荐服务器的数据库中的项目评分信息对应的项目ID和经过加密的项目名称,当用户利用所述客户端/浏览器发起查询时,包括以下作业步骤:
客户端/浏览器对用户提供的查询的项目名称明文进行加密,并将加密后的数据作为查询参数发送至代理服务器;
代理服务器查询数据库中的项目ID和经过加密的项目名称,如果查询到相应条目,将项目ID的值m和数据库的总项目数n返回给客户端/浏览器,如果没有对应条目,则返回无搜索结果;
客户端/浏览器根据所述总项目数n随机在1~n的范围内随机产生k-1个整数值,并将m与所述k-1个整数值发送至推荐服务器;
推荐服务器在其本地数据库中根据项目ID进行查询并返回k项项目数据;
客户端/浏览器从所述k项项目数据中获取项目ID为m的项目信息显示给用户。
7.一种基于如权利要求1所述的系统的冷启动方法,其特征在于,
在客户端/浏览器的数据库中存储包含用户的浏览信息与详细的兴趣描述的用户本地偏好数据;
在代理服务器的数据库中存储包含概括的兴趣描述的用户代理偏好数据;
根据所述用户代理偏好数据获取对应于用户类别的推荐,根据所述用户本地偏好数据对所述对应于用户类别的推荐进行筛选。
8.根据权利要求7所述的冷启动方法,其特征在于,当利用所述系统获取推荐结果的用户为小数据用户时,包括以下作业步骤:
代理服务器根据用户代理偏好数据以及类别数据对该用户进行分类,并将用户类别发送至推荐服务器,其中,所述类别数据为推荐服务器使用已存在的用户离线进行推荐算法建模得到的数据;
推荐服务器根据从代理服务器接收的用户类别获取相应的项目推荐列表和项目描述元数据并发送至代理服务器;
代理服务器将所述项目推荐列表和项目描述元数据发送至客户端/浏览器,客户端/浏览器根据用户本地偏好数据与项目描述元数据的相似度,对推荐列表进行筛选,并将修正后的推荐结果推荐给用户。
9.根据权利要求8所述的冷启动方法,其特征在于,所述推荐服务器根据从代理服务器接收的用户类别获取相应的项目推荐列表和项目描述元数据,包括以下作业步骤:
推荐服务器离线对训练数据集中的用户信息进行聚类,并生成与每个类别对应的推荐列表;
推荐服务器根据聚类结果及从代理服务器接收的用户类别获取相应的项目推荐列表和项目描述元数据。
10.根据权利要求7至9中任一项所述的冷启动方法,其特征在于,
所述用户本地偏好数据能够由用户根据其需要查看或修改,客户端/浏览器将修改后的用户本地偏好数据发送至代理服务器更新用户代理偏好数据;
所述用户本地偏好数据能够由客户端/浏览器根据用户的操作行为进行更新,客户端/浏览器将更新后的用户本地偏好数据发送至代理服务器更新用户代理偏好数据。