[发明专利]一种融合社会化信息的改进单类协同过滤方法有效
| 申请号: | 201610530667.1 | 申请日: | 2016-07-06 |
| 公开(公告)号: | CN106156333B | 公开(公告)日: | 2017-09-22 |
| 发明(设计)人: | 王刚;贺曦冉;程八一;蒋军;孙二冬;周黎宇 | 申请(专利权)人: | 合肥工业大学 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30;G06K9/62;G06Q30/02 |
| 代理公司: | 安徽省合肥新安专利代理有限责任公司34101 | 代理人: | 陆丽莉,何梅生 |
| 地址: | 230009 安*** | 国省代码: | 安徽;34 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明公开了一种融合社会化信息的改进单类协同过滤方法,包括1构造三元组分别表示用户项目信息、项目标签信息、用户标签信息和群组好友信息;2计算用户与其组内好友的偏好相似度;3计算用户偏好与其未选项目的特征相似度;4对用户抽取添加负例;5对用户项目矩阵实施联合概率矩阵分解,获得用户特征矩阵和项目特征矩阵;6获取对每个用户预测分值最高的前N个项目形成该用户的推荐列表。本发明基于项目标签信息和用户已选正例数量进行负例抽取,同时将用户群组和项目标签的社会化信息融合到概率矩阵分解中,实施联合概率矩阵分解,从而得到面向单类数据的推荐结果,有效解决单类协同过滤方法中数据的高度不平衡性和稀疏性问题。 | ||
| 搜索关键词: | 一种 融合 社会化 信息 改进 协同 过滤 方法 | ||
【主权项】:
一种融合社会化信息的改进单类协同过滤方法,其特征是按如下步骤进行:步骤1、构造用户项目三元组P、项目标签三元组Q、用户标签三元组W和群组好友三元组G:步骤1.1、令用户项目三元组P=<U,I,R>表示用户对项目的历史选择信息;U表示用户集,并有U={U1,U2,...,Ui,...,U|U|};Ui表示第i个用户;I表示项目集,并有I={I1,I2,...,Ij,...,I|I|};Ij表示第j个项目;R表示历史选择信息矩阵,并有{Ri,j}|U|×|I|;Ri,j=1表示第i个用户Ui已选择过第j个项目Ij;Ri,j为空表示第i个用户Ui未选择过第j个项目Ij;1≤i≤|U|;1≤j≤|I|;步骤1.2、令项目标签三元组Q=<I,T,B>表示项目被标注的标签信息,用于表征项目的特征;T表示标签集,并有T={T1,T2,...,Th,...,T|T|};Th表示第h个标签;B表示项目标签矩阵,并有{Bj,h}|I|×|T|;Bj,h表示第j个项目Ij被标注第h个标签Th的次数;1≤h≤|T|;步骤1.3、令用户标签三元组W=<U,T,D>表示用户对所有已选择项目标注的标签信息,用于表征用户的偏好特征;D表示用户标签矩阵,并有{Di,h}|U|×|T|;Di,h表示第i个用户Ui对自已所有已选择项目标注第h个标签Th的次数;步骤1.4、令群组好友三元组G=<U,U,F>表示用户群组好友信息;F表示用户好友矩阵,并有表示第i个用户Ui和第个用户是属于同一个群组的组内好友;为空表示第i个用户Ui和第个用户不属于任何一个共同群组的组内好友;步骤2、基于所述用户项目三元组P计算所述群组好友三元组G的用户与其群组好友的偏好相似度:步骤2.1、根据群组好友三元组G,获得第i个用户Ui的群组好友集合表示第i个用户Ui的第个群组好友;0≤L<|U|;利用式(1)得到第i个用户Ui与第个群组好友的Jaccard相似度Ji,l=|Ri,·∩Rl,·||Ri,·∪Rl,·|---(1)]]>式(1)中,Ri,·表示第i个用户Ui的已选项目集;表示第个群组好友的已选项目集;步骤2.2、对所有的用户,重复步骤2.1,从而获得所有|U|个用户与其群组好友之间偏好的相似度矩阵步骤3、基于所述项目标签三元组Q和所述用户标签三元组W,计算所述用户项目三元组P的用户与其未选择项目之间的用户偏好特征与项目特征的相似度:步骤3.1、根据所述项目标签三元组Q,利用TF‑IDF方法计算第j个项目Ij中第h个标签Tj,h的权值b′j,h,从而获得第j个项目Ij的|T|个标签的权值向量B′j={b′j,1,b′j,2,...,b′j,h,...,b′j,|T|};步骤3.2、对所有项目,重复步骤3.1,从而获得项目标签的权值矩阵B′={B′j,h}|I|×|T|;步骤3.3、根据所述用户标签三元组W,利用TF‑IDF方法计算第i个用户Ui中第h个标签Ti,h的权值d′i,h,从而获得第i个用户Ui的|T|个标签的权值向量D′i={d′i,1,d′i,2,...,d′i,h,...,d′i,|T|};步骤3.4、对所有用户,重复步骤3.3,从而获得用户标签的权值矩阵D′={D′i,h}|U|×|T|;步骤3.5、根据所述用户项目三元组P,获得第i个用户Ui的未选项目集合表示第i个用户Ui的第d个未选项目,0≤D<|I|;0≤d≤D;根据所述项目标签的权值矩阵B′和用户标签的权值矩阵D′,利用式(2)得到第i个用户Ui与第d个未选项目的余弦相似度Si,d:Si,d=cos(x,y)=x·y||x||2×||y||2---(2)]]>式(2)中,x表示所述用户标签的权值矩阵D′中第i个用户Ui对应的标签权值向量D′i,·,y表示所述项目标签的权值矩阵B′中第d个未选项目对应的标签权值向量B′d,·;步骤3.6、对所有用户,重复步骤3.5,从而获得用户的偏好特征与其未选择项目的项目特征之间的相似度矩阵S={Si,d}|U|×|I|;步骤4、基于所述用户项目三元组P、用户的偏好特征与其未选择项目的项目特征之间的相似度矩阵S对用户抽取并添加负例:步骤4.1、根据所述用户项目三元组P,得到第i个用户Ui已选正例数量ai′;利用式(3)得到第i个用户Ui应抽取的负例数量ai,进而得到所有用户应抽取的负例数量集合A={a1,a2,...,ai,...a|U|}:ai=β×ai′ (3)式(3)中,β表示抽取的负正例比例;步骤4.2、根据所述相似度矩阵S,将第i个用户Ui的未选项目集合I(i)中的第d个未选项目按照余弦相似度Si,d的大小进行升序排序;对于余弦相似度Si,d为同一数值的所有项目进行随机排序,从而获得排序后的未选项目集合从第i个用户Ui的排序后的未选项目集合I′(i)中抽取前ai个未选项目,形成对第i个用户Ui抽取的负例集合表示对第i个用户Ui抽取的第a″个负例,1≤a″≤ai;步骤4.3、根据对第i个用户Ui抽取的负例集合List(i),将所述相似度矩阵S中Si,a″的值赋给所述用户项目三元组P中对应的用户项目的R的值;步骤4.4、对所有用户,重复步骤4.2和步骤4.3,从而形成抽取完负例的新用户项目三元组P′=<U,I,R′>;R′表示添加完负例的历史选择信息矩阵;步骤5、利用联合概率矩阵分解方法迭代获得最终的用户特征矩阵Z′和项目特征矩阵V′:步骤5.1、利用式(4)构建添加完负例的历史选择信息矩阵R′的先验分布P(R′|Z,V,σR′2)=Πi=1|U|Πj=1|I|[N(Ri,j′|g(ZiTVj),σR′2)]Ii,jR′---(4)]]>式(4)中,Zi表示第i个用户Ui的特征向量;表示第i个用户Ui的特征向量Zi的转置;Vj表示第j个项目Ij的特征向量;Z表示所有用户的特征向量所构成的用户特征矩阵;V表示所有项目的特征向量所构成的项目特征矩阵;是指示函数,如果第i个用户Ui已选择过第j个项目Ij,则否则表示第i个用户Ui对第j个项目Ij的历史选择R′i,j服从均值为方差为的高斯分布;并有:g(ZiTVj)=1/[1+exp(-ZiTVj)]---(5)]]>式(5)表示将的值映射到[0,1]内;步骤5.2、利用式(6)构建项目标签矩阵B的先验分布P(B|V,M,σB2)=Σj=1|I|Σh=1|T|[N(Bj,h|g(VjTMh),σB2)]Ij,hB---(6)]]>式(6)中,表示第j个项目Ij的特征向量Vj的转置;Mh表示第h个标签Th的特征向量;M表示所有标签的特征向量所构成的标签特征矩阵;是指示函数,如果第j个项目Ij被第h个标签Th标注过,则否则表示第j个项目Ij被第h个标签Th标注的次数Bj,h服从均值为方差为的高斯分布;并有:g(VjTMh)=1/[1+exp(-VjTMh)]---(7)]]>式(7)表示将的值映射到[0,1]内;步骤5.3、利用式(8)构建用户特征矩阵Z的先验分布P(Z|J,σZ2,σJ2)=Πi=1|U|N(Zi|0,σZ2I^)×Πi=1|U|N(Zi|Σl∈N(i)Ji,lZl,σJ2I^)---(8)]]>式(8)中,表示单位向量;表示第i个用户Ui的特征向量Zi的方差,表示第i个用户Ui的特征向量Zi服从均值为0,方差为的高斯分布;同理,表示第i个用户Ui的特征向量Zi服从均值为方差为的高斯分布;N(i)表示第i个用户Ui的所有组内好友在所述相似度矩阵J中的下标集合;表示第个用户的特征向量;步骤5.4、利用式(9)构建所述项目特征矩阵V的先验分布P(V|σV2)=Πj=1|I|N(Vj|0,σV2I^)---(9)]]>式(9)中,表示第j个项目Ij的特征向量Vj的方差,表示第j个项目Ij的特征向量Vj服从均值为0,方差为的高斯分布;步骤5.5、利用式(10)构建所述标签特征矩阵M的先验分布P(M|σM2)=Σh=1|T|N(Mh|0,σM2I^)---(10)]]>式(10)中,表示第h个标签Th的特征向量Mh的方差,表示第h个标签Th的特征向量Mh服从均值为0,方差为的高斯分布;步骤5.6、由式(6)、式(7)、式(8)、式(9)和式(10)进行贝叶斯推断并取对数后再进行推导,得到如式(11)所示的目标函数E(Z,V,M,R′,J,B):E(Z,V,M,R′,J,B)=12Σi=1|U|Σj=1|I|Ii,jR′(Ri,j′-g(ZiTVj))2+θB2Σj|I|Σh=1|T|Ij,hB(Bj,h-g(VjTMh))2+θJ2Σi=1|U|(Zi-Σl∈N(i)Ji,lZl)T(Zi-Σl∈N(i)Ji,lZl)+θZ2Σi=1|U|ZiTZi+θV2Σj=1|I|VjTVj+θM2Σh=1|T|MhTMh---(11)]]>式(11)中,分别反映用户特征矩阵Z、项目特征矩阵V、项目标签矩阵B、用户好友相似度矩阵J和标签特征矩阵M对目标函数E(Z,V,M,R′,J,B)的影响程度大小;步骤5.7、设定迭代次数阈值为δ,学习率为α以及用户特征矩阵Z、项目特征矩阵V、标签特征矩阵M的矩阵特征维度Y并初始化迭代次数X=0;步骤5.8、随机初始化用户特征矩阵Z、项目特征矩阵V和标签特征矩阵M,得到第X=1次迭代的第i个用户Ui的特征向量第j个项目Ij特征向量和第h个标签Th的特征向量步骤5.9、利用式(12)、式(13)和式(14)分别获得第X次迭代的第i个用户Ui的的特征向量Zi的梯度第j个项目Ij的特征向量Vj的梯度和第h个标签Th的特征向量Mh的梯度(∂E∂Zi)(X)=Σj=1|I|Ii,jR′[g((Zi(X))TVj(X))-Ri,j′]g′((Zi(X))TVj(X))Vj(X)+θZZi(X)+θJ[Zi(X)-Σl∈N′(i)Ji,lZl(X)]-θJΣ{l|l∈N′(i)}Ji,l[Zl(X)-Σw∈N(l)Jl,wZw(X)]---(12)]]>(∂E∂Vj)(X)=Σi=1|U|Ii,jR′[g((Zi(X))TVj(X))-Ri,j′]g′((Zi(X))TVj(X))Zi(X)+θBΣh=1|T|Ij,hB[g((Vj(X))TMh(X))-Bj,h]g′((Vj(X))TMh(X))Mh(X)+θVVj(X)---(13)]]>(∂E∂Mh)(X)=θBΣj=1|I|Ij,hB[g((Vj(X))TMh(X))-Bj,h]g′((Vj(X))TMh(X))Vj(X)+θMMh(X)---(14)]]>式(12)中,表示第个用户的所有组内好友在所述相似度矩阵J中的下标集合;N′(i)表示第i个用户Ui的所有组内好友在所述相似度矩阵J中的下标集合;步骤5.10、利用式(15)、式(16)和式(17)和第X次迭代的第i个用户Ui的特征向量第X次迭代的第j个项目Ij特征向量和第X次迭代的第h个标签Th的特征向量获得第X+1次迭代的第i个用户Ui的特征向量第j个项目Ij的特征向量和第h个标签Th的特征向量Zi(X+1)=Zi(X)-α(∂E∂Zi)(X)---(15)]]>Vi(X+1)=Vi(X)-α(∂E∂Vi)(X)---(16)]]>Mi(X+1)=Mi(X)-α(∂E∂Mi)(X)---(17)]]>步骤5.11、将X+1赋给X,判断X<δ是否成立,若成立,则重复步骤5.9和步骤5.10执行;否则,表示获得第δ次迭代的第i个用户Ui的特征向量第δ次迭代的第j个项目Ij的特征向量和第δ次迭代的第h个标签的特征向量从而获得所有用户最终的用户特征矩阵Z′,所有项目最终的项目特征矩阵V′和所有标签最终的标签特征矩阵M′;步骤6、获取对每个用户预测分值最高的前N个项目所构成的推荐列表;步骤6.1、利用式(18)得到第i个用户Ui对第j个项目Ij的预测分值R^i,j=Σm=1YZi′(m)Vj′(m)---(18)]]>式(18)中,表示所述最终的用户特征矩阵Z′中第i个用户Ui的特征向量Z′i的第m个元素;表示最终的项目特征矩阵V′中第j个项目Ij的特征向量Vi′的第m个元素;1≤m≤Y;步骤6.2、重复步骤6.1,从而获得第i个用户Ui对所有项目的预测分值,并从所有项目的预测分值中选取分值最高的且第i个用户Ui未选择过的前N个项目组成第i个用户Ui的推荐列表,进而获得所有用户的推荐列表。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥工业大学,未经合肥工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610530667.1/,转载请声明来源钻瓜专利网。
- 上一篇:一种应用于思想政治教学的智能系统
- 下一篇:一种夜光的游戏服装
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置





