CN116186384A - 一种基于物品隐含特征相似度的物品推荐方法及系统 - Google Patents

一种基于物品隐含特征相似度的物品推荐方法及系统 Download PDF

Info

Publication number
CN116186384A
CN116186384A CN202211613885.3A CN202211613885A CN116186384A CN 116186384 A CN116186384 A CN 116186384A CN 202211613885 A CN202211613885 A CN 202211613885A CN 116186384 A CN116186384 A CN 116186384A
Authority
CN
China
Prior art keywords
user
similarity
matrix
item
articles
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.)
Pending
Application number
CN202211613885.3A
Other languages
English (en)
Inventor
袁友伟
姜添
郑超
黄笑成
李文馨
刘聪
鄢腊梅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN202211613885.3A priority Critical patent/CN116186384A/zh
Publication of CN116186384A publication Critical patent/CN116186384A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

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)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种基于物品隐含特征相似度的物品推荐方法及系统。本发明通过无偏矩阵分解得到物品隐含特征,使用物品隐含特征计算物品相似度。进一步地,基于物品相似度完成贝叶斯个性化排序中三元组和目标函数的构造优化了负样本采样问题并且提高了方法的可解释性。此外,本发明引入了倾向性加权评分,解决了训练样本不随机缺失的问题,能够减少因为物品流行度带来的偏差。

Description

一种基于物品隐含特征相似度的物品推荐方法及系统
技术领域
本发明属于个性化推荐领域,具体涉及一种基于物品隐含特征相似度的物品推荐方法及系统。
背景技术
贝叶斯个性化排序是一种常用于处理隐式反馈数据的推荐方法。其通过构造算三元组来解决隐式反馈数据中负样本不可观察问题。三元组假设用户对交互过的物品会比没有交互过的物品更感兴趣。
传统贝叶斯个性化排序存在以下问题:首先,三元组中负样本的采样过于随机,这将导致用户潜在的偏好物品被当作负样本进行训练,使得训练出的模型出现偏差。其次,受推荐系统影响,用户往往更容易接触到更流行的物品,这会导致采集到的训练样本不随机缺失的问题。最后,传统贝叶斯个性化排序方法缺少可解释性,即用户不清楚一个物品被推荐给他们的理由和原因。
针对传统贝叶斯个性化排序上述存在的问题,本发明提出一种基于物品隐含特征相似度的物品推荐方法及系统,意图解决现有方法中存在的不足。
发明内容
针对传统贝叶斯个性化排序存在的问题,本发明公开了一种基于物品隐含特征相似度的物品推荐方法及系统。本发明通过无偏矩阵分解得到物品隐含特征,使用物品隐含特征计算物品相似度。进一步地,基于物品相似度完成贝叶斯个性化排序中三元组和目标函数的构造优化了负样本采样问题并且提高了方法的可解释性。此外,本发明引入了倾向性加权评分,解决了训练样本不随机缺失的问题,能够减少因为物品流行度带来的偏差。
为了解决现有问题,本发明的具体技术方案如下:
第一方面,提供一种基于物品隐含特征相似度的物品推荐方法,包括以下步骤:
步骤(1):获取用户与物品交互的隐式反馈数据集,并将上述数据集进行预处理;
步骤(1)包含以下步骤:
步骤(1.1):对数据进行二值化处理,得到交互矩阵MT
交互矩阵MT中的元素Tu,i为0或1,代表用户是否与物品发生交互;矩阵MT具体是:
Figure BDA0004001331330000021
其中u代表用户集U={1,2,3,...,m}中的一个用户,i代表物品集I={1,2,3,...,n}中的一个物品,Du,i表示数据集D中某个元素;
基于上述计算逻辑可得用户物品交互矩阵MT∈{0,1}m×n
步骤(1.2):切分数据集;
以比例η将隐式数据集D=U×I分割为DS=US×I和DB=UB×I,US∪UB=U。其中DS用于计算物品隐含特征,数据DB用于训练推荐模型。
步骤(2):矩阵分解获得物品隐含特征;
使用数据集DS作为矩阵分解模型中的数据,在矩阵分解模型学习后保存学习产生的物品隐含特征。
具体的,步骤(2)使用到引入倾向性加权评分的无偏矩阵分解,步骤如下:
步骤(2.1):计算倾向性加权评分;
以物品在用户面前曝光的概率作为倾向性评分,根据交互与曝光概率和用户偏好之间的关系可知,只有当用户即偏好该物品且物品暴露在了用户面前才能与之产生交互,因此在矩阵分解模型中要针对曝光概率这一因素调整模型,避免出现不随见缺失的问题。交互与曝光和用户的偏好的关系如下:
P(Tu,i=1)=P(eu,i=1,ru,i=1) 式(2)
Tu,i=eu,i·ru,i 式(3)
其中eu,i和ru,i均为伯努利随机变量,并且假设二者相互独立,eu,i=1时物品i暴露在用户u前,eu,i=0代表i没有出现在用户u面前过。ru,i=1代表用户u偏好物品i,ru,i=0代表用户u不偏好物品i;
用Ei表示物品的曝光概率,在数据集中物品的曝光概率Ei可以通过统计一个物品与不同用户的交互次数来确定。具体计算公式如下:
Figure BDA0004001331330000031
其中τ为超参数通常≤1,此处设为0.5,m为用户的总数量,g为与不同用户交互次数最多的物品。
步骤(2.2)构造目标函数;
矩阵分解将原交互矩阵
Figure BDA0004001331330000032
分解为
Figure BDA0004001331330000033
Figure BDA0004001331330000034
两个矩阵,其中WS为用户隐含特征矩阵记录|US|个用户的θ维特征,QS为物品隐含特征矩阵,记录n个物品的θ维特征;
因此原交互矩阵MT可表示为:
MT=WS×(QS)T 式(5)
其中(QS)T为QS的转置矩阵;
一个物品的用户偏好程度可表示为:
ru,i=wu·qi 式(6)
其中
Figure BDA0004001331330000035
ru,i为用户u对物品i的偏好程度;
综上,根据矩阵分解逻辑模型构造目标函数并在目标函数中引入倾向性加权评分来减少曝光度带来的误差,进一步提高了所得物品隐含特征的准确度;
无偏矩阵分解的目标函数如下:
Figure BDA0004001331330000036
其中
Figure BDA0004001331330000037
Figure BDA0004001331330000038
为预测的用户u对物品i的偏好程度,由用户隐含特征与物品隐含特征的点乘所得,数学公式为:
Figure BDA0004001331330000041
步骤(2.3)矩阵分解模型训练;
在目标函数中加入正则项避免训练过拟合,并且使用梯度下降更新目标函数中用户隐含特征向量wu和物品隐含特征向量qi。当目标函数收敛,更新完成后的QS即为步骤(3)中所需的物品隐含特征矩阵。加入正则的目标函数如下:
Figure BDA0004001331330000042
其中λs为正则项系数。
步骤(3):根据保存的物品隐含特征计算物品的隐含特征相似度,并构造物品之间的隐含特征相似矩阵;具体如下:
步骤(3.1):计算物品隐含特征相似度;
使用物品隐含特征矩阵QS计算各物品间的相似度。相似度的计算使用到余弦相似度,其计算公式如下:
Figure BDA0004001331330000043
其中qi,qj均为物品隐含相似度矩阵QS中某个物品的隐含特征向量,qi,qj的长度为θ。f为向量中的一个维度。函数中加一是为了让相似度不为负数,因此sim(i,j)∈[0,2]。
步骤(3.2):构造隐含特征相似矩阵与相似度矩阵;
根据所得的物品相似度,构造相似度矩阵Msim,记录n个物品间的相似度sim(i,j);然后通过相似度矩阵Msim构造隐含特征相似矩阵Msi,判断物品i与物品j是否为相同物品,若是则不作为相似物品,即i=j时sii,j=0,若否则继续判断物品i与物品j是否满足sim(i,j)≥v,若是则认为两个物品i、j相似sii,j=1,反之则认为物品i、j不相似sii,j=0,并在矩阵中更新相应元素;具体如下:
Figure BDA0004001331330000051
其中v为判断两物品是否相似的阈值,sii,j为矩阵Msi中的一个元素,不将相同的物品作为相似物品,矩阵Msi大小为n×n;
基于上述步骤得到物品隐含特征相似矩阵Msi和物品隐含特征相似度矩阵Msim,矩阵Msim大小为n×n。
步骤(4):训练基于物品隐含特征相似度的贝叶斯个性化排序方法模型;具体步骤如下:
步骤(4.1):构造三元组;
使用数据集DB构造用户u、物品i与物品j的三元组<u,i,j>,并以集合
Figure BDA0004001331330000052
存放构造好的三元组。三元组的构造逻辑如下:
<u,i,j>,u∈UB,i,j∈I 式(11)
步骤(4.2):根据三元组构造基于物品隐含特征相似度的贝叶斯个性化排序方法的目标函数;
区别于传统贝叶斯个性化排序的目标函数,本发明引入了倾向性加权评分削弱流行度带来的曝光误差,并创新性地引入相似度影响因子S控制目标函数的训练方向;改进后的贝叶斯个性化排序目标函数如下:
Figure BDA0004001331330000053
其中|UB|,|I|前者表示数据集DB中用户的个数,后者表示DB中物品的个数。σ(·)为simoid函数。
Figure BDA0004001331330000054
Δru,i,j为用户u对i预测的偏好程度与用户u对j预测的偏好程度的差值。
Figure BDA0004001331330000055
预测值
Figure BDA0004001331330000056
由矩阵分解得到,同理得到
Figure BDA0004001331330000061
的预测值;
相似度影响因子S数学逻辑如下:
Figure BDA0004001331330000062
在影响因子S的影响下,目标函数会由三元组的不同发生改变,并且对训练的方向产生影响,变化后的目标函数如下:
Figure BDA0004001331330000063
基于物品隐含特征相似度的贝叶斯个性化排序依据相似因子S与倾向性加权评分Ei对目标函数进行了调整,以物品i与物品j的相似性改变了目标函数产生了不同的训练结果。
由式(14)可得当物品i,j相似时,且用户未曾与物品j产生交互时,目标函数不将Δru,i,j扩大,而是根据i与j之间的相似度sim(i,j)缩小物品i与物品j之间的偏好差距Δru,i,j。使得用户潜在的偏好物品j更容易被推荐给用户;
当物品i,j不相似时,函数扩大Δru,i,j,即相当于把与物品i不相似且未交互过的物品j作为负样本进行训练;
进一步的,当Tu,j=1时即用户与物品i与物品j均有交互时,改进后的模型同样进行训练,由于物品的曝光度Ei≤1因此(1-Tu,j)会在此时小于等于0,目标函数的目的又变为了缩小偏好差距Δru,i,j,使得用户u感兴趣的物品的预测偏好更接近。这充分利用了隐式数据集中数量少且珍贵的正样本。
步骤(4.3):根据目标函数训练推荐模型;
在目标函数中加入正则项并且根随机梯度下降更新隐含特征wu,qi,qj;加入正则项后的目标函数如下:
Figure BDA0004001331330000071
分别对目标函数中的向量wu,qi,qj求其梯度:
Figure BDA0004001331330000072
Figure BDA0004001331330000073
Figure BDA0004001331330000074
使用随机梯度下降SGD更新向量wu,qi,qj
循环执行步骤步骤(4.3),当wu,qi,qj收敛时,则得到了最优的向量wu,qi,qj,至此基于物品隐含特征相似度的贝叶斯个性化排序模型训练完成。
步骤(5):根据训练后的推荐模型计算用户对物品的偏好度并排序,并根据该序列将物品推荐给用户;
步骤(5)的具体步骤如下:
步骤(5.1):计算用户对物品的偏好程度;
将得到的用户矩阵与物品矩阵相乘,得到用户对各个物品的预测偏好程度
Figure BDA0004001331330000075
公式如下:
Figure BDA0004001331330000076
其中UB为DB数据集中的用户集合,I则为所有的物品集合。
步骤(5.2):生成推荐序列;
选择一个用户u,将所得的用户u对各个物品的偏好程度进行排序,并将前N个物品推荐给用户u。
第二方面,提供基于物品隐含特征相似度的物品推荐系统,其特征在于包括训练后的基于物品隐含特征相似度的贝叶斯个性化排序模型。
第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行所述的方法。
第四方面,提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现所述的方法。
相比于现有方法,本发明在以下几点有更好的效果:
1、准确性和合理性。本发明负样本采样及模型训练更合理,传统贝叶斯个性化排序负样本选择过于随机,会将用户潜在的偏好对象当作负样本进行训练。而本发明通过引入相似因子及倾向性加权评分,提供了更合理的负样本采样策略和模型目标函数,并针对三元组中物品i与物品j的关系让目标函数产生不同的训练方向,提升了贝叶斯个性化排序方法的合理性和准确性。
2、适用性。本发明相似度计算不依赖额外数据集,其他方法提供的负样本采样策略常常要使用到额外采集到的特征,如用户特点,物品特征等来实现隐式反馈数据集中的负采样。本发明使用到的物品相似度计算策略不再依赖额外采集的数据,而是基于隐式反馈数据计算物品相似度,增加了方法的适用面和部署效率,可用于更多现实数据。
3、可解释性。本发明基于物品的相似度构造目标函数,这使得用户可以得知他们被推荐给一个物品的原因是他们曾与某一与该物品相似的物品产生过交互行为。这一定程度上提高了用户对推荐系统的信任,让用户获得更好的推荐体验。
附图说明
图1为本方法的流程图。
图2为本方法的数据处理流程图。
图3为矩阵分解方法的基本原理。
图4为三元组构造对目标函数训练的影响。
图5为本发明在MAP@K指标下与其它两种方法的效果对比。
图6为本发明在NDCG@K指标下与其它两种方法的效果对比。
具体实施方式
下面将结合发明附图对本发明一种基于物品隐含特征相似度的物品推荐方法作进一步说明。
一种基于物品隐含特征相似度的物品推荐方法,图1包括以下步骤:
步骤(1):获取用户与物品交互的隐式反馈数据。实验使用MoviesLen 100K数据集。
步骤(2):切分数据与数据预处理;
MoviesLen 100K数据集数据主要形式为用户对电影的评分,并不是本发明所使用到的隐式反馈数据集,因此根据图2对数据进行相应处理;具体步骤如下:
步骤(2.1):除去数据集中交互信息外的多余信息;
去除数据集中用户的评分时间等其它多余信息,仅保留用户id物品id以及用户评分。
步骤(2.2):根据用户的隐式交互行为构造交互矩阵;
根据用户是否有与物品交互构造二值化交互矩阵MT,MT∈{0,1}m×n,其中m为数据集D中所有用户的数量,n为数据集中所有物品的数量。交互矩阵MT中的元素Tu,i的计算逻辑如下:
Figure BDA0004001331330000091
其中u为用户集U中的一个用户id,i为物品集I中的一个物品id,U={1,2,3,...,m},I={1,2,3,...,n}。
步骤(2.3):基于交互矩阵计算物品的曝光度;
基于MT计算物品曝光度Ei,计算公式如下:
Figure BDA0004001331330000092
统计一个物品与多少个不同用户进行过交互,其中物品g为与不同用户交互过最多次的物品。变量τ为超参数,此处设置为0.5。
步骤(2.4):切分数据集;
切分数据集D,将数据集按照比率η切分为DS与DB。DS作为产生物品隐含特征数据集,DB用于训练推荐模型;在MoviesLen 100K数据集中使用测试集作为DS,训练集为DB
DS与DB关系如下:
DS=US×I,DB=UB×I,US∪UB=U 式(3)
其中US为DS中的用户集,UB为DB中的用户集。
步骤(3):无偏矩阵分解计算物品隐含特征;
基于数据集DS计算物品隐含特征QS
步骤(3.1):随机选取负样本用于矩阵分解;
使用无偏矩阵分解的方法计算物品隐含特征。正样本的选择上使用所有与用户有过交集Tu,i=1的物品作为正样本定义为<u,i>+,且设Z+为正样本数,Z-未负样本数。负样本的选择上随机选取未与用户交互过的物品作为负样本<u,i>-,其数量Z-∞Z+
步骤(3.2):矩阵分解原理;
矩阵分解即将原矩阵
Figure BDA0004001331330000101
分解为
Figure BDA0004001331330000102
Figure BDA0004001331330000103
两个矩阵,其中θ为隐含特征的维度,|US|为数据集DB中的用户个数;矩阵分解原理如图3所示;矩阵WS记录了|US|个用户的θ维隐含特征向量,矩阵QS记录了个n物品的θ维隐含特征向量;交互矩阵MT可表示为为MT=WS×(QS)T,进一步地,用户对物品的偏好程度ru,i可表示为
Figure BDA0004001331330000104
其中:
Figure BDA0004001331330000105
步骤(3.3):定义倾向性加权评分;
用户与一个物品发生交互需要用户既偏好物品的同时,物品又要曝光在用户前,因此交互与曝光和用户的偏好的关系如下:
P(Tu,i=1)=P(eu,i=1,ru,i=1) 式(5)
Tu,i=eu,i·ru,i 式(6)
其中eu,i和ru,i均为伯努利随机变量,并且假设二者相互独立,eu,i=1时物品i暴露在用户u前,eu,i=0代表i没有出现在用户u面前过;ru,i=1代表用户u偏好物品i,ru,i=0代表用户u不偏好物品i;
基于上述关系,引入逆向倾向性加权评分Ei来消除由物品的流行度产生的不随机缺失问题,进一步优化了模型训练的准确度。
步骤(3.4)构造无偏矩阵分解的目标函数;
构造引入了倾向性加权评分的无偏矩阵分解目标函数:
Figure BDA0004001331330000111
其中
Figure BDA0004001331330000112
λs为正则项系数。
步骤(3.5)训练引入倾向性加权评分的无偏矩阵分解模型;
基于上述目标函数Optsim,使用随机梯度下降迭代更新目标函数中用户隐含特征向量wu和物品隐含特征向量qi,当向量wu与向量qi收敛时训练完成;由qi,i∈I组成的物品隐含特征向量矩阵
Figure BDA0004001331330000113
将用于步骤(4)中的相似度计算。
步骤(4):基于隐含特征计算物品相似度并构造相似矩阵与相似度矩阵。
步骤(4.1):计算物品隐含特征余弦相似度;
使用余弦相似度计算物品间的相似度,其公式为:
Figure BDA0004001331330000114
其中qi,qj均为物品隐含特征矩阵Qs中某个物品的隐含特征向量,qi,qj的长度为θ。f为向量中的一个维度。函数中加一是为了让相似度不为负数,因此sim(i,j)∈[0,2]。
步骤(4.2):计算相似度矩阵与相似矩阵;
将计算出的物品相似度sim(i,j)记录在相似度矩阵Msim中,
Figure BDA0004001331330000121
设置阈值v用于判断两物品是否相似,并将判断后的结果存于相似矩阵Msi中;其判断逻辑如下:
Figure BDA0004001331330000122
其中sii,j为相似矩阵Msi中的一个元素,即当相似度大于等于阈值v时则判断两物品相似,且不将相同的物品作为相似物品。
步骤(5):使用改进后的贝叶斯个性化排序方法训练推荐模型;
步骤(5.1):构造三元组;
基于数据集DB构造三元组,三元组的构造逻辑如下:
<u,i,j>,u∈UB,i,j∈I 式(10)
<u,i,j>为构造的三元组,UB为数据集DB中的所有用户集合;以集合
Figure BDA0004001331330000123
存放构造好的三元组,可以看出三元组中正样本与负样本的选择空间是所有物品,这与传统贝叶斯个性化排序不同,具体原因将结合图4与目标函数进行解释。
步骤(5.2):构造目标函数;
传统贝叶斯个性化排序的思想是假设用户对交互过的物品i会比未交互过的物品j更感兴趣,目标函数的目的是加大交互过物品与为交互过物品的差值;但这样的假设也会使得潜在的用户偏好物品被当作负样本训练,依据这样的模型进行推荐会使得流行度高的物品更容易被推荐给用户,也会使得一些用户的偏好物品不能被正确地推荐给用户;针对以上问题本发明基于相似矩阵Msi与相似度矩阵Msim以及倾向性加权评分Ei重新构造个性化排序模型的目标函数;函数如下:
Figure BDA0004001331330000124
Figure BDA0004001331330000131
其中
Figure BDA0004001331330000132
|U|,|I|前者表示数据集DB中用户的个数,后者表示DB中物品的个数,σ(·)为simoid函数,
Figure BDA0004001331330000133
Δru,i,j为用户u对i预测的偏好程度与用户u对j预测的偏好程度的差值。
Figure BDA0004001331330000134
预测值
Figure BDA0004001331330000135
由矩阵分解得到;目标函数会根据正负样本的取样以及相似因素S的改变发生变化。具体变化如下:
①当物品i与j相似且用户未与物品j发生交互目标函数如下:
Figure BDA0004001331330000136
②当物品i与j不相似且用户未与物品j发生交互目标函数如下:
Figure BDA0004001331330000137
③当用户与i和j均发生交互时,目标函数如下:
Figure BDA0004001331330000138
④其他情况:
OptB=0,Tu,i=0 式(15)
在情况①时,目标函数缩小了Δru,i,j,减少了i和j之间的偏好差距使得相似物品j的预测偏好更接近用户交互过的物品i;
在情况②时,目标函数如传统贝叶斯个性化排序,扩大了Δru,i,j,使得物品i和与物品i不相似的物品j之间的偏好度扩大;
在情况③中,目标函数虽然与情况②相同但是因为逆向倾向性加权评分
Figure BDA0004001331330000141
使得目标函数目的发生变化;由于物品曝光度Ei∈[0,1],使得
Figure BDA0004001331330000142
的符号产生变化,这也导致目标函数缩小了Δru,i,j,让同为用户交互过的物品i与j偏好度更加接近;
情况④即i为用户未交互过的物品时,函数不更新向量;
图4展示了在四种能对训练产生影响的三元组对训练结果的影响;
当用户与物品j有交互且物品j相似于物品i则缩小Δru,i,j;当用户与物品j有交互且物品j不相似于物品i则缩小Δru,i,j;当用户与物品j无交互且物品j不相似于物品i也缩小Δru,i,j;当用户与物品j无交互且物品j不相似于物品i则扩大Δru,i,j
步骤(5.3):训练基于物品隐含特征相似度物品推荐模型;
使用随机梯度下降方法更新向量wu,qi,qj
向量wu,qi,qj的梯度如下:
Figure BDA0004001331330000143
Figure BDA0004001331330000144
Figure BDA0004001331330000145
基于向量wu,qi,qj的梯度更新向量wu,qi,qj
循环执行步骤步骤(5.3),当wu,qi,qj收敛时,则完成了基于物品隐含特征相似度的物品推荐模型的训练。
步骤(6):生成推荐序列;
根据模型计算用户对物品的偏好度,并按照降序排序,将前N个物品推荐给用户;
具体的,步骤(6)详细步骤如下:
步骤(6.1):将用户矩阵与物品矩阵中的向量做内积即wu·qi,后得到用户u对物品i的偏好程度。
步骤(6.2):计算用户与所有物品的偏好程度并按偏好程度的大小进行排序,并将前N个物品作为该用户的推荐列表。
本实验平台配置为显卡为Nvidia Geforce RTX3060 8G,处理器为AMD Ryzen 52600 Six-Core Processor,内存RAM16GB,Windows10 64位操作系统。
在测试集的构造上,将切分后的数据集DB中百分之二十的用户与物品交互的数据抽取作为测试集;在评估度量上选用平均精度均值MAP@K与归一化折损累计增益NDCG@K作为评估算法好坏的指标,其中MAP@K的数学公式如下:
Figure BDA0004001331330000151
其中TK表示推荐序列前K个物品中与用户有交互的物品总数,
Figure BDA0004001331330000154
表示推荐序列前k个中与用户有交互的物品总数,T(u,k)表示用户是否与推荐序列第k个物品有过交互,若有T(u,k)=1,反之T(u,k)=0。
NDCG@K评价度量的计算公式如下:
Figure BDA0004001331330000152
Figure BDA0004001331330000153
其中RL(u)为给用户u生成的推荐物品序列,RL(u)按偏好度降序排列;
Figure BDA0004001331330000155
为RL(u)中排k位物品的用户评分,k为物品在RL(u)排名;IDCG@K为所有用户的DCG@K中数值最大的哪一个。
在横向对比算法上,选择传统贝叶斯个性化排序(BPR)与常用于解决隐式反馈问题的加权矩阵分解(WMF)。
如图5所示,MAP@K指标反映了在长度为K的推荐序列中用户与序列中多少个物品产生了交互,在MAP@K指标下本发明在K=1,K=3,K=5,K=7四种长度序列中分别取得了0.19,0.28,0.30,0.32的准确率均高于贝叶斯个性化排序(BPR)与加权矩阵分解(WMF)这两种方法。这说明本发明引入的倾向性加权评分,削弱了物品的流行程度对推荐模型的影响,减少了推荐模型训练过程中的曝光偏差。此外本发明基于物品隐含特征相似度的负采样策略,有依据的选择不相似物品作为负样本解决了贝叶斯个性化排序负采样过于随机的问题,使得更多用户潜在的偏好物品能作为正样本进行训练。以上方法使得本发明的推荐准确率有显著提高。
图6展示了本发明与其他两种方法在NDCG@K指标下的比较。NDCG@K指标除了反映准确率外,还反映了用户是否对推荐到的物品感兴趣。在序列长度K=1,K=3,K=5,K=7中本发明准确率分别为0.23,0.47,0.58,0.61。且均高于叶斯个性化排序(BPR)与加权矩阵分解(WMF)两种方法。本发明基于一组三元组中物品间的交互关系以及它们的隐含特征相似关系进一步细分了贝叶斯个性化排序的目标函数,使得贝叶斯个性化排序基于不同的三元组物品关系有不同的训练方向,这让推荐模型的训练更为合理,推荐序列中的物品用户更感兴趣。本发明的合理性得到验证。
由实验结果表明,本发明在准确率与负样本采样合理性上均得到了提高。同时本发明基于物品隐含特征相似度计算的相似矩阵可作为方法接口提高方法的可解释性。物品相似度的计算不依赖额外数据,提高了算法的适用面和部署效率,能够满足现实生活中的应用。

Claims (7)

1.一种基于物品隐含特征相似度的物品推荐方法,其特征在于包括以下步骤:
步骤(1):获取用户与物品交互的隐式反馈数据集D,并将上述数据集进行预处理;
步骤(2):使用数据集DS作为矩阵分解模型中的数据,矩阵分解获得物品隐含特征;具体是:
步骤(2.1):计算倾向性加权评分;
以物品在用户面前曝光的概率作为倾向性评分,根据交互与曝光概率和用户偏好之间的关系可知,只有当用户即偏好该物品且物品暴露在了用户面前才能与之产生交互,因此在矩阵分解模型中要针对曝光概率这一因素调整模型,避免出现不随见缺失的问题;交互与曝光和用户的偏好的关系如下:
P(Tu,i=1)=P(eu,i=1,ru,i=1) 式(1)
Tu,i=eu,i·ru,i 式(2)
其中eu,i和ru,i均为伯努利随机变量,并且假设二者相互独立,eu,i=1时物品i暴露在用户u前,eu,i=0代表i没有出现在用户u面前过;ru,i=1代表用户u偏好物品i,ru,i=0代表用户u不偏好物品i;
用Ei表示物品的曝光概率,在数据集中物品的曝光概率Ei通过统计一个物品与不同用户的交互次数来确定;具体计算公式如下:
Figure QLYQS_1
g∈I,且满足
Figure QLYQS_2
其中τ为超参数,m为用户的总数量,g为与不同用户交互次数最多的物品;
步骤(2.2):构造目标函数;
矩阵分解将原矩阵
Figure QLYQS_3
分解为
Figure QLYQS_4
Figure QLYQS_5
两个矩阵,其中WS为用户隐含特征矩阵记录|US|个用户的θ维特征,QS为物品隐含特征矩阵,记录n个物品的θ维特征;
因此原矩阵MT表示为:
MT=WS×(QS)T 式(4)
其中(QS)T为QS的转置矩阵;
一个物品的用户偏好程度表示为:
ru,i=wu·qi 式(5)
其中
Figure QLYQS_6
ru,i为用户u对物品i的偏好程度;
综上,根据矩阵分解逻辑模型构造目标函数并在目标函数中引入倾向性加权评分来减少曝光度带来的误差,进一步提高了所得物品隐含特征的准确度;
无偏矩阵分解的目标函数如下:
Figure QLYQS_7
其中
Figure QLYQS_8
Figure QLYQS_9
为预测的用户u对物品i的偏好程度,
由用户隐含特征与物品隐含特征的点乘所得,可知:
Figure QLYQS_10
步骤(2.3)矩阵分解模型训练;
在目标函数中加入正则项避免训练过拟合,并且使用梯度下降更新目标函数中用户隐含特征向量wu和物品隐含特征向量qi;当目标函数收敛,更新完成后的QS即为步骤(3)中所需的物品隐含特征矩阵;加入正则的目标函数如下:
Figure QLYQS_11
其中λs为正则项系数;
步骤(3):根据保存的物品隐含特征计算物品的隐含特征相似度,并构造物品之间的隐含特征相似矩阵与相似度矩阵;具体如下:
步骤(3.1):计算物品隐含特征相似度;
使用物品隐含特征矩阵QS计算各物品间的相似度;相似度的计算使用到余弦相似度,其计算公式如下:
Figure QLYQS_12
其中qi,qj均为物品隐含相似度矩阵QS中某个物品的隐含特征向量,qi,qj的长度为θ;f为向量中的一个维度;函数中加一是为了让相似度不为负数,因此sim(i,j)∈[0,2];
步骤(3.2):构造隐含特征相似矩阵与相似度矩阵;
根据所得的物品相似度,构造相似度矩阵Msim,记录n个物品间的相似度sim(i,j);然后通过相似度矩阵Msim构造隐含特征相似矩阵Msi,判断物品i与物品j是否为相同物品,若是则不作为相似物品,即i=j时sii,j=0,若否则继续判断物品i与物品j是否满足sim(i,j)≥v,若是则认为两个物品i、j相似sii,j=1,反之则认为物品i、j不相似sii,j=0,并在矩阵中更新相应元素;具体如下:
Figure QLYQS_13
其中v为阈值,sii,j为矩阵Msi中的一个元素;
步骤(4):训练基于物品隐含特征相似度的贝叶斯个性化排序模型;具体步骤如下:
步骤(4.1):构造三元组;
使用数据集DB构造用户u、物品i与物品j的三元组<u,i,j>,并以集合
Figure QLYQS_14
存放构造好的三元组:
<u,i,j>,u∈UB,i,j∈I 式(10)
步骤(4.2):根据三元组构造基于物品隐含特征相似度的贝叶斯个性化排序模型的目标函数;
Figure QLYQS_15
其中|UB|表示数据集DB中用户的个数,|I|表示DB中物品的个数;σ(·)为simoid函数;Δru,i,j为用户u对i预测的偏好程度与用户u对j预测的偏好程度的差值;
Figure QLYQS_16
预测值
Figure QLYQS_17
由矩阵分解得到,同理得到
Figure QLYQS_18
的预测值;
相似度影响因子S的计算如下:
Figure QLYQS_19
在影响因子S的影响下,目标函数会由三元组的不同发生改变,并且对训练的方向产生影响,变化后的目标函数如下:
Figure QLYQS_20
步骤(4.3):训练基于物品隐含特征相似度的贝叶斯个性化排序模型:在目标函数中加入正则项并且根随机梯度下降更新隐含特征wu,qi,qj
步骤(5):根据训练后的基于物品隐含特征相似度的贝叶斯个性化排序模型计算用户对物品的偏好度并排序,并根据该序列将物品推荐给用户。
2.根据权利要求1所述方法,其特征在于步骤(1)具体是:
步骤(1.1):对数据集D中各数据进行二值化处理,得到交互矩阵MT
交互矩阵MT中的元素Tu,i为0或1,代表用户是否与物品发生交互;
Figure QLYQS_21
其中u代表用户集U={1,2,3,...,m}中的一个用户,i代表物品集I={1,2,3,...,n}中的一个物品,Du,i表示数据集D中某个元素;
步骤(1.2):切分数据集;
以比例η将步骤(1.1)处理后的隐式数据集D=U×I分割为DS=US×I和DB=UB×I,US∪UB=U;切分获得的数据集DS用于计算物品隐含特征,数据DB用于训练推荐模型。
3.根据权利要求1所述方法,其特征在于步骤(4.3)具体是:
加入正则项后的目标函数如下:
Figure QLYQS_22
分别对目标函数中的向量wu,qi,qj求其梯度:
Figure QLYQS_23
Figure QLYQS_24
Figure QLYQS_25
使用随机梯度下降SGD更新向量wu,qi,qj
循环执行步骤步骤(4.3),当wu,qi,qj收敛时,则得到了最优的向量wu,qi,qj,至此基于物品隐含特征相似度的贝叶斯个性化排序模型训练完成。
4.根据权利要求2所述方法,其特征在于步骤(5)具体是:
步骤(5.1):计算用户对物品的偏好程度;
将得到的用户矩阵与物品矩阵相乘,得到用户对各个物品的预测偏好程度
Figure QLYQS_26
公式如下:
Figure QLYQS_27
其中UB为DB数据集中的用户集合,I则为所有的物品集合;
步骤(5.2):生成推荐序列;
选择一个用户u,将所得的用户u对各个物品的偏好程度进行排序,并将前N个物品推荐给用户u。
5.实现权利要求1-4中任一项所述方法的基于物品隐含特征相似度的物品推荐系统,其特征在于包括训练后的基于物品隐含特征相似度的贝叶斯个性化排序模型。
6.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-4中任一项所述的方法。
7.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-4中任一项所述的方法。
CN202211613885.3A 2022-12-15 2022-12-15 一种基于物品隐含特征相似度的物品推荐方法及系统 Pending CN116186384A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211613885.3A CN116186384A (zh) 2022-12-15 2022-12-15 一种基于物品隐含特征相似度的物品推荐方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211613885.3A CN116186384A (zh) 2022-12-15 2022-12-15 一种基于物品隐含特征相似度的物品推荐方法及系统

Publications (1)

Publication Number Publication Date
CN116186384A true CN116186384A (zh) 2023-05-30

Family

ID=86445168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211613885.3A Pending CN116186384A (zh) 2022-12-15 2022-12-15 一种基于物品隐含特征相似度的物品推荐方法及系统

Country Status (1)

Country Link
CN (1) CN116186384A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116720003A (zh) * 2023-08-08 2023-09-08 腾讯科技(深圳)有限公司 排序处理方法、装置、计算机设备、及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116720003A (zh) * 2023-08-08 2023-09-08 腾讯科技(深圳)有限公司 排序处理方法、装置、计算机设备、及存储介质
CN116720003B (zh) * 2023-08-08 2023-11-10 腾讯科技(深圳)有限公司 排序处理方法、装置、计算机设备、及存储介质

Similar Documents

Publication Publication Date Title
CN109087178B (zh) 商品推荐方法和装置
WO2019015246A1 (zh) 图像特征获取
CN112232413B (zh) 基于图神经网络与谱聚类的高维数据特征选择方法
CN110889747B (zh) 商品推荐方法、装置、系统、计算机设备及存储介质
CN108536784B (zh) 评论信息情感分析方法、装置、计算机存储介质和服务器
CN110879864A (zh) 一种基于图神经网络和注意力机制的上下文推荐方法
CN105740327B (zh) 一种基于用户偏好的自适应采样方法
CN110717103B (zh) 基于堆栈降噪编码器改进的协同过滤方法
CN114693397A (zh) 一种基于注意力神经网络的多视角多模态商品推荐方法
CN112395487A (zh) 信息推荐方法、装置、计算机可读存储介质及电子设备
CN112256971A (zh) 一种序列推荐方法及计算机可读存储介质
CN111651576A (zh) 一种基于迁移学习的多轮阅读理解方法
CN116186384A (zh) 一种基于物品隐含特征相似度的物品推荐方法及系统
CN115618101A (zh) 基于负反馈的流媒体内容推荐方法、装置及电子设备
CN115760270A (zh) 一种基于知识图谱的新颖性增强推荐方法
CN116993548A (zh) 基于增量学习的LightGBM-SVM的教育培训机构信用评估方法及系统
CN113641907B (zh) 一种基于进化算法的超参数自适应深度推荐方法及装置
CN111079011A (zh) 一种基于深度学习的信息推荐方法
CN110727872A (zh) 基于隐式反馈进行不明确选择行为挖掘的方法及装置
CN114936890A (zh) 一种基于逆倾向加权方法的反事实公平的推荐方法
CN114972959A (zh) 深度学习中样本生成和类内排序损失的遥感图像检索方法
CN115345248A (zh) 一种面向深度学习的数据去偏方法及装置
CN113139624A (zh) 基于机器学习的网络用户分类方法
CN110956528A (zh) 一种电商平台的推荐方法及系统
CN112765458B (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