首页> 中国专利> 一种结合对偶对抗生成网络的鲁棒的个性化排名方法

一种结合对偶对抗生成网络的鲁棒的个性化排名方法

摘要

本发明用于计算机推荐领域,提出一种鲁棒的个性化排名方法,旨在为用户提供鲁棒的个性化推荐列表,帮助用户更有效地发现自己可能感兴趣的物品。对于推荐系统应用平台来说,鲁棒有效的物品推荐列表也有助于提高用户对该推荐系统的信任度,提高用户粘性。针对现有个性化排名方法中存在的欠鲁棒问题,本发明在学习用户和物品的潜因子表达的同时,致力于提高用户和物品的潜因子表达的鲁棒性,从而得到一个更鲁棒的个性化排名模型。相较于现有鲁棒的个性化排名方法,本发明提出的个性化排名方法可以归纳地建模规模扩展的数据集中的噪音,是一种归纳式的鲁棒的个性化排名方法。

著录项

  • 公开/公告号CN110162709A

    专利类型发明专利

  • 公开/公告日2019-08-23

    原文格式PDF

  • 申请/专利权人 中森云链(成都)科技有限责任公司;

    申请/专利号CN201910441213.0

  • 发明设计人 不公告发明人;

    申请日2019-05-24

  • 分类号

  • 代理机构

  • 代理人

  • 地址 610041 四川省成都市高新区盛和一路88号A座1510号

  • 入库时间 2024-02-19 13:45:05

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-05-27

    专利权质押合同登记的生效 IPC(主分类):G06F16/9535 专利号:ZL2019104412130 登记号:Y2022980005318 登记生效日:20220509 出质人:中森云链(成都)科技有限责任公司 质权人:成都银行股份有限公司科技支行 发明名称:一种结合对偶对抗生成网络的鲁棒的个性化排名方法 申请日:20190524 授权公告日:20200313

    专利权质押合同登记的生效、变更及注销

  • 2020-03-13

    授权

    授权

  • 2019-09-17

    实质审查的生效 IPC(主分类):G06F16/9535 申请日:20190524

    实质审查的生效

  • 2019-08-23

    公开

    公开

说明书

技术领域

本发明利用计算机技术进行个性化推荐,具体是一种鲁棒的个性化排名方法。

背景技术

互联网技术的高速发展,使得信息过载成为人们快速有效地获取信息一个主要障碍。推荐系统能够在大量信息中筛选出部分信息推荐给用户,以满足用户的信息需求,从而有效缓解信息过载问题。利用计算机技术,推荐系统将用户可能喜好的资讯或实物推荐给用户,已经应用于人们生活的方方面面,例如商品推荐,新闻推送,歌单推荐,视频推荐等等。

为满足不同用户的个性化需求,个性化推荐系统成为网络应用中不可缺少的重要组成部分。在个性化推荐系统中,个性化排名发挥了重要作用。个性化排名旨在根据用户偏好,为用户产生一个有序的商品推荐列表。然而,现有的个性化排名方法往往缺乏对排名鲁棒性的研究。鲁棒的个性化排名是指,当用户的交互数据发生微小变化时,个性化排名方法给出的推荐列表不发生较大改变。而不鲁棒的个性化排名,例如,在电影推荐中,当用户的观影记录发生微小改变时,推荐的电影列表将发生剧烈的变化,甚至很可能使用户不喜欢的物品排在喜欢的物品之前,严重降低推荐的准确性。在实际的个性化推荐应用中,可以发现,鲁棒的推荐列表往往能更有效地反映用户的兴趣偏好。而对于个性化推荐应用平台来说,鲁棒的推荐列表也有助于提高用户粘性,带来持续稳定的经济利益。

现有的推荐系统,很多是基于协同过滤的,这种方法的主要思想是根据用户历史的交互行为建模用户对物品的偏好。潜因子模型在学术界和工业界都很受欢迎。潜因子可以理解为一个用户喜欢一个物品的隐形原因,比如用户喜欢某部电影,可能是因为该电影中有他喜欢的某个元素,或者是他喜欢的某个演员等等;如果另外一个电影有类似的元素和演员,那么他很有可能也会喜欢这部电影。基于此,潜因子模型为用户和物品学习潜因子表达,在很多数据集上,潜因子模型都表现出了很好的预测精确度,其效果会高于一般的协同过滤算法。实际上,许多个性化排名方法内在地包含一个潜因子模型,为用户和物品学习了一个低维表达。但是基于噪音交互数据得到的低维表达不具有鲁棒性,难以有效反映用户的特征偏好和物品的特征质量,导致之后的个性化排名模型缺乏鲁棒性。虽然近年来很多相关学者已经进行了个性化排名的研究,但是现有的研究工作对个性化排名方法的鲁棒性研究还不足。现有鲁棒的个性化排名方法主要包括两种,第一种方法基于降噪自编码器,其假设交互数据是无噪音的,根据一定的噪音水平给交互数据添加噪音,再通过最小化对真实评分的重建误差来训练自编码器,使训练好的编码器能够识别数据中的噪音,学习到鲁棒的低维表达;第二种方法利用一个添加对抗扰动的对抗训练过程,提高模型参数的鲁棒性,从而得到鲁棒的个性化排名推荐模型。但是,这两种方法存在一个共同的问题,其训练好的模型仅在当前的数据集上具有鲁棒性,它们都不能归纳地处理规模扩展的数据集。原因是训练好的模型参数依赖于训练数据的噪音水平,该噪音水平与数据规模紧密相关。而实际上,用户-物品交互数据的噪音水平未知,且依赖于不同的数据集,降噪自编码器根据一个超参数决定的噪音水平得到模型的输入数据,模型训练过程中,该超参数的设置根据当前训练集经验性地确定,因此,对于规模扩展的交互数据,需要重新设置该超参数;而添加对抗扰动的对抗训练,模型训练中得到的扰动参数也依赖于当前的训练集,因此对抗训练得到的鲁棒的模型参数也仅在当前数据集上有效。本发明提出一个对偶对抗生成网络,利用用户判别网络和物品判别网络对贝叶斯个性化排名方法学习得到的用户和物品的潜因子表达分别强加先验约束,提高潜因子表达的鲁棒性,从而建模了交互数据中的噪音,提高了个性化排名的鲁棒性。

发明内容

本发明的目的在于克服现有个性化排名方法中存在的问题和不足,提供一种鲁棒的个性化排名方法。

为实现本发明的目的,本发明提出一种结合对偶对抗生成网络的鲁棒的个性化排名方法。首先,将用户和物品嵌入到一个共同的低维空间;然后,利用贝叶斯个性化排名和对抗训练两个过程交替优化用户和物品的潜因子表达。训练好的鲁棒的用户和物品的潜因子模型能够归纳地建模交互数据中的噪音,从而能够处理规模扩展的数据集;最后,利用鲁棒的用户和物品的潜因子表达预测用户对物品的分数,产生鲁棒的Top-K推荐列表。该发明主要包括以下步骤:

步骤1:从互联网中采集用户与物品的交互数据,并进行预处理;

步骤2:将数据集划分为训练集、验证集和测试集;

步骤3:根据用户与物品的交互数据,通过贝叶斯个性化排名方法学习用户和物品的潜因子表达;

步骤4:对于步骤3得到的用户和物品的潜因子表达,通过生成对抗网络的对抗训练过程进行正则,提高用户和物品的潜因子表达的鲁棒性;

步骤5:交替进行上述步骤3和步骤4,得到鲁棒的用户和物品的潜因子表达,从而进行分数预测并生成鲁棒的个性化推荐列表。

所述步骤1中对用户与物品的交互数据进行预处理,具体方法如下:对于用户集合U,其大小为n,表示n个用户;物品集合I,其大小为m,表示m个物品;定义n行m列的用户-物品交互矩阵,矩阵元素取值如下:

将用户-物品交互数据处理为隐式反馈,取值为1,表示用户u与物品i发生过交互,但不意味着用户u真的喜欢物品i;取值为0表示用户没有见过该物品;根据隐式反馈的交互数据,通过贝叶斯个性化排名,即BPR,来学习排名模型。

所述步骤2是将数据集划分为训练集和测试集,具体方法为:对于每一个数据集,根据留一法,为每个用户保留最新的一次交互构成测试集,用剩余的交互数据进行训练;在模型训练过程中,从训练数据中随机地为每个用户保留一次交互构成验证集,以调整超参数。

所述步骤3根据用户与物品的交互数据,通过贝叶斯个性化排名方法学习用户和物品的潜因子表达,具体过程如下:

a1.根据用户-物品交互矩阵R,构造训练数据集D:其中表示用户u交互过的物品集合,I表示全部物品集合;

a2.对于训练数据集D中的每个用户,采用one-hot编码作为输入,通过一个用户编码器GU得到用户的嵌入向量p;例如,对于用户u,得到其嵌入向量pu=GU(u;ΛU),其中ΛU为用户编码器GU的参数;

a3.对于训练数据集D中的每个物品,同样采用one-hot编码作为输入,通过一个物品编码器GV得到物品的嵌入向量q;例如,对于物品v,得到其嵌入向量qv=GV(v;ΛV),其中ΛV为物品编码器GV的参数;

a4.使用BPR训练用户和物品编码器,具体方法如下:,

b1.对于每个训练集中的实例(u,i,j),通过编码器GU和GV分别得到用户的潜因子表达pu和物品的潜因子表达qi、qj

b2.对于用户-物品对(u,i),根据(1)式预测用户u对物品i的分数:

b3.同样的方式得到用户u对物品j的分数之后利用BPR优化用户编码器和物品编码器的参数,BPR的优化问题如下:

所述步骤是通过生成对抗网络的对抗训练过程对步骤3得到的用户和物品的潜因子表达进行正则,提高潜因子表达的鲁棒性,具体方法为:为用户和物品分别构造一对生成对抗网络,其中,步骤3中的用户编码器GU和物品编码器GV在这里作为各自的生成网络,另外使用两个深度神经网络分别实现用户判别网络DU和物品判别网络DV,分别为用户和物品的潜因子表达引入先验约束,从而建模交互数据中的噪音;对抗训练的具体步骤为:

c1.固定用户生成网络GU,将用户的潜因子表达作为样本输入用户判别网络DU;其中,来自先验分布x~P(x)的潜因子表达为真样本,生成网络GU产生的潜因子表达为假样本,训练判别网络,使其能够正确区分输入样本是来自先验分布x~P(x),还是来自生成网络GU;使用交叉熵损失函数优化用户判别网络DU,得到目标函数如下(3)式,其中,ΘU为用户判别网络DU要学习的网络参数,n为用户数:

c2.固定用户判别网络DU,训练生成网络GU,使其产生的潜因子表达服从先验分布x~P(x),从而使判别网络DU错误地判断来自生成网络GU的用户潜因子表达为真样本;得到用户生成网络GU的目标函数如下(4)式,其中ΛU为用户生成网络GU要学习的网络参数,n为用户数:

c3.采用同样的方式使物品的潜因子表达服从一个先验分布t~P(t),得到物品潜因子表达的判别网络DV和生成网络GV的目标函数,分别如下(5)式和(6)式,其中ΘV和ΛV为要学习的网络参数,m为物品数:

所述步骤5是交替进行步骤3的BPR学习过程和步骤4的对抗训练过程,得到鲁棒的用户和物品的潜因子表达,并基于该潜因子表达进行分数预测,根据预测得分进行排名,为用户u生成鲁棒的个性化推荐列表。

附图说明

图1为本发明的鲁棒的个性化排名方法流程图。

具体实施方式

为实现本发明的目的,本发明提出一种结合对偶对抗生成网络的鲁棒的个性化排名方法。首先,将用户和物品嵌入到一个共同的低维空间;然后,利用贝叶斯个性化排名和对抗训练两个过程交替优化用户和物品的潜因子表达。训练好的鲁棒的用户和物品的潜因子模型能够归纳地建模交互数据中的噪音,从而能够处理规模扩展的数据集;最后,利用鲁棒的用户和物品的潜因子表达预测用户对物品的分数,产生鲁棒的Top-K推荐列表。该发明主要包括以下步骤:

步骤1:从互联网中采集用户与物品的交互数据,并进行预处理;

步骤2:将数据集划分为训练集、验证集和测试集;

步骤3:根据用户与物品的交互数据,通过贝叶斯个性化排名方法学习用户和物品的潜因子表达;

步骤4:对于步骤3得到的用户和物品的潜因子表达,通过生成对抗网络的对抗训练过程进行正则,提高用户和物品的潜因子表达的鲁棒性;

步骤5:交替进行上述步骤3和步骤4,得到鲁棒的用户和物品的潜因子表达,从而进行分数预测并生成鲁棒的个性化推荐列表。

所述步骤1中对用户与物品的交互数据进行预处理,具体方法如下:对于用户集合U,其大小为n,表示n个用户;物品集合I,其大小为m,表示m个物品;定义n行m列的用户-物品交互矩阵,矩阵元素取值如下:

将用户-物品交互数据处理为隐式反馈,取值为1,表示用户u与物品i发生过交互,但不意味着用户u真的喜欢物品i;取值为0表示用户没有见过该物品;根据隐式反馈的交互数据,通过贝叶斯个性化排名,即BPR,来学习排名模型。

所述步骤2是将数据集划分为训练集和测试集,具体方法为:对于每一个数据集,根据留一法,为每个用户保留最新的一次交互构成测试集,用剩余的交互数据进行训练;在模型训练过程中,从训练数据中随机地为每个用户保留一次交互构成验证集,以调整超参数。

所述步骤3根据用户与物品的交互数据,通过贝叶斯个性化排名方法学习用户和物品的潜因子表达,具体过程如下:

a1.根据用户-物品交互矩阵R,构造训练数据集D:其中表示用户u交互过的物品集合,I表示全部物品集合;

a2.对于训练数据集D中的每个用户,采用one-hot编码作为输入,通过一个用户编码器GU得到用户的嵌入向量p;例如,对于用户u,得到其嵌入向量pu=GU(u;ΛU),其中ΛU为用户编码器GU的参数;

a3.对于训练数据集D中的每个物品,同样采用one-hot编码作为输入,通过一个物品编码器GV得到物品的嵌入向量q;例如,对于物品v,得到其嵌入向量qv=GV(v;ΛV),其中ΛV为物品编码器GV的参数;

a4.使用BPR训练用户和物品编码器,具体方法如下:,

b1.对于每个训练集中的实例(u,i,j),通过编码器GU和GV分别得到用户的潜因子表达pu和物品的潜因子表达qi、qj

b2.对于用户-物品对(u,i),根据(1)式预测用户u对物品i的分数:

b3.同样的方式得到用户u对物品j的分数之后利用BPR优化用户编码器和物品编码器的参数,BPR的优化问题如下:

所述步骤是通过生成对抗网络的对抗训练过程对步骤3得到的用户和物品的潜因子表达进行正则,提高潜因子表达的鲁棒性,具体方法为:为用户和物品分别构造一对生成对抗网络,其中,步骤3中的用户编码器GU和物品编码器GV在这里作为各自的生成网络,另外使用两个深度神经网络分别实现用户判别网络DU和物品判别网络DV,分别为用户和物品的潜因子表达引入先验约束,从而建模交互数据中的噪音;以用户为例,利用对抗训练使用户的潜因子表达服从一个先验分布x~P(x),对抗训练的具体步骤为:

c1.固定用户生成网络GU,训练用户判别网络DU:将用户的潜因子表达作为样本输入用户判别网络DU;其中,来自先验分布x~P(x)的潜因子表达为真样本,生成网络GU产生的潜因子表达为假样本,训练判别网络,使其能够正确区分输入样本是来自先验分布x~P(x),还是来自生成网络GU;使用交叉熵损失函数优化用户判别网络DU,其目标函数如下(3)式,其中,ΘU为用户判别网络DU要学习的网络参数,n为用户数:

c2.固定用户判别网络DU,训练生成网络GU,使其产生的潜因子表达服从先验分布x~P(x),从而使判别网络DU错误地判断来自生成网络GU的用户潜因子表达为真样本;得到用户生成网络GU的目标函数如下(4)式,其中ΛU为用户生成网络GU要学习的网络参数,n为用户数:

c3.采用同样的方式使物品的潜因子表达服从一个先验分布t~P(t),得到物品潜因子表达的判别网络DV和生成网络GV的目标函数,分别如下(5)式和(6)式,其中ΘV和ΛV为要学习的网络参数,m为物品数:

所述步骤5是交替进行步骤3的BPR学习过程和步骤4的对抗训练过程,得到鲁棒的用户和物品的潜因子表达,并基于该潜因子表达进行分数预测,根据预测得分进行排名,为用户u生成鲁棒的个性化推荐列表。

本发明是一种结合对偶对抗生成网络的鲁棒的个性化排名方法。采用本发明中所述的对抗训练方式为用户和物品的潜因子表达强加先验约束,从而能够很好地建模用户与物品交互数据中的噪音,提高用户和物品的潜因子表达的鲁棒性,进而得到一个鲁棒的个性化排名模型,为用户进行鲁棒的物品推荐。本发明中训练好的判别网络所确定的潜因子表达的先验分布,可以归纳地适用于同一来源的规模扩展的数据集。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号