一种基于自监督变分自编码器的物品推荐方法

文档序号:28277197发布日期:2021-12-31 20:58阅读:255来源:国知局
一种基于自监督变分自编码器的物品推荐方法

1.本发明涉及个性化推荐技术领域,尤其涉及一种基于自监督变分自编码器的物品推荐方法。


背景技术:

2.变分自编码器(variational autoencoders,vae)包括编码器和解码器两部分;编码器根据用户

物品反馈矩阵学习用户特征的变分分布,从分布中采样获取用户特征矩阵;解码器根据用户特征矩阵预测用户感兴趣的物品。
3.自监督学习(self

supervised learning,ssl):利用辅助任务从大规模的无监督数据中挖掘数据自身的监督信息来提高学习特征的质量,通过构造的监督信号对模型进行训练。
4.随着互联网的快速发展,在线信息爆炸式增长,推荐系统已经成为应对信息过载问题的一种有效工具,在新闻推荐、在线购物、餐馆预订、影视推荐等诸多互联网平台发挥着重要作用。
5.协同过滤是构建个性化推荐系统的核心技术之一。基于变分自编码器(vae)的协同过滤方法以其优秀的性能从众多的协同过滤方法中脱颖而出,其核心思想是输入用户

物品反馈矩阵由编码器学习用户特征的变分分布,从变分分布中采样得到用户的特征矩阵,继而由解码器根据用户特征重构用户

物品反馈矩阵,达到为用户推荐感兴趣物品的目的。
6.现有技术中的一种物品推荐方法包括:为了提高变分自编码器模型在推荐上的性能,通过改变vae的网络架构、先验/后验分布等方式学习更高质量的用户特征。然而,随着在线用户和物品数量的迅猛增长,基于变分自编码器的协同过滤方法及其变体方法面临着稀疏性挑战。
7.上述现有技术中的物品推荐方法的缺点为:该方法受限于用户

物品交互数据的稀疏性,难以学习高质量的用户/物品特征。一些融合边信息的变分自编码器模型能够缓解一部分交互数据稀疏的问题,然而不同应用场景中可使用的边信息差异很大(如评论文本、社交网络、用户属性等),因此使用不同边信息的推荐方法之间的很难移植使用。


技术实现要素:

8.本发明的实施例提供了一种基于自监督变分自编码器的物品推荐方法,以实现有效地提高用户的物品推荐性能。
9.为了实现上述目的,本发明采取了如下技术方案。
10.一种基于自监督变分自编码器的物品推荐方法,包括:
11.获取推荐主任务数据,收集用户反馈数据,构建用户

物品反馈矩阵;
12.获取自监督辅助任务数据,利用所述自监督辅助任务数据进行数据增广获得增广后的用户

物品反馈矩阵;
13.将所述用户

物品反馈矩阵和所述增广后的用户

物品反馈矩阵输入到自监督变分自编码器ssvae模型,利用目标函数优化算法训练ssvae模型,得到训练好的ssvae模型;
14.根据训练好的ssvae模型预测用户对未评分物品的喜好程度,并将预估分值较高的物品推荐给用户。
15.优选地,所述的获取推荐主任务数据,收集用户反馈数据,构建用户

物品反馈矩阵,包括:
16.获取推荐主任务数据,收集用户反馈数据,将用户反馈数据表示为用户

物品反馈矩阵x∈{0,1}
m
×
n
,其中m、n分别表示用户、物品的数量;矩阵的第u行是用户u的反馈向量,记录了用户u的历史交互行为,x
ui
=1表示用户u与物品i发生过交互行为,x
ui
=0表示用户u与物品i尚未产生交互。
17.优选地,所述的获取自监督辅助任务数据,利用所述自监督辅助任务数据进行数据增广,获得增广后的用户

物品反馈矩阵,包括:
18.获取自监督辅助任务数据,增广用户反馈数据并构造自监督学习任务的正负样本对,对于用户

物品反馈矩阵x,以固定的概率α丢弃x中一部分历史交互物品的节点信息,丢弃节点的值用0代替,表示如下:
19.x

=p
′⊙
x,x

=p
″⊙
x
20.其中和是两个独立的掩码向量,

是哈达玛乘积,x

和x

是增广后的用户

物品反馈矩阵,表示用户反馈的两个不同视图,每个视图代表用户的部分反馈数据,矩阵x

和x

的第u行x

u
和x

u
表示在对应视图下用户u的反馈向量;
21.同一用户在不同视图下的反馈向量x

u
和x

u
视作正样本对,不同用户在不同视图下的反馈向量x

u
和x

v
,u≠v视作负样本对。
22.优选地,所述的将所述用户

物品反馈矩阵和所述增广后的用户

物品反馈矩阵输入到自监督变分自编码器ssvae模型,利用目标函数优化算法训练ssvae模型,得到训练好的ssvae模型,包括:
23.设置ssvae模型的目标函数如下:
[0024][0025]
其中表示推荐任务的损失函数,表示自监督学习任务的损失函数,λ是控制自监督任务学习强度的参数;
[0026]
将用户

物品反馈矩阵x输入至ssvae模型进行训练,学习用户特征的分布,根据分布采样得到用户特征矩阵将z输入至解码器训练,重构用户

物品反馈矩阵;其中z的第u行表示用户u的特征向量,d为向量维度,损失函数定义如下:
[0027][0028]
将增广后的用户

物品反馈矩阵x

和x

输入至ssvae模型进行训练,获取用户特征矩阵和其中z

和z

的第u行和分别表示对应视图下用户u的特征向量,其中d为向量维度;采用对比学习的方式最大化用户正样本对特征z

u
和z

u
间的一致性,以及负样本对特征z

u
和z

v
之间的差异性,学习具有判别性
的用户特征,辅助推荐任务,损失函数定义如下:
[0029][0030]
其中u表示用户节点集合,u为用户节点索引,s(
·
)为余弦相似度函数用于衡量同一用户节点在两个视图的相似度,τ是可调的超参数
[0031]
合并整理各项后,自监督变分自编码器模型的最终目标函数表示如下:
[0032][0033]
利用所述最终目标函数用优化算法训练ssvae模型,得到训练好的ssvae模型。
[0034]
优选地,所述的根据训练好的ssvae模型预测用户对未评分物品的喜好程度,并将预估分值较高的物品推荐给用户,包括:
[0035]
对于待推荐的用户v,将用户v的历史交互行为转换为反馈向量x
v
,并将反馈向量x
v
输入到训练好的ssvae模型,ssvae模型经过编码以及解码阶段获得输出向量的第i个元素对应物品i,对各维度的元素进行降序排列,并移除已经交互过的物品对应的元素,将排名前k的物品推荐给用户v。
[0036]
由上述本发明的实施例提供的技术方案可以看出,本发明实施例提出的基于自监督变分自编码器(ssvae)的物品推荐方法,通过设计简单而有效的自监督任务挖掘用户反馈信息的内在特征,辅助主任务获取更高质量的用户表征。在不使用边信息的前提下大幅度提高推荐性能,缓解稀疏性问题。
[0037]
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0038]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0039]
图1为本发明实施例提供的一种基于自监督变分自编码器的物品推荐方法工作流程图。
[0040]
图2为本发明方法与mult

vae、rec

vae在doubanbook数据集上的实验结果对比。
[0041]
图3为本发明方法与split

merge cvae、jvae

cf在movielens1m数据集上的实验结果对比。
具体实施方式
[0042]
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始
至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0043]
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
[0044]
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
[0045]
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
[0046]
本发明实施例提出了一种基于自监督变分自编码器的物品推荐方法。该方法通过数据增广方式构建自监督学习任务和扩充训练样本,无需任何边信息,因此具有较好的通用性。
[0047]
本发明实施例提出的一种基于自监督变分自编码器的物品推荐方法的处理流程如图1所示,包括以下处理步骤:
[0048]
步骤s1、获取推荐主任务数据,收集用户反馈数据,将用户反馈数据表示为用户

物品反馈矩阵x∈{0,1}
m
×
n
,其中m、n分别表示用户、物品的数量;矩阵的第u行是用户u的反馈向量,记录了用户u的历史交互行为,其中x
ui
=1表示用户u与物品i发生过点击、购买等交互行为,x
ui
=0表示用户u与物品i尚未产生交互。
[0049]
步骤s2、获取自监督辅助任务数据,增广用户反馈数据并构造自监督学习任务的正负样本对。对于用户

物品反馈矩阵x,以固定的概率α丢弃x中一部分历史交互物品(对应节点的值是1)的节点信息,丢弃节点的值用0代替,表示如下:
[0050]
x

=p
′⊙
x,x

=p
″⊙
x
[0051]
其中和是两个独立的掩码向量,

是哈达玛乘积。x

和x

是增广后的用户

物品反馈矩阵,表示用户反馈的两个不同视图,每个视图代表用户的部分反馈数据。矩阵x

和x

的第u行x
u

和x

u
表示在对应视图下用户u的反馈向量。
[0052]
同一用户在不同视图下的反馈向量x

u
和x

u
视作正样本对,不同用户在不同视图下的反馈向量x

u
和x

v
(u≠v)视作负样本对。
[0053]
步骤s3、将用户

物品反馈矩阵x和增广后的用户

物品反馈矩阵x

和x

输入至自监督变分自编码器模型(ssvae),利用目标函数用adam优化算法训练ssvae模型。
[0054]
设置自监督变分自编码器模型ssvae的目标函数如下:
[0055][0056]
其中表示推荐任务的损失函数,表示自监督学习任务的损失函数,λ是
控制自监督任务学习强度的参数。
[0057]
推荐任务是指将用户

物品反馈矩阵x输入至编码器学习用户特征的分布,根据分布采样得到用户特征矩阵然后将z输入至解码器训练其重构用户

物品反馈矩阵;其中z的第u行表示用户u的特征向量,d为向量维度,损失函数定义如下:
[0058][0059]
自监督学习任务是指将增广后的用户

物品反馈矩阵x

和x

输入至自监督变分自编码器进行训练,获取用户特征矩阵和其中z

和z

的第u行和分别表示对应视图下用户u的特征向量,其中d为向量维度;接着采用对比学习的方式最大化用户正样本对特征z

u
和z

u
间的一致性,以及负样本对特征z

u
和z

v
(u≠v)之间的差异性学习到具有判别性的用户特征,辅助推荐任务,损失函数定义如下:
[0060][0061]
其中u表示用户节点集合,u为用户节点索引,s(
·
)为余弦相似度函数用于衡量同一用户节点在两个视图的相似度,τ是可调的超参数
[0062]
合并整理各项后,自监督变分自编码器模型的最终目标函数表示如下:
[0063][0064]
步骤s4、根据训练好的ssvae模型预测用户对未评分物品的喜好程度,并将预估分值较高的k个物品推荐给用户。
[0065]
对于待推荐的用户v,将用户的历史交互行为转换为反馈向量x
v
,并将x
v
输入到训练好的ssvae模型,经过编码以及解码阶段获得输出向量的第个元素对应物品i,对各维度的元素进行降序排列,并移除已经交互过的物品对应的元素,将排名前k的物品推荐给用户v。
[0066]
本发明使用rec

vae作为ssvae中变分自编码器模型。在douban book和movielens1m数据集上验证本发明的推荐性能。movielens1m数据集源自movielen电影评价网站,其ui矩阵的行代表观影人,列代表电影,评分范围:1.0

5.0分;该数据集“用户

物品”交互数据的稠密度为2.7%,同时该数据集包括用户的性别、年龄和职业信息。douban book数据集来源于豆瓣评价网站,其ui矩阵的行代表读者,列代表书籍,评分范围:1.0

5.0分;该数据集“用户

物品”交互数据的稠密度为0.26%。在实验过程中将用户对物品评分大于3的交互行为视为x
ui
=1,其余评分小于等于3的交互行为或评分缺失的未交互行为都视为x
ui
=0。评价指标分别为归一化折损累计增益(normalized discount cumulative gain,ndcg)和召回率(recall),ndcg和recall的值越大推荐性能越好。
[0067]
在douban book数据集上,将ssvae与同样只考虑用户

物品交互信息的协同过滤模型mult

vae和rec

vae比较,验证本发明的效果。mult

vae发表于信息检索领域顶级会议www 2018,是当下最具代表性的基于变分自编码器的推荐方法。rec

vae发表于信息检索与数据挖掘领域会议wsdm 2020,是当下效果最好的基于变分自编码器的推荐方法。
[0068]
同时在movielens1m数据集上,将ssvae与融合边信息的变分自编码器推荐方法split

merge cvae模型(split

merge conditional variational auto

encoders)、jvae

cf模型(joint vae for collaborative filtering)在推荐精度上进行了对比。split

merge cvae发表于数据挖掘会议pakdd 2019,jvae

cf发表于数据挖掘会议cikm 2017,都是融合边信息的变分自编码器的推荐模型。
[0069]
图2展示了ssvae在douban book数据集上的推荐精度对比实验结果。实验结果表明本发明所述方法在提高推荐系统性能上有更明显的优势,同时douban book是一个较为稀疏的数据集也证明了本发明对于缓解推荐系统中的稀疏性问题有显著效果。
[0070]
图3展示了ssvae、split

merge cvae和jvae

cf三种推荐方法在movielens1m数据集上的推荐精度对比实验结果,实验结果表明本发明所述方法相较于融合边信息的vae推荐方法在提高推荐系统性能上有更明显的优势。
[0071]
ssvae是一种通用框架,适配于现有的绝大多数基于变分自编码器的推荐模型。本发明实施例提供的基于自监督变分自编码器的物品推荐方法重在保护ssvae框架,及其目标函数设计;在实施例中,我们采用同时训练自监督学习任务和推荐任务的策略,熟悉本领域技术人员显然可以容易地针对上述实施例做出各种修改;例如将自监督学习任务作为预训练阶段,推荐任务作为下游任务进行精调,预测用户偏好。又如将vae模型替换为其他自编码器模型的变体,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。故凡依本发明申请专利范围所做出的改进和修改,均应包括于本发明专利的申请范围内。
[0072]
综上所述,在个性化推荐技术领域,存在超大规模的用户和物品信息,与之对比只有少量的用户

物品历史交互行为,难以从少量的历史信息中预测用户的兴趣偏好。为了缓解此类数据稀疏性问题,一些推荐算法利用融合边信息的方式来缓解数据稀疏性问题并取得一定效果。由于边信息包括图片、文本、社交等多种信息,信息间的差异很大因此使用不同边信息的推荐方法之间的很难移植使用。本发明实施例提出的基于自监督变分自编码器(ssvae)的物品推荐方法,通过设计简单而有效的自监督任务挖掘用户

物品交互信息的内在特征,辅助主任务获取更高质量的用户表征,能够有效缓解数据稀疏性问题。由于不受边信息类型的限制,所以具备很强的通用性,同时能够大幅度提高推荐性能。
[0073]
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0074]
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0075]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0076]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1