CN112464098B - 基于相似性成对排名的推荐系统物品预测方法 - Google Patents
基于相似性成对排名的推荐系统物品预测方法 Download PDFInfo
- Publication number
- CN112464098B CN112464098B CN202011419952.9A CN202011419952A CN112464098B CN 112464098 B CN112464098 B CN 112464098B CN 202011419952 A CN202011419952 A CN 202011419952A CN 112464098 B CN112464098 B CN 112464098B
- Authority
- CN
- China
- Prior art keywords
- user
- similarity
- item
- similar
- representing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 239000013598 vector Substances 0.000 claims description 41
- 239000011159 matrix material Substances 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 10
- 230000000694 effects Effects 0.000 description 4
- 238000004880 explosion Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 241000282414 Homo sapiens Species 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了基于相似性成对排名的推荐系统物品预测方法,该方法的步骤如下:获取推荐系统数据集;针对每个用户将数据集划分为正负样本集合;将正样本集合进一步划分为相似物品组;将数据集、相似物品组、负样本集合重新组成相似物品对组成的数据集;相似成对排名模型初始化;相似成对排名模型训练;物品分数预测和排序。本方法在成对排序方法的基础上,利用物品之间的相似性,推荐系统中现有的贝叶斯个性化排序方法进行了优化,解决了成对排序方法中的头部问题。使用相似性成对排序的推荐系统在物品推荐排名预测性能比原有的成对排序预测方法性能有提升。
Description
技术领域
本发明涉及一种基于相似性成对排名的推荐系统物品排名预测方法,属于推荐系统。
背景技术
随着互联网行业的发展,人类社会已进入了一个信息爆炸的时代。信息爆炸是互联网赋予当前时代的特征,信息的快速创造和传播不断加剧了信息爆炸的问题,并且带给人类诸多感受:1.各类商品花样繁多;2.新闻信息飞速增加3.广告信息铺天盖地4.科技信息迅猛递增5.个人接收力严重“超载”。推荐系统作为解决这一问题的有效手段已在各个领域广泛使用。推荐系统的任务是预测一组物品的个性化排名。物品可以是网站、电影、商品等。简言之就是根据用户的偏好推荐其最有可能感兴趣的内容。图1表示了一个简单的推荐系统。推荐系统在现实生活中应用广泛。Netflix为电影和电视推荐举行了Netflix Prize大赛,华盛顿邮报在trec中添加了新闻推荐赛道,阿里巴巴研究网上购物行为中利用推荐系统提高用户转化率,以及帮助学者们发现合适论文的推荐系统。Top-N推荐系统能够帮助用户以极小的时间和精力代价下寻找到自己想要的物品,有着充分的研究价值。
推荐系统中用户行为极为稀少,而待推荐的物品数量庞大。其中,待推荐的物品中既包含了用户看过而不喜欢的物品,也包含了用户可能喜欢但是没有看到的物品。与分类问题不同的是,推荐中的用户不与项目进行交互有一些原因。可能是用户真的不喜欢这个项目,或者用户没有看到这个项目。为了更好的建模推荐问题,成对排序方法没有直接预测用户是否喜欢某一个物品,而是从排序学习的角度考虑推荐系统所面临的问题。具体而言,成对排序方法从用户的历史行为中学习物品的偏序信息,并增大正负样本对之间的得分差异,得分高的物品便是用户喜欢的物品。贝叶斯个性化排序是一种建立成对学习模型的有效方法,广泛应用于Top-N推荐中。然而,数据分布的不平衡会严重影响贝叶斯个性化排序有效性。贝叶斯个性化排序往往将流行项目排在个性化项目之前,以至于无法满足用户的个性化需求。
发明内容
本发明用于解决贝叶斯个性化排序有效性受数据分布的不平衡影响的问题,具体提出了一种基于成对物品相似性的推荐系统物品预测方法。该方法在贝叶斯个性化排序的基础上,利用了正样本之间的相似性,改进原有方法的学习效果。
为实现上述目的,本发明采用的技术方案基于成对排名进行改进的相似性成对排名的推荐系统物品预测方法,如图所示,该方法的实现步骤如下:
步骤(1)获取推荐系统数据集;推荐系统数据集表示为(用户、物品、用户对物品的评分),其中用户用u表示,物品分为正样本i和负样本j,用户对物品的评分用r表示,由用户给出评分的物品称为正样本,未由用户给出评分的物品称为负样本;
步骤(2)根据用户,把推荐系统数据集中的物品划分为正负样本集合,其中,使用Vu表示用户u的正样本集合,V\Vu表示用户u的负样本集合;
步骤(3)把用户的正样本集合划分为多个相似物品组,具体的,用户的评分范围为1-S,将用户u的正样本继续划分为S个子集合每个子集合/>中的物品拥有相同的用户评分,子集中的任意两个物品称为相似物品,每个子集合/>为一个相似物品组;
步骤(4)将推荐系统数据集、相似物品组集合、负样本集合重新组织为相似物品对数据集,其中,相似物品对表示为<u,i,q,j>,其中,q表示与正样本i相似的正样本,即物品i的相似物品,j表示负样本;
步骤(5)构建相似性成对排名模型并初始化;
在推荐系统中,常常使用向量来分别表示用户和物品并进行计算。为了解决贝叶斯个性化排序有效性受数据分布的不平衡影响的问题,相似性成对排名模型建模了两个正样本之间的相似性以及正样本和负样本之间的差异性。相似性成对排名模型要求两个正样本之间的分数差异尽可能的小,这样就可以使被某些用户喜欢的物品可以像流行物品一样拥有较高的分数。同时,模型也要求正样本和负样本之间的分数差异尽可能的大,这样做的好处是模型能够很好的区分用户喜欢的物品和不喜欢的物品。模型还加入了正则化项防止过拟合。所述的相似性成对排名模型用于最优化用户及物品的向量表示,使用户u喜欢的物品的向量表达更加接近,用户u不喜欢的物品的向量表达更加的不同,具体如下:
其中,Ds表示步骤(4)得到的相似物品对数据集,
α为超参数,用于控制物品的相似性对目标函数和结果的影响,
σ为sigmoid函数,
表示正样本i和负样本j之间的得分差异,
表示正样本i和另一个正样本q之间的得分差异,
||X||2和||Y||2表示正则化项,用于防止模型学习过拟合,
表示用户u对物品m的预测分数,Xu表示用户u的向量表示,X表示所有用户向量组成的用户矩阵,Xu是矩阵X的第u行,Xuk是X中第u行第k列的元素,Y表示所有物品向量组成的物品矩阵,Ym表示任一物品m的向量表示,也是矩阵Y的第m行;K表示预设的向量维度;
初始化:本方法利用向量来表示数据集中的每一个用户和物品,本方法中采用高斯分布随机初始化所有用户向量和物品向量;
步骤(6)相似性成对排名模型训练,得到用户和物品的最优向量表示;
步骤(7)物品分数预测和排序;
根据步骤(6)得到的每一个用户的最优向量表示和每一个物品的最优向量表示,使用打分函数预测用户对每一个物品的喜好分数,然后根据分数对所有物品进行排序,最后根据实际需求生成推荐列表,其中,打分函数如下:
有益效果
本方法在成对排名的基础上,利用了正样本之间的相似性,改进原有方法的学习效果,解决了使用成对排序方法时遇到的头部问题。使用相似性成对排序的推荐系统预测性能比原来的成对排序的推荐系统性能显著提升。
附图说明
·图1为推荐系统示意图
·图2为本方法流程图
具体实施方式
本发明的目的在于提出一种基于物品相似性的推荐系统物品预测方法,在成对排序的基础上,利用物品之间的相似性产生更加个性化的推荐结果。
为了实现上述目标,本发明采用的技术方案为基于成对排序的基于相似性成对排序的推荐系统物品排序预测方法,如图所示。该方法的实现步骤如下:
步骤(1)获取推荐系统数据集:
推荐系统数据集主要记录了真实世界中用户对物品的评分信息(u,i,r),其中,u表示物品,i表示物品,r表示u对i的评分数值。例如(张三,《我和我的祖国》,5)表示张三给电影《我和我的祖国》打了5分。推荐系统常用的数据集有MovieLens1M数据集。其中记录了6040个用户对3952部电影的共100万条评分。分数范围为1-5分。数据集的格式为{(u,i,r)}。
步骤(2)根据数据集对每个用户划分为正负样本集合:
由于推荐系统数据集中只记录了用户对部分物品的评分信息,而缺少用户对剩余物品的描述,所以,需要针对每一个用户将物品划分为正负样本集合。其中用户的正样本集合使用Vu表示,负样本集合使用V\Vu表示。具体来说,每个用户只对所有物品的一小部分进行了评分,这些有评分的物品就是该用户的正样本,而其他没有被该用户评价的物品就是负样本。
步骤(3)对正样本划分为相似物品组:
在任一用户的正样本集合中,可以根据评分数值S将该集合进一步细分为在MovienLens1M数据集合中,用户的评分范围为1-5分。因此,可以将用户的正样本继续划分为5个子集合,每个子集合中的物品拥有相同的用户评分。在MovienLens1M数据集合中,用户的评分范围为1-5分。因此,可以将用户的正样本继续划分为5个子集合/>每个子集合中的物品拥有相同的用户评分。
步骤(4)将数据集、相似物品组、负样本集合重新组织为相似物品对:
在本步骤中,需要将数据集重新组织成符合相似性成对排名学习的格式。相似性成对排名学习要求相似物品对<u,i,q,j>的形式,其中,u表示用户,i,q,j表示物品,并且u,i来自数据集,q来自相似物品组j来自负样本集合V\Vu。由于MovieLens1M数据集的格式为{(u,i,r)},不符合基于相似性成对排名的推荐系统物品排名预测算法输入数据的格式要求,需要在这一步将其转化为相应的格式<u,i,q,j>。以MovieLens1M数据集中的一个数据(u,i,r)为例,根据r的大小选择用户u对应的正样本子集合/>并从中抽取出相似样本q,并从用户的负样本集合V\Vu中抽取负样本j。对数据集中的所有数据重复上述操作,得到新的处理后的数据集。
步骤(5)相似性成对排名模型初始化
使用一个向量来表示数据集中的分别表示每一个用户和物品,X表示有所有用户向量组成的用户矩阵,Xu表示用户u的向量表示,也是矩阵X的第u行。Y表示有所有物品向量组成的用户矩阵,Ym表示任意一个物品m的向量表示,也是矩阵Y的第m行。在本实施例中将用户向量和物品向量的维度设置为10,并采用高斯分布N(0,0.1)随机初始化所有用户向量和物品向量。
本发明通过定义相似物品对,引入了物品之间的相似性对成对排序方法进行改进,改进后的优化目标函数为:
步骤(6)相似性成对排名模型训练
使用随机梯度下降算法最小化目标函数,共循环20次,学习率lr=0.007,正则化系数rg=0.05,超参数α=0.09
随机梯度下降参数更新迭代过程:
·在每次循环过程中,遍历每一个相似物品对。
·针对每一个相似物品对,得到相应参数的梯度如下:
ΔXu=-αZ1(Yi-Yq))+(1-α)Z2(Yi-Yj)-λXu
ΔYi=[(1-α)Z1-αZ2]Xu-λYi
ΔYq=αZ2*Xu-λYq
ΔYj=-(1-α)Z1Xu-λYj
·根据相应的梯度信息,按照如下更新公式进行更新:
Xu=Xu+lr*ΔXu
Yi=Yi+lr*ΔYi
Yq=Yq+lr*ΔYq
Yj=Yj+lr*ΔYj
·其中,lr表示学习率,在本方法中,我们将学习率设置为0.007。
步骤(7)物品分数预测和排序
在步骤(6)训练后,得到了训练集中每一个用户的向量表示和每一个物品的向量表示。在给一个用户u产生推荐列表时,先使用打分函数预测用户对每一个物品的分数。然后采用降序对所有物品进行排序。最后取排序的前10个作为推荐列表。一个用户u对一个物品i的喜好程度用如下评分函数进行预测:
基于相似性成对排名模型能够产生比现有方法更好的推荐结果,代表用户兴趣爱好的物品能够得到更高的分数,在推荐列表中取得更加靠前的位置。表1绘制了相似性成对排名模型(SPRMF)与现有方法的比较。在归一化折损累计增益NDCG(5,10)中取得了最好的效果,SPRMF比BPRMF分别高出了9.96%和9.38%。相似性成对排名模型解决了使用成对排序方法时遇到的头部问题。使用相似性成对排序的推荐系统预测性能比原来的成对排序的推荐系统性能显著提升。
表1:实验结果
MovieLens1M数据集 | 成对排序模型 | 相似性成对排名模型 | 提升(%) |
NGCG@5 | 0.7660 | 0.8423 | 9.96 |
NDCG@10 | 0.7797 | 0.8523 | 9.38 |
Claims (1)
1.基于相似性成对排名的推荐系统物品预测方法,其特征在于:包括以下步骤,
步骤(1)获取推荐系统数据集,表示为(用户、物品、用户对物品的评分),其中,用户用u表示,物品分为正样本i和负样本j,用户对物品的评分用r表示,由用户给出评分的物品称为正样本,未由用户给出评分的物品称为负样本;
步骤(2)把推荐系统数据集中的物品划分为正负样本集合,其中,使用Vu表示用户u的正样本集合,V\Vu表示用户u的负样本集合;
步骤(3)把用户的正样本集合划分为多个相似物品组,具体的,
用户的评分范围为1-S,将用户u的正样本继续划分为S个子集合每个子集合/>中的物品拥有相同的用户评分,子集中的任意两个物品称为相似物品,每个子集合/>为一个相似物品组;
步骤(4)将推荐系统数据集、相似物品组集合、负样本集合重新组织为相似物品对数据集,其中,相似物品对表示为<u,i,q,j>,其中,q表示与正样本i相似的正样本,即物品i的相似物品,j表示负样本;
步骤(5)构建相似性成对排名模型并初始化;
所述的相似性成对排名模型用于最优化用户及物品的向量表示,使用户u喜欢的物品的向量表达更加接近,用户u不喜欢的物品的向量表达更加的不同,具体如下:
其中,Ds表示步骤(4)得到的相似物品对数据集,
α为超参数,用于控制物品的相似性对目标函数和结果的影响,
σ为sigmoid函数,
表示正样本i和负样本j之间的得分差异,
表示正样本i和另一个正样本q之间的得分差异,
||X||2和||Y||2表示正则化项,用于防止模型学习过拟合,
初始化:利用向量来表示数据集中的每一个用户和物品,采用高斯分布随机初始化所有用户向量和物品向量;
步骤(6)相似性成对排名模型训练,得到用户和物品的最优向量表示;
步骤(7)物品分数预测和排序;
根据步骤(6)得到的每一个用户的最优向量表示和每一个物品的最优向量表示,使用打分函数预测用户对每一个物品的喜好分数,然后根据分数对所有物品进行排序,最后根据实际需求生成推荐列表,其中,打分函数如下:
表示用户u对物品m的预测分数,Xu表示用户u的向量表示,X表示所有用户向量组成的用户矩阵,Xu是矩阵X的第u行,Xuk是X中第u行第k列的元素,Y表示所有物品向量组成的物品矩阵,Ym表示任一物品m的向量表示,也是矩阵Y的第m行;K表示预设的向量维度;
步骤(6)具体使用随机梯度下降算法最小化相似性成对排名模型,得到用户和物品的最优向量表示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011419952.9A CN112464098B (zh) | 2020-12-05 | 2020-12-05 | 基于相似性成对排名的推荐系统物品预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011419952.9A CN112464098B (zh) | 2020-12-05 | 2020-12-05 | 基于相似性成对排名的推荐系统物品预测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112464098A CN112464098A (zh) | 2021-03-09 |
CN112464098B true CN112464098B (zh) | 2024-02-02 |
Family
ID=74800863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011419952.9A Active CN112464098B (zh) | 2020-12-05 | 2020-12-05 | 基于相似性成对排名的推荐系统物品预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112464098B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116204567B (zh) * | 2023-04-28 | 2023-09-05 | 京东科技控股股份有限公司 | 用户挖掘及模型的训练方法、装置、电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111008334A (zh) * | 2019-12-04 | 2020-04-14 | 华中科技大学 | 基于局部成对排序和全局决策融合的Top-K推荐方法和系统 |
CN111104601A (zh) * | 2019-12-26 | 2020-05-05 | 河南理工大学 | 一种对抗式多反馈层级成对个性化排名方法 |
-
2020
- 2020-12-05 CN CN202011419952.9A patent/CN112464098B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111008334A (zh) * | 2019-12-04 | 2020-04-14 | 华中科技大学 | 基于局部成对排序和全局决策融合的Top-K推荐方法和系统 |
CN111104601A (zh) * | 2019-12-26 | 2020-05-05 | 河南理工大学 | 一种对抗式多反馈层级成对个性化排名方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112464098A (zh) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111538912B (zh) | 内容推荐方法、装置、设备及可读存储介质 | |
CN111797321B (zh) | 一种面向不同场景的个性化知识推荐方法及系统 | |
CN108665323B (zh) | 一种用于理财产品推荐系统的集成方法 | |
CN109064285B (zh) | 一种获得商品推荐序列及商品推荐方法 | |
CN106157156A (zh) | 一种基于用户社区的协作推荐系统 | |
Li et al. | Content-based filtering recommendation algorithm using HMM | |
CN111859166A (zh) | 一种基于改进的图卷积神经网络的物品评分预测方法 | |
CN106250545A (zh) | 一种基于用户搜索内容的多媒体推荐方法及系统 | |
CN111737578A (zh) | 一种推荐方法及系统 | |
CN107895303B (zh) | 一种基于ocean模型的个性化推荐的方法 | |
CN105701225B (zh) | 一种基于统一关联超图规约的跨媒体检索方法 | |
Liu et al. | Using collaborative filtering algorithms combined with Doc2Vec for movie recommendation | |
CN111488524A (zh) | 一种面向注意力的语义敏感的标签推荐方法 | |
CN112862567B (zh) | 一种在线展会的展品推荐方法与系统 | |
CN108920647B (zh) | 基于谱聚类的低秩矩阵填充top-n推荐方法 | |
CN110727864A (zh) | 一种基于手机App安装列表的用户画像方法 | |
CN112464098B (zh) | 基于相似性成对排名的推荐系统物品预测方法 | |
CN116680363A (zh) | 一种基于多模态评论数据的情感分析方法 | |
CN116910375A (zh) | 一种基于用户偏好多样性的跨域推荐方法及系统 | |
Alfarhood et al. | Collaborative attentive autoencoder for scientific article recommendation | |
CN111897999B (zh) | 一种用于视频推荐且基于lda的深度学习模型构建方法 | |
CN112967116A (zh) | 一种基于多策略池的线下零售门店用商品推荐方法及系统 | |
KR102600697B1 (ko) | 제한적 볼츠만 머신 구동 기반의 인터랙티브 맞춤형 검색 방법 | |
CN117313841A (zh) | 一种基于深度迁移学习和图神经网络的知识增强方法 | |
CN109902169B (zh) | 基于电影字幕信息提升电影推荐系统性能的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |