System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理,尤其涉及一种项目推荐方法及装置。
技术介绍
1、随着技术的发展,根据历史数据推荐用户可能感兴趣的项目的策略已应用在很多的领域。协同过滤算法是上述推荐策略所广泛应用的一种算法。但上述推荐方式需要依赖大量的用户信息才能达到更好的性能。这些用户信息中包括大量用户隐私,如果被攻击者得到,会引发严重的隐私问题。
2、差分隐私是一种抵抗差分攻击的有效方法,以有效的防止攻击者获取敏感信息,从而确保数据的安全。采用差分隐私技术的推荐算法通过在用户数据中加入噪声以达到保护隐私的效果。相关技术中通过将显式数据的多维度信息直接映射为隐式数据的两个维度表示(如购买的置为1,没购买的置为0。评分高的置为1,评分低的置为0),再利用随机翻转机制与基数估计方法设计隐私保护推荐算法,这样的处理方式会损失显式数据的一些维度信息,导致差分隐私对推荐策略准确性的影响更为严重,导致推荐结果准确性差。
技术实现思路
1、本申请实施例提供一种项目推荐方法及装置,以解决相关技术中由于将显式数据的多维度信息映射为两个维度表示的方式,结合随机翻转和基数轨迹使得显式数据的维度信息存在维度损失,进而导致推荐策略的推荐结果准确性差的技术问题。
2、本申请实施例提供了一种项目推荐方法,所述方法包括:获取历史评分数据和待推荐用户评分数据,所述历史评分数据包括关联用户对已评分项目和待推荐项目的评分,所述待推荐用户评分数据包括待推荐用户对已评分项目的评分;将所述历史评分数据按照预设编码规则进行编码,并
3、于本申请一实施例中,将所述历史评分数据按照预设编码规则进行编码,包括:获取所述关联用户对一评分项目的评分,以及所述一评分项目的评分极值,所述评分极值包括评分极大值和评分极小值;根据所述评分极大值和所述评分极小值确定评分差值,根据所述评分差值确定所述一评分项目的编码长度;根据所述评分在所述一评分项目的评分范围的排序值和所述评分差值确定第一值的编码排位区间;将所述第一值的编码排位区间的编码值确定为第一值,将其余的编码值确定为第二值,以完成对所述一评分项目的评分的编码;将所述已评分项目和所述待推荐项目作为所述一评分项目,以完成对所述历史评分数据根据所述预设编码规则的编码。
4、于本申请一实施例中,所述预设编码规则包括:
5、bi=fcoding(ri)=(b1,b2,...,bl),
6、其中,bi为编码结果,ri为评分项目的评分范围按升序排列的第i个值;bi∈{s,v},s为第一值,v为第二值;i∈[1,l+1]的整数;编码长度l=rmax-rmin,rmax和rmin分别为评分项目的评分极大值和评分极小值;b1至bl-i+1为s,bl-i+2至bl为v,b1至bl-i+1为第一值的编码排位区间。
7、于本申请一实施例中,将编码后的历史评分数据进行随机翻转,得到随机翻转评分数据,包括:获取关联用户对一评分项目的评分的编码结果,以及每一编码位置的随机数;若所述随机数大于预设概率,保持所述编码位置的编码结果不变,若所述随机数小于或等于所述预设概率,对所述编码位置的编码结果进行取反,得到所述一评分项目的随机翻转评分数据,所述预设概率基于所述编码长度确定;将所述已评分项目和所述待推荐项目作为所述一评分项目,以完成对编码后的历史评分数据进行随机翻转。
8、于本申请一实施例中,所述一评分项目的随机翻转评分数据的确定方式包括:
9、
10、其中,为对关联用户u对评分项目t的评分进行编码后编码位置m的随机翻转结果,p为预设概率,p=1/(1+eε/l),l为编码长度,ε为隐私保护预设,且q≤0.5;x为从均匀分布[0,1]中选取的随机数;为的取反,为对关联用户u对评分项目t的评分进行编码后编码位置m的编码值。
11、于本申请一实施例中,根据随机翻转评分数据计算每一已评分项目与所述待推荐项目之间的项目相似度,并将至少一已评分项目确定为邻居项目,包括:计算每一关联用户对应的待推荐项目的随机翻转评分数据和一已评分项目的随机翻转评分数据之间的用户汉明距离相似度,以确定所述待推荐项目与所述一已评分项目之间的项目相似度,得到所述待推荐项目与每一已评分项目之间的项目相似度;将所述项目相似度大于预设距离相似度的已评分项目确定为邻居项目。
12、于本申请一实施例中,确定所述待推荐项目与所述一已评分项目之间的项目相似度,包括:
13、
14、其中,h(t,j)为一已评分项目与待推荐项目j之间的项目相似度,c(t,j)表示项目t与项目j的关联用户集合;γ为c(t,j)中元素数量,k为关联用户集合中用户k,l为一已评分项目的编码长度,为用户k对一已评分项目t的评分进行编码后编码结果的随机翻转结果,为用户k对待推荐项目j的评分进行编码后编码结果的随机翻转结果。
15、于本申请一实施例中,通过所述待推荐用户对所述邻居项目的评分预测所述待推荐项目的预测评分,包括:根据每一邻居项目的项目相似度、所述待推荐用户对所述邻居项目的评分确定所述待推荐项目的预测评分。
16、于本申请一实施例中,所述预测评分的确定方式包括:
17、
18、其中,r(h,j)为待推荐用户h对待推荐项目j的预测评分,n(j)为待推荐项目j的邻居项目的集合;rha为待推荐用户h对已评分项目a的评分;a为集合n(j)中的元素,也即a为邻居项目,sim(j,a)hm为待推荐项目j与一已评分项目a之间的项目相似度。
19、于本申请一实施例中,基于所述预测评分确定将所述待推荐项目推荐给所述待推荐用户的推荐建议,包括:若所述预测评分大于推荐阈值评分,将所述推荐建议确定为将所述待推荐项目推荐给所述待推荐用户;若所述预测评分小于或等于所述推荐阈值评分,将所述推荐建议确定为将所述待推荐项目不推荐给所述待推荐用户。
20、于本申请一实施例中,若所述待推荐项目的数量为多个,通过所述待推荐用户对所述邻居项目的评分预测所述待推荐项目的预测评分之后,所述方法还包括:根据待推荐项目的预测评分对全部待推荐项目进行推荐排序;基于所述推荐排序确定所述待推荐项目的展示序列。
21、本申请实施例还提供了一种项目推荐装置,所述装置包括:获取模块,用于获取历史评分数据和待推荐用户评分数据,所述历史评分数据包括关联用户对已评分项目和待本文档来自技高网...
【技术保护点】
1.一种项目推荐方法,其特征在于,所述方法包括:
2.如权利要求1所述的项目推荐方法,其特征在于,将所述历史评分数据按照预设编码规则进行编码,包括:
3.如权利要求2所述的项目推荐方法,其特征在于,所述预设编码规则包括:
4.如权利要求1-3任一项所述的项目推荐方法,其特征在于,将编码后的历史评分数据进行随机翻转,得到随机翻转评分数据,包括:
5.如权利要求4所述的项目推荐方法,其特征在于,所述一评分项目的随机翻转评分数据的确定方式包括:
6.如权利要求1-3任一项所述的项目推荐方法,其特征在于,根据随机翻转评分数据计算每一已评分项目与所述待推荐项目之间的项目相似度,并将至少一已评分项目确定为邻居项目,包括:
7.如权利要求6所述的项目推荐方法,其特征在于,确定所述待推荐项目与所述一已评分项目之间的项目相似度,包括:
8.如权利要求1-3任一项所述的项目推荐方法,其特征在于,通过所述待推荐用户对所述邻居项目的评分预测所述待推荐项目的预测评分,包括:
9.如权利要求8所述的项目推荐方法,
10.一种项目推荐装置,其特征在于,所述装置包括:
...【技术特征摘要】
1.一种项目推荐方法,其特征在于,所述方法包括:
2.如权利要求1所述的项目推荐方法,其特征在于,将所述历史评分数据按照预设编码规则进行编码,包括:
3.如权利要求2所述的项目推荐方法,其特征在于,所述预设编码规则包括:
4.如权利要求1-3任一项所述的项目推荐方法,其特征在于,将编码后的历史评分数据进行随机翻转,得到随机翻转评分数据,包括:
5.如权利要求4所述的项目推荐方法,其特征在于,所述一评分项目的随机翻转评分数据的确定方式包括:
6.如权利要求1-3任一项所述的项目推荐方法,...
【专利技术属性】
技术研发人员:彭俊杰,于红超,徐开庭,李元,李洋全,
申请(专利权)人:重庆赛力斯凤凰智创科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。