首页 / 专利库 / 信号处理 / 过采样 / 基于哈希学习的轻量级社会化推荐方法

基于哈希学习的轻量级社会化推荐方法

阅读:624发布:2020-05-08

专利汇可以提供基于哈希学习的轻量级社会化推荐方法专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种基于哈希学习的轻量级社会化推荐方法。该方法包括:构建用户-物品评分矩阵和用户-用户社交网络,通过对用户-用户社交网络施加截断式随机游走和负 采样 ,生成社交语料;根据用户-物品评分矩阵和社交语料训练离散矩阵分解与连续网络嵌入混合模型,得到二值化的用户特征矩阵和物品特征矩阵;根据用户特征矩阵和物品特征矩阵预估用户对未评分物品的偏好分值,并将预估分值最高的一个或者多个未评分物品推荐给用户。本发明所述方法与当下主流的实值化推荐方法性能相当,但由于采用了轻量级模型设计思想,所获二值化用户和物品特征具有更低的计算和存储开销。,下面是基于哈希学习的轻量级社会化推荐方法专利的具体信息内容。

1.一种基于哈希学习的轻量级社会化推荐方法,其特征在于,包括:
S1、构建用于记录用户对物品的评分行为的用户-物品评分矩阵,并对所述用户-物品评分矩阵中的评分数据进行归一化处理;
S2、构建用于记录用户间的连接关系的用户-用户社交网络,通过对所述用户-用户社交网络施加截断式随机游走和负采样,生成社交语料;
S3、根据所述用户-物品评分矩阵和社交语料训练离散矩阵分解与连续网络嵌入混合模型,得到二值化的用户特征矩阵和物品特征矩阵;
S4、根据所述用户特征矩阵和物品特征矩阵预估用户对各个未评分物品的偏好分值,并将预估分值最高的一个或者多个未评分物品推荐给用户。
2.根据权利要求1所述的方法,其特征在于,所述的构建用于记录用户对物品的评分行为的用户-物品评分矩阵,并对所述用户-物品评分矩阵中的评分数据进行归一化处理,包括:
构建用户-物品评分矩阵R∈[0,1]m×n,m和n分别表示用户和物品数量,所述用户-物品评分矩阵R中的评分数据用于记录用户对物品的评分行为,对评分数据进行归一化处理,将评分数据量化为小数,数值越接近于1表示该用户越喜欢该物品,0表示未评分。
3.根据权利要求1所述的方法,其特征在于,所述的构建用于记录用户间的连接关系的用户-用户社交网络,通过对所述用户-用户社交网络施加截断式随机游走和负采样,生成社交语料,包括:
构建用户-用户社交网络,该用户-用户社交网络中的社交数据用于记录用户间的连接关系,若两用户为好友关系,社交数据标记为1,否则;社交数据标记为0;通过对所述用户-用户社交网络施加截断式随机游走和负采样,生成社交语料 其中
与 分别表示用户u的上下文用户集合与负样本集合。
4.根据权利要求3所述的方法,其特征在于,所述的社交语料 的生成步骤包括:
S2-1:为用户生成上下文用户集合 在所述用户-用户社交网络上运行截断式
随机游走得到每个用户的节点序列,利用滑动窗口从用户的节点序列中寻找每个用户的上下文用户集合;当滑动窗口停在节点序列中的某个位置时,处于中间位置的用户称为中心用户u,处于窗口内其它位置的用户称为用户u的上下文用户 随机游走过程中,用户u跳转到用户v的概率定义如下:
其中,co(u,v)代表用户u和用户v的共同评分行为数目,d+(u)代表用户u的出度, 代表用户u的朋友集合;
设截断式随机游走序列长度为L,对于用户u而言,根据概率转移公式计算从用户u转移到其朋友的概率,选择概率最大的朋友v作为其下一跳的节点,该下一跳的节点也根据概率转移公式计算自己转移到其朋友的概率,选择概率最大的朋友作为其下一跳的节点,以此类推,直到产生长度为L的节点序列,将该节点序列作为用户u的上下文用户集合
S2-2:为用户生成负样本集合 对任意用户u而言,根据其非上下文用户在社交
语料中的出现频率,及其在评分数据中的活跃程度,获取用户u的负样本集合 给定某个用户 其被选为用户u的负样本的概率定义如下:
其中,f(v)表示用户v在社交语料中出现的频率,r(v)表示用户v在评分数据中评价过的物品数量, 表示全体用户集合,超参数a为经验值;
S2-3:基于所述用户的上下文用户集合 和负样本集合 生成用户的社
交语料
5.根据权利要求1至4任一项所述的方法,其特征在于,所述的根据所述用户-物品评分矩阵和社交语料训练离散矩阵分解与连续网络嵌入混合模型,得到二值化的用户特征矩阵和物品特征矩阵,包括:
所述的离散矩阵分解与连续网络嵌入混合模型的目标函数定义如下:
其中 和 分别表示离散矩阵分解模型和连续网络嵌入模型的损失函数;为离
散矩阵分解模型和连续网络嵌入模型间的平滑项,用于连接离散矩阵分解模型和连续网络嵌入模型;
所述的离散矩阵分解模型的损失函数定义如下:
s.t.B∈{±1}f×m,D∈{±1}f×n
B1m=0,D1n=0,BBT=mIf,DDT=nIf
其中,Ω是由已观测评分对应的(u,i)索引对组成的集合, 为矩阵B的第u列、
为矩阵D的第i列,分别对应于用户u和物品i的二值化特征向量;约束条件中,B1m=0和D1n=0用于控制特征编码平衡性,BBT=mIf和DDT=nIf用于控制特征编码独立性,矩阵B表示二值化的用户特征矩阵,矩阵D表示二值化的物品特征矩阵;
所述连续网络嵌入模型为包括一个隐层的神经网络,设 表示神经网络的输
入层与隐层之间的连接权重矩阵, 表示隐层与输出层之间的连接权重矩阵;对某一用户u而言,其对应两个社会化特征wu和vu,分别源自矩阵W的第u列和矩阵V的第u行,wu称为输入向量,vu称为输出向量;
所述连续网络嵌入模型的损失函数定义如下:
其中, 和 分别代表用户u所有正样本和负样本的
均值向量,σ(z)=1/(1+e-z)用于将输入变量转化为概率输出;λw,λv为超参数,用于调节正则项在损失函数中的比重;
矩阵分解模型和连续网络嵌入模型之间的平滑项 定义为:
合并各项后,所述离散矩阵分解与连续网络嵌入混合模型的目标函数表示如下:
s.t.B∈{±1}f×m,D∈{±1}f×n
B1m=0,D1n=0,BBT=mIf,DDT=nIf
其中,α,β>0为超参数,用于调控目标函数中各项的比重;定义两个连续变量和
进而将平衡约束和去相关性约束条件放松为 和
用tr(BTX)和tr(DTY)代替 和 离散矩阵分解
与连续网络嵌入混合模型的目标函数被等价转换为如下优化问题:
s.t.B∈{±1}f×m,D∈{±1}f×n,
X1m=0,Y1n=0,XXT=mIf,YYT=nIf
其中,λB,λB>0为超参数,用于调控目标变量的放松程度;
所述离散矩阵分解与连续网络嵌入混合模型的训练过程包括:对模型参数B,D,W,V,X,Y初始化,进入迭代训练过程:固定D,W,V,X,Y,并行优化每个bu,利用DCD算法对每个bu进行逐位更新,得到更新后的B;固定B,W,V,X,Y,并行优化每个di,利用DCD算法对每个di进行逐位更新,得到更新后的D;固定B,D,X,Y,利用SGD算法更新W,V,其中梯度计算采用BP算法;固定B,D,W,V,Y,借助SVD算法更新X;固定B,D,W,V,X,借助SVD算法更新Y;重复上述步骤,不断交替更新参数B,D,W,V,X,Y,直到满足收敛条件,停止训练过程,最后输出二值化的用户特征矩阵B和物品特征矩阵D。
6.根据权利要求5所述的方法,其特征在于,所述的离散矩阵分解与连续网络嵌入混合模型的训练过程具体包括:
S3-1:模型初始化,将上述优化问题放松为实值空间,使用SGD算法交替优化各参数,得到连续空间下的最优解(P*,Q*,W*,V*),按以下规则初始化离散模型:
B=sgn(P*),D=sgn(Q*),
W=W*,V=V*,X=P*,Y=Q*
S3-2:固定D,W,V,X,Y,更新B,离散矩阵分解与连续网络嵌入混合模型的目标函数等价于如下优化问题:
其中Ωu表示已观测评分对应的(u,i)索引对中u所构成的集合;
采用DCD算法对bu进行逐位更新,定义 和 其中buk和dik分别
表示bu和di的第k位, 和 分别表示除去buk和dik其余哈希码所组成的向量,具体buk的更新规则如下:
当a≠0时,K(a,b)=a,否则K(a,b)=b;如果 不对buk进行更新;
S3-3:固定B,W,V,X,Y,更新D;与更新B类似,将联合模型的目标函数等价于如下优化问题:
其中Ωi表示已观测评分对应的(u,i)索引对中i所构成的集合;采用DCD算法对di进行逐位更新;具体dik的更新规则如下:
同样,如果 更新dik,否则,不对dik进行更新。
S3-4:固定B,D,X,Y,更新W,V,混合模型的目标函数等价于如下优化问题:
采用SGD算法更新W,V,其中梯度计算借助BP算法;
S3-5:固定B,D,W,V,Y,更新X,混合模型的目标函数等价于如下优化问题:
具体X的更新规则如下:
其中Pb和Qb分别表示将矩阵 通过奇异值分解SVD得到的左奇
异矩阵和右奇异矩阵; 表示SVD过程中零特征值对应的特征矩阵;此外,通过对[Qb1]进行施密特正交化得到
S3-6:固定B,D,W,V,X,更新Y,混合模型的目标函数等价于如下优化问题:
具体Y的更新规则如下为:
其中Pd和Qd分别表示将矩阵 通过SVD得到的左奇异矩阵和右
奇异矩阵; 表示SVD过程中零特征值对应的特征矩阵;此外,通过对[Qd1]进行施密特正交化得到
S3-7:重复S3-2到S3-6,直到满足收敛条件,训练过程停止,最后输出二值化的用户特征矩阵B和物品特征矩阵D。
7.根据权利要求5所述的方法,其特征在于,所述的收敛条件包括:目标函数值小于某个预设定阈值;或者,矩阵B和D中的每一位都不再发生变化。
8.根据权利要求5所述的方法,其特征在于,所述的根据所述二值化用户特征矩阵和物品特征矩阵预估用户对未观测物品的偏好分数,并将预估分值最高的一个或者多个未评分物品推荐给用户,包括:
根据所述二值化用户特征矩阵B和物品特征矩阵D重构评分矩阵 并对
重构评分矩阵 中的重构分值逐行降序排列,所述重构分值代表了用户对物品偏好程度的预估分值,将预估分值最高的一个或者多个未评分物品推荐给用户。

说明书全文

基于哈希学习的轻量级社会化推荐方法

技术领域

[0001] 本发明涉及计算机应用技术领域,尤其涉及一种基于哈希学习的轻量级社会化推荐方 法。

背景技术

[0002] 作为信息检索系统的有效补充手段,推荐系统在提供个性化信息服务方面发挥着重要 作用。协同过滤是构建个性化推荐系统的核心技术;在众多协同过滤方法中,矩阵分解是 当下最主流的方法之一。矩阵分解的核心思想是通过分解一个部分观测的“用户-物品”交 互矩阵(简称UI矩阵),将用户和物品映射到同一个低维隐空间,继而根据用户和物品隐 特征向量间内积预测未观测的“用户-物品”相关性。通常情况,已观测的“用户-物品” 交互记录仅占UI矩阵中很小一部分,即所谓的“数据稀疏”问题,这种稀疏性严重制约了 矩阵分解模型的性能。
[0003] 随着社交媒体的普及,一些学者尝试利用用户间的社交关系缓解UI矩阵稀疏问题,进 而催生了社会化推荐系统。传统的社会化推荐方法直接扩展矩阵分解模型,基于启发性策 略使用社交数据,代表性方法如SoRec模型、SoReg模型等。近年来学者们将矩阵分解模型 与网络嵌入模型相结合,以期更大程度地利用和挖掘社交数据,代表性方法如CUNE模型、 GraphRec等。
[0004] 另一方面,随着在线用户和物品数量的与日俱增,推荐系统面临严峻的实时性挑战, 在此背景下离散协同过滤模型应运而生,该模型将欧式空间下的实值用户和物品隐表示替 换为海明空间内的二值编码,进而节省了计算和存储开销。但是,二值编码较之实值表示 具有较少的信息量,使其推荐准确性略微受损;换言之,离散协同过滤模型采用一种“以 性能换效率”的处理思路。为进一步弥补离散协同过滤模型的性能损失,学者们进一步设 计了离散社会化推荐(discrete social recommendation,DSR)模型,以补偿二值编码造 成的性能损失。本质上,该模型是传统社会化推荐模型SoRec的二值化版本,未能结合最新 的网络嵌入研究成果处理社交数据,其推荐准确性有待进一步提升。
[0005] 现有技术中的离散社会化推荐模型DSR存在两个弊端:
[0006] 1)DSR模型通过共享变量的方法学习用户的社交表示,该方法仅考虑每个用户与其一 阶近邻的直接联系,忽略了用户与其高阶近邻的间接联系,所获用户社交特征有待进一步 改进;
[0007] 2)由于采用共享变量设计思路,DSR模型学得的用户社交特征也是二值形式;但由于 用户社交表示仅作为建模过程中的副产品并不参与最后的推荐计算,而二值表示相比于实 值表示携带信息量较少,因此造成了不必要的编码损失。

发明内容

[0008] 本发明的实施例提供了一种基于哈希学习的轻量级社会化推荐方法,以克服现有技术 的问题。
[0009] 为了实现上述目的,本发明采取了如下技术方案。
[0010] 一种基于哈希学习的轻量级社会化推荐方法,包括:
[0011] S1、构建用于记录用户对物品的评分行为的用户-物品评分矩阵,并对所述用户-物品 评分矩阵中的评分数据进行归一化处理;
[0012] S2、构建用于记录用户间的连接关系的用户-用户社交网络,通过对所述用户-用户社 交网络施加截断式随机游走和负采样,生成社交语料;
[0013] S3、根据所述用户-物品评分矩阵和社交语料训练离散矩阵分解与连续网络嵌入混合模 型,得到二值化的用户特征矩阵和物品特征矩阵;
[0014] S4、根据所述用户特征矩阵和物品特征矩阵预估用户对各个未评分物品的偏好分值, 并将预估分值最高的一个或者多个未评分物品推荐给用户。
[0015] 优选地,所述的构建用于记录用户对物品的评分行为的用户-物品评分矩阵,并对所述 用户-物品评分矩阵中的评分数据进行归一化处理,包括:
[0016] 构建用户-物品评分矩阵R∈[0,1]m×n,m和n分别表示用户和物品数量,所述用户-物 品评分矩阵R中的评分数据用于记录用户对物品的评分行为,对评分数据进行归一化处 理,将评分数据量化为小数,数值越接近于1表示该用户越喜欢该物品,0表示未评分。
[0017] 优选地,所述的构建用于记录用户间的连接关系的用户-用户社交网络,通过对所述用 户-用户社交网络施加截断式随机游走和负采样,生成社交语料,包括:
[0018] 构建用户-用户社交网络,该用户-用户社交网络中的社交数据用于记录用户间的连接 关系,若两用户为好友关系,社交数据标记为1,否则;社交数据标记为0;通过对所述用 户-用户社交网络施加截断式随机游走和负采样,生成社交语料 其中  与 分别表示用户u的上下文用户集合与负样本集合。
[0019] 优选地,所述的社交语料 的生成步骤包括:
[0020] S2-1:为用户生成上下文用户集合 在所述用户-用户社交网络上运行截断式 随机游走得到每个用户的节点序列,利用滑动窗口从用户的节点序列中寻找每个用户的上 下文用户集合;当滑动窗口停在节点序列中的某个位置时,处于中间位置的用户称为中心 用户u,处于窗口内其它位置的用户称为用户u的上下文用户 随机游走过程中,用户u 跳转到用户v的概率定义如下:
[0021]
[0022] 其中,co(u,v)代表用户u和用户v的共同评分行为数目,d+(u)代表用户u的出度,代表用户u的朋友集合;
[0023] 设截断式随机游走序列长度为L,对于用户u而言,根据概率转移公式计算从用户u转 移到其朋友的概率,选择概率最大的朋友v作为其下一跳的节点,该下一跳的节点也根据概 率转移公式计算自己转移到其朋友的概率,选择概率最大的朋友作为其下一跳的节点,以 此类推,直到产生长度为L的节点序列,将该节点序列作为用户u的上下文用户集合 [0024] S2-2:为用户生成负样本集合 对任意用户u而言,根据其非上下文用户在社 交语料中的出现频率,及其在评分数据中的活跃程度,获取用户u的负样本集合给定 某个用户 其被选为用户u的负样本的概率定义如下:
[0025]
[0026] 其中,f(v)表示用户v在社交语料中出现的频率,r(v)表示用户v在评分数据中评价过 的物品数量, 表示全体用户集合,超参数a为经验值;
[0027] S2-3:基于所述用户的上下文用户集合 和负样本集合 生成用户的社 交语料
[0028] 优选地,所述的根据所述用户-物品评分矩阵和社交语料训练离散矩阵分解与连续网络 嵌入混合模型,得到二值化的用户特征矩阵和物品特征矩阵,包括:
[0029] 所述的离散矩阵分解与连续网络嵌入混合模型的目标函数定义如下:
[0030]
[0031] 其中 和 分别表示离散矩阵分解模型和连续网络嵌入模型的损失函数;为离 散矩阵分解模型和连续网络嵌入模型间的平滑项,用于连接离散矩阵分解模型和连续网络 嵌入模型;
[0032] 所述的离散矩阵分解模型的损失函数定义如下:
[0033]
[0034] s.t. B∈{±1}f×m,D∈{±1}f×n
[0035] B1m=0,D1n=0,BBT=mIf,DDT=nIf
[0036] 其中,Ω是由已观测评分对应的(u,i)索引对组成的集合, 为矩阵B的第u列、  为矩阵D的第i列,分别对应于用户u和物品i的二值化特征向量;约束条件中, B1m=0和D1n=0用于控制特征编码平衡性,BBT=mIf和DDT=nIf用于控制特征编码 独立性,矩阵B表示二值化的用户特征矩阵,矩阵D表示二值化的物品特征矩阵;
[0037] 所述连续网络嵌入模型为包括一个隐层的神经网络,设 表示神经网络的输 入层与隐层之间的连接权重矩阵, 表示隐层与输出层之间的连接权重矩
阵;对某 一用户u而言,其对应两个社会化特征wu和vu,分别源自矩阵W的第u列和矩阵V的第u 行,wu称为输入向量,vu称为输出向量;
[0038] 所述连续网络嵌入模型的损失函数定义如下:
[0039]
[0040] 其中, 和 分别代表用户u所有正样本和负样本的 均值向量,σ(z)=1/(1+e-z)用于将输入变量转化为概率输出;λw,λv为超参数,用于调节 正则项在损失函数中的比重;
[0041] 矩阵分解模型和连续网络嵌入模型之间的平滑项 定义为:
[0042]
[0043] 合并各项后,所述离散矩阵分解与连续网络嵌入混合模型的目标函数表示如下:
[0044]
[0045] s.t. B∈{±1}f×m,D∈{±1}f×n
[0046] B1m=0,D1n=0,BBT=mIf,DDT=nIf
[0047] 其中,α,β>0为超参数,用于调控目标函数中各项的比重;定义两个连续变量 和进  而将平衡约束和去相关性约束条件放松为 和 
T T
用tr(BX)和tr(DY)代替 和 离散矩阵分解 
与连续网络嵌入混合模型的目标函数被等价转换为如下优化问题:
[0048]
[0049] s.t. B∈{±1}f×m,D∈{±1}f×n,
[0050] X1m=0,Y1n=0,XXT=mIf,YYT=nIf
[0051] 其中,λB,λB>0为超参数,用于调控目标变量的放松程度;
[0052] 所述离散矩阵分解与连续网络嵌入混合模型的训练过程包括:对模型参数 B,D,W,V,X,Y初始化,进入迭代训练过程:固定D,W,V,X,Y,并行优化每个bu,利 用DCD算法对每个bu进行逐位更新,得到更新后的B;固定B,W,V,X,Y,并行优化每个 di,利用DCD算法对每个di进行逐位更新,得到更新后的D;固定B,D,X,Y,利用SGD算 法更新W,V,其中梯度计算采用BP算法;固定B,D,W,V,Y,借助SVD算法更新X;固 定B,D,W,V,X,借助SVD算法更新Y;重复上述步骤,不断交替更新参数 B,D,W,V,X,Y,直到满足收敛条件,停止训练过程,最后输出二值化的用户特征矩阵B 和物品特征矩阵D。
[0053] 优选地,所述的离散矩阵分解与连续网络嵌入混合模型的训练过程具体包括:
[0054] S3-1:模型初始化,将上述优化问题放松为实值空间,使用SGD算法交替优化各参数, 得到连续空间下的最优解(P*,Q*,W*,V*),按以下规则初始化离散模型:
[0055] B=sgn(P*),D=sgn(Q*),
[0056] W=W*,V=V*,X=P*,Y=Q*
[0057] S3-2:固定D,W,V,X,Y,更新B,离散矩阵分解与连续网络嵌入混合模型的目标函 数等价于如下优化问题:
[0058]
[0059] 其中Ωu表示已观测评分对应的(u,i)索引对中u所构成的集合;
[0060] 采用DCD算法对bu进行逐位更新,定义 和 其中buk和dik分别 表示bu和di的第k位, 和 分别表示除去buk和dik其余哈希码所组成的向量,具体buk的 更新规则如下:
[0061]
[0062]
[0063] 当a≠0时,K(a,b)=a,否则K(a,b)=b;如果 不对buk进行更新;
[0064] S3-3:固定B,W,V,X,Y,更新D;与更新B类似,将联合模型的目标函数等价于如下 优化问题:
[0065]
[0066] 其中Ωi表示已观测评分对应的(u,i)索引对中i所构成的集合;采用DCD算法对di进行逐 位更新;具体dik的更新规则如下:
[0067]
[0068]
[0069] 同样,如果 更新dik,否则,不对dik进行更新。
[0070] S3-4:固定B,D,X,Y,更新W,V,混合模型的目标函数等价于如下优化问题:
[0071]
[0072] 采用SGD算法更新W,V,其中梯度计算借助BP算法;
[0073] S3-5:固定B,D,W,V,Y,更新X,混合模型的目标函数等价于如下优化问题:
[0074]
[0075] 具体X的更新规则如下:
[0076]
[0077] 其中Pb和Qb分别表示将矩阵 通过奇异值分解SVD得到的左 奇异矩阵和右奇异矩阵; 表示SVD过程中零特征值对应的特征矩阵;此外,通过对[Qb 1] 进行施密特正交化得至
[0078] S3-6:固定B,D,W,V,X,更新Y,混合模型的目标函数等价于如下优化问题:
[0079]
[0080] 具体Y的更新规则如下为:
[0081]
[0082] 其中Pd和Qd分别表示将矩阵 通过SVD得到的左奇异矩阵和 右奇异矩阵; 表示SVD过程中零特征值对应的特征矩阵;此外,通过对[Qd 1]进行施密特 正交化得到
[0083] S3-7:重复S3-2到S3-6,直到满足收敛条件,训练过程停止,最后输出二值化的用户 特征矩阵B和物品特征矩阵D。
[0084] 优选地,所述的收敛条件包括:目标函数值小于某个预设定阈值;或者,矩阵B和D 中的每一位都不再发生变化。
[0085] 优选地,所述的根据所述用户特征矩阵和物品特征矩阵预估用户对各个未评分物品的 偏好分值,并将预估分值最高的一个或者多个未评分物品推荐给用户,包括:
[0086] 根据所述二值化用户特征矩阵B和物品特征矩阵D重构评分矩阵重 构分值代表了用户对物品偏好程度的预估值;对重构矩阵 逐行降序排列,并将预估分值 最高的一个或者多个未评分物品推荐给用户。
[0087] 由上述本发明的实施例提供的技术方案可以看出,本发明实施例的基于哈希学习的轻 量级社会化推荐方法可同时利用评分数据和社交数据学习用户和物品的二值化特征,继而 借助逻辑运算实现快速、有效地向用户推荐物品。本发明方法在保障一定推荐准确率的前 提下,大幅降低了模型的在线计算和存储开销。
[0088] 本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明 显,或通过本发明的实践了解到。附图说明
[0089] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附 图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领 域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附 图。
[0090] 图1为本发明实施例提供的一种基于哈希学习的轻量级社会化推荐方法的处理流程图
[0091] 图2为本发明实施例提供的一种离散矩阵分解与连续网络嵌入混合模型的训练工作流程 图;
[0092] 图3为本发明实施例的方法与现有离散推荐方法的对比实验结果
[0093] 图4为本发明实施例的方法与其实值版本的在推荐准确率、存储开销、时间开销三方面 的对比实验结果。

具体实施方式

[0094] 下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附 图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0095] 本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一 个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使 用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除 存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理 解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元 件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接 或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组 合。
[0096] 本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语 和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理 解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义 一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
[0097] 为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解 释说明,且各个实施例并不构成对本发明实施例的限定。
[0098] 利用“用户-用户”社交数据补充“用户-物品”评分数据已成为提升推荐系统性能的 有效手段之一,但目前社会化推荐方法的计算效率严重受限于日益增长的用户和物品数 量,特别是针对那些计算和存储资源严重受限的移动推荐场景;鉴于此,本发明实施例提 出了一种基于哈希学习的轻量级社会化推荐方法,以改进DSR的两个缺陷。一方面,本发明 方法使用网络嵌入模型处理用户社交关系,可有效挖掘用户间的高阶近邻关系,从而进一 步强化用户社交特征;另一方面,本发明方法采用“离散-连续”混合建模思路,同时学习 二值化用户偏好特征和实值化用户社交特征,并通过特征对齐方式最小化二者间的差异; 基于统一的优化框架,离散学习任务与连续学习任务可以互相促进,同时最大限度地降低 了二值化编码损失,从而获得了更精确的推荐结果。
[0099] 上述轻量级推荐方法是指占用较少计算和存储资源的在线推荐方法。
[0100] 在本发明实施例中,网络指的是社交网络,结点代表用户,连接代表用户间的社交关 系,如好友关系(用户A关注了用户B)、转发关系(用户A转发了用户B的帖子)、评论关 系(用户A评论了用户B的帖子)等等。借助网络嵌入模型,可获得用户的实值化特征向 量,该特征向量保留了用户的社交结构信息。
[0101] 本发明实施例提供的一种基于哈希学习的轻量级社会化推荐方法的处理流程如图1所 示,包括如下的处理步骤:
[0102] 步骤S1、构建“用户-物品”评分矩阵,并对评分数据进行归一化处理,获得评分矩阵 R∈[0,1]m×n(其中m和n分别表示用户和物品数量),用以记录用户对物品的评分行为; 某用户对某商品的评分行为被量化为小数,数值越接近于1表示该用户越喜欢该物品,反之 亦然,0表示未评分。
[0103] 步骤S2、构建“用户-用户”社交网络,用以记录用户间的连接关系;若两用户为好友 关系,标记为1,否则标记为0;通过对“用户-用户”社交网络施加截断式随机游走和负采 样,生成社交语料 其中 与 分别表示用户u的上下文用户集合与 负样本集合。
[0104] 步骤S3、根据评分矩阵R和社交语料 训练离散矩阵分解与连续网络嵌入混合模型, 得到二值化的用户特征矩阵 物品特征矩阵 其中f为特征空间维数。
[0105] 步骤S4、根据上述用户特征矩阵和物品特征矩阵重构评分矩阵并对 重构评分矩阵 中的重构分值逐行降序排列;重构分值代表了用户对物品偏好程度的预估 分值,将预估分值最高的一个或者多个未评分物品推荐给用户。
[0106] S2所述的社交语料 生成具体包括如下步骤:
[0107] S2-1:为用户生成上下文用户集合 在“用户-用户”社交网络上运行截断式 随机游走得到每个用户的节点序列,然后利用滑动窗口从用户的节点序列中寻找每个用户 的上下文用户集合;当滑动窗口停在节点序列中的某个位置时,处于中间位置的用户称为 中心用户u,处于窗口内其它位置的用户称为用户u的上下文用户 随机游走过程中, 用户u跳转到用户v的概率定义如下:
[0108]
[0109] 其中,co(u,v)代表用户u和用户v的共同评分行为数目,d+(u)代表用户u的出度,代表用户u的朋友集合。
[0110] 设截断式随机游走序列长度为L,对于用户u而言,根据概率转移公式计算从用户u转 移到其朋友的概率,然后选择概率最大的朋友v作为其下一跳的节点,该下一跳的节点也根 据概率转移公式计算自己转移到其朋友的概率,选择概率最大的朋友作为其下一跳的节 点,以此类推,直到产生长度为L的节点序列,将该节点序列作为用户u的上下文用户集合 
[0111] S2-2:为用户生成负样本集合 对任意用户u而言,根据其非上下文用户在社 交语料中的出现频率,及其在评分数据中的活跃程度,获取用户u的负样本集合给定 某个用户 其被选为用户u的负样本的概率定义如下:
[0112]
[0113] 其中,f(v)表示用户v在社交语料中出现的频率,r(v)表示用户v在评分数据中评价过 的物品数量, 表示全体用户集合,超参数a为经验值;
[0114] S2-3:所述用户的上下文用户集合 和负样本集合 共同构成了用户的社 交语料
[0115] S3所述的离散矩阵分解与连续网络嵌入混合模型的目标函数定义如下:
[0116]
[0117] 其中 和 分别表示离散矩阵分解模型和连续网络嵌入模型的损失函数;为离 散矩阵分解模型和连续网络嵌入模型间的平滑项,用于连接两个模型:离散矩阵分解模型 和连续网络嵌入模型;
[0118] 离散矩阵分解模型的损失函数定义如下:
[0119]
[0120] s.t. B∈{±1}f×m,D∈{±1}f×n
[0121] B1m=0,D1n=0,BBT=mIf,DDT=nIf
[0122] 其中,Ω是由已观测评分对应的(u,i)索引对组成的集合, 为矩阵B的第u列、  为矩阵D的第i列,分别对应于用户u和物品i的二值化特征向量;约束条件中, B1m=0和D1n=0用于控制特征编码平衡性,BBT=mIf和DDT=nIf用于控制特征编码 独立性。矩阵B表示二值化的用户特征矩阵,矩阵D表示二值化的物品特征矩阵。
[0123] 连续网络嵌入模型实际上是一个神经网络,为了简化问题表述,此处假设神经网络仅 包括一个隐层;设 表示神经网络的输入层与隐层之间的连接权重矩阵, 表示隐层与输出层之间的连接权重矩阵;对某一用户u而言,其对应两个社会化 
特征wu和vu,分别源自矩阵W的第u列和矩阵V的第u行,wu称为输入向量,vu称为输出 向量;
网络嵌入模型的目标在于,使用户的输入向量与其上下文用户的输出向量尽可能相 似,同时与其非上下文用户的输出向量尽可能相异。
[0124] 连续网络嵌入模型的具体损失函数定义如下:
[0125]
[0126] 其中, 和 分别代表用户u所有正样本和负-z
样本的 均值向量,σ(z)=1/(1+e )用于将输入变量转化为概率输出;λw,λv为超参数,用于调节 正则项在损失函数中的比重。
[0127] 矩阵分解模型和连续网络嵌入模型之间的平滑项定义为:
[0128]
[0129] 上述平滑项用于连接两个模型,使得同一个用户的二值偏好特征与实值社会化特征尽 可能相似;
[0130] 合并各项后,离散矩阵分解与连续网络嵌入混合模型的目标函数表示如下:
[0131]
[0132] s.t. B∈{±1}f×m,D∈{±1}f×n
[0133] B1m=0,D1n=0,BBT=mIf,DDT=nIf
[0134] 其中,α,β>0为超参数,用于调控目标函数中各项的比重;为了方便求解上述离散优  化问题,首先定义两个连续变量 和 进而将平衡约束和去相关性约束条件放松为 
和 由于B和D的二范数为常 
数,对优化没有影响,可用tr(BTX)和tr(DTY)代替 和 因此,离散矩阵分 解
与连续网络嵌入混合模型的目标函数被等价转换为如下优化问题:
[0135]
[0136] s.t. B∈{±1}f×m,D∈{±1}f×n,
[0137] X1m=0,Y1n=0,XXT=mIf,YYT=nIf
[0138] 其中,λB,λB>0为超参数,用于调控目标变量的放松程度。
[0139] S3离散矩阵分解与连续网络嵌入混合模型训练的工作流程如图2,首先对模型参数 B,D,W,V,X,Y初始化,然后进入迭代训练过程:固定D,W,V,X,Y,并行优化每个 bu,利用DCD算法对每个bu进行逐位更新,得到更新后的B;固定B,W,V,X,Y,并行优 化每个di,利用DCD算法对每个di进行逐位更新,得到更新后的D;固定B,D,X,Y,利用 SGD算法更新W,V,其中梯度计算采用BP算法;固定B,D,W,V,Y,借助SVD算法更新 X;固定B,D,W,V,X,借助SVD算法更新Y;重复上述步骤,不断交替更新参数 B,D,W,V,X,Y,直到满足停止条件,例如目标函数值小于某个预设定阈值或B和D的每 一位都不再发生变化,最后输出二值化的用户特征矩阵B和物品特征矩阵D。
[0140] 具体包括如下步骤:
[0141] S3-1 :模型初始化,将上述优化问题放松为实值空间 ,使用SGD (stochasticgradientdescent,随机梯度下降)算法交替优化各参数,得到连续空间下的 最优解(P*,Q*,W*,V*),然后按以下规则初始化离散模型:
[0142] B=sgn(P*),D=sgn(Q*),
[0143] W=W*,V=V*,X=P*,Y=Q*
[0144] S3-2:固定D,W,V,X,Y,更新B,离散矩阵分解与连续网络嵌入混合模型的目标函 数等价于如下优化问题:
[0145]
[0146] 其中Ωu表示已观测评分对应的(u,i)索引对中u所构成的集合。
[0147] 本发明采用DCD(coordinate descent method,离散坐标下降)算法对bu进行逐位更 新,定义 和 其中buk和dik分别表示bu和di的第k位, 和分 别表示除去buk和dik其余哈希码所组成的向量,具体buk的更新规则如下:
[0148]
[0149]
[0150] 当a≠0时,K(a,b)=a,否则K(a,b)=b;如果 不对buk进行更新。
[0151] S3-3:固定B,W,V,X,Y,更新D;与更新B类似,首先将联合模型的目标函数等价于 如下优化问题:
[0152]
[0153] 其中Ωi表示已观测评分对应的(u,i)索引对中i所构成的集合;同样可采用离散坐标下降 DCD算法对di进行逐位更新;具体dik的更新规则如下:
[0154]
[0155]
[0156] 同样,如果 更新dik,否则,不对dik进行更新。
[0157] S3-4:固定B,D,X,Y,更新W,V,混合模型的目标函数等价于如下优化问题:
[0158]
[0159] 该问题是标准的神经网络优化问题,可采用随机梯度下降SGD算法更新W,V,其中梯 度计算可借助BP(反向传播,Back Propagation))算法。
[0160] S3-5:固定B,D,W,V,Y,更新X,混合模型的目标函数等价于如下优化问题:
[0161]
[0162] 具体X的更新规则如下:
[0163]
[0164] 其中Pb和Qb分别表示将矩阵 通过SVD(Singular Value Decomposition,奇异值分解)得到的左奇异矩阵和右奇异矩阵; 表示SVD过程中零特征 值对应的特征矩阵;此外,通过对[Qb 1]进行施密特正交化得到
[0165] S3-6:固定B,D,W,V,X,更新Y,混合模型的目标函数等价于如下优化问题:
[0166]
[0167] 具体Y的更新规则如下为:
[0168]
[0169] 其中Pd和Qd分别表示将矩阵 通过奇异值分解SVD得到的左 奇异矩阵和右奇异矩阵; 表示SVD过程中零特征值对应的特征矩阵;此外,通过对[Qd 
1] 进行施密特正交化得到
[0170] S3-7:重复S3-2到S3-6,直到满足收敛条件,例如目标函数值小于某个预设定阈值或 B和D的每一位都不再发生变化,训练过程停止,最后输出二值化用户特征矩阵B和物品特 征矩阵D。
[0171] 本发明在FilmTrust、CiaoDVD和Epinions数据集上进行了实验,并将本发明所述方法 (Discrete Matrix factorization with network Embedding,简称DME)与目前两种主流离散推 荐方法进行了对比实验分析;对比方法包括目前该领域性能最好的离散社会化推荐方法 (Discrete Social Recommendation,简称DSR),发表于人工智能领域顶级会议 AAAI2019;经典的离散协同过滤方法(Discrete Collaborative Filtering,简称DCF),发表 于信息检索领域顶级会议SIGIR2016。此外,本发明所述方法还与其实值化版本(Matrix factorization with network Embedding,简称ME)在推荐性能、计算和存储开销三方面的进 行了对比实验分析。
[0172] FilmTrust数据集源自电影评价网站,其UI矩阵的行代表观影人,列代表电影,评分范 围:0.5-4.0分;另有用户社交关系(关注vs被关注)作为辅助信息。该数据集包括1,508个 用户、2,071个物品、35,497条评分记录、1,853个好友连接;“用户-物品”交互数据的稠 密度为1.14%、“用户-用户”社交数据的稠密度为0.42%。
[0173] CiaoDVD数据集源自视频评论网站,其UI矩阵的行代表评论者,列代表视频,评分范 围:1.0-5.0分;另有用户社交关系(信任vs被信任)作为辅助信息。该数据集包括17,615个 用户、16,121个物品、72,665条评分记录、40,133个好友连接;“用户-物品”交互数据的 稠密度为0.03%、“用户-用户”社交数据的稠密度为0.65%。
[0174] Epinions数据集源自在线商品评论网站,其UI矩阵的行代表评论者,列代表商品,评 分范围:1.0-5.0分;另有用户社交关系(信任vs被信任)作为辅助信息。该数据集包括40,163个用户、139,738个物品、664,824条评分记录、487,183个好友连接;“用户-物品” 交互数据的稠密度为0.01%、“用户-用户”社交数据的稠密度为0.03%。
[0175] 图3展示了DME、DSR、DCF三种离散推荐方法在FilmTrust、CiaoDVD和Epinions数据集 上的对比实验结果,评价指标为归一化折损累计增益(Normalized  Discount Cumulative Gain,NDCG),其中*表示最优值;图4展示了轻量级方法DME与其实值化版本ME之间的模型 性能、内存和时间消耗对比,其中↓或↑表示性能下降或上升的百分比,×表示存储或时 间开销改善的倍数;上述实验结果表明:本发明方法较之当下主流离散推荐方法性能具有 较大程度改进(NDCG越高越好);与其实值化版本相比,在推荐性能接近的前提下,在 计算和存储开销方面具有较大程度改善。
[0176] 综上所述,本发明实施例的基于哈希学习的轻量级社会化推荐方法可同时利用评分数 据和社交数据学习用户和物品的二值化特征,继而借助逻辑运算实现快速、有效地向用户 推荐物品。本发明方法在保障一定推荐准确率的前提下,大幅降低了模型的在线计算和存 储开销。
[0177] 本发明实施例的基于哈希学习的轻量级社会化推荐方法“无缝整合”了离散矩阵分解 模型与连续网络嵌入模型。基于网络嵌入模型,可处理用户间的高阶近邻关系,所获用户 隐特征具有更强表征能;采用“离散-连续”混合建模思路,基于同一优化框架,离散偏 好学习任务和连续社交表示学习任务可以互相促进,所获二值化用户和物品特征具有较低 的编码损失。
[0178] 本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模或流程 并不一定是实施本发明所必须的。
[0179] 通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助 软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或 者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以 存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某 些部分所述的方法。
[0180] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互 相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系 统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法 实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为 分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或 者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以 根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技 术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0181] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任 何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都 应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为 准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈