-
推荐系统一般是通过对用户和项目的参数进行矢量化表示,并基于模型参数重建用户与商品的交互数据. 协同过滤(CF)模型[1-2]由两部分组成,嵌入部分和交互建模. ①嵌入部分,将用户和商品转换为向量化表示;②交互建模,根据嵌入的内容来重建历史的交互行为. 文献[1]中通过分析用户-商品项目交互矩阵来发现相似的商品项目,并将这些相似商品项目进行聚合. 文献[2]与文献[1]相似,区别在于其目标是寻找用户的相似项. 例如,矩阵分解(MF)[3-5]直接将用户/商品ID(Identity Document)嵌入为向量,再与交互图进行内积. 在文献[4-5]中,通过改进隐式反馈的矩阵分解来提升推荐效果. 尽管向量内积可以体现出交互用户和商品的喜好度,但其线性不足以揭示用户和商品之间的复杂和非线性关系. 因此,目前一些文献利用深度学习来提高交互关系,以便得到用户和商品之间的非线性特征交互.
推荐系统的研究除了因式分解模型外,相关文献提出了一些基于图的推荐模型,在图上随机游走,进行推荐[6-8]. 模型将用户-项目矩阵视为交互图,并且在图上随机游走从而将间接偏好进行推荐. 文献[6]提出了RP3(β),这是一种通过对图节点3次随机游走,重新对项目进行排名从而进行推荐的方法. 文献[7]扩展了评分算法使推荐更准确、更快速. 文献[9]中提出了基于交互图G随机游走参数的各种评分算法.
上述推荐方法对于一些特定用户、项目以及冷启动处理并不令人满意. 问题解决的关键在于嵌入部分的编码和协作交互信号编码,嵌入编码决定了相关特征的完整性,协作信号编码揭示了用户、项目之间的行为相似性. 具体而言,文献[10]只考虑了对用户、项目的特征编码,再定义模型训练目标函数,在此方法中忽略了用户和项目之间的相互作用. 因此,当嵌入不足以捕获协同信号时,该方法具有交互作用,可以弥补嵌入不足的缺陷[11]. 在文献[12]中,使用高阶连接编码来解决忽略用户和项目之间相互作用的缺陷,但仍然忽略了用户和商品的个性化.
通过以上研究发现,将用户与商品的交互直接集成到编码部分,会浪费很多不必要的资源. 在实际应用中,交互行为规模可能会达到百万甚至更大,从而难以提取所需的协作信号. 而且,部分模型考虑了项目隐式关联信息却忽略了用户、项目的个性化特征,导致最终在推荐时效果不理想. 因此,本文提出融合用户自注意力,使用交互图结构中协作编码的自然方法,结合用户特征进行高阶连接来解决此问题.
全文HTML
-
在常见的推荐系统中,设置M个用户U={u1,u2,…,uM}和N个项目V = {v1,v2,…,vN}. 用户与项目之间的交互矩阵Y∈RM×N
在交互矩阵Rij中,用户i对商品j点击,用1表示;其他的用0来表示,这其中包括没有点击和未观察到的项目. 然后,根据一些最新的推荐模型[14, 20],设定用户、项目的嵌入向量分别为xu∈Rd,xv∈Rd,这里d表示嵌入向量维度. xu,xv可以看作是为参数矩阵构建的嵌入查找表.
在这里建立的嵌入表用作用户和商品嵌入的初始状态,并以端到端的方式进行优化. 比如MF[10]和NCF[11],它们直接将ID嵌入到交互层中,然后用来预测分数. 本文由于细化嵌入步骤将协作信号显式注入到嵌入表中,提高了嵌入表的表现形式,从而优化了用户商品交互图的传播嵌入层.
-
本文提出了融合自注意力的图神经协同过滤模型. 针对协同过滤的两个关键因素:数据嵌入和交互建模,UAGNCF设计了两个部分. ①对用户、商品项目进行自注意力编码学习个性化特征,②使用高阶传播学习用户与商品项目的交互.
-
目前一些主流的推荐模型,大多数都在关注用户行为,忽略了用户、项目个性化特征的潜在联系.
-
卷积神经网络(CNN)在计算机视觉、自然语言处理以及其他一些应用中取得了巨大的成功. CNN主要用于具有二维网格结构的数据,如图像. 目前的一些研究使用CNN[13-17]来构建更通用的图结构数据.
-
本节讨论基于GCN[16]的消息传递体系结构,捕获沿图结构的协同信号并优化用户和项目的嵌入. 例如,用户点击了某些商品项目,这些商品项目可能具有某些商品共同特性. 因此,可用其共同特性来计算商品项目之间的协作相似性. 用户在对项目进行选择时有很多的关联性,由于这些隐式关联性无法直接提取,从而引进了阶连通性[18]. 将用户与商品项目的交互信息形成用户商品项目嵌入表示,然后将其进行聚合. 为此,本文提出了多种图信息传播规则,用于与商品项目形成的交互元组(u,v),表示用户U与项目V之间的信息构建.
-
UAGNCF模型从用户和商品项目的特征Xu,Xv开始,对于每个用户、商品项目的个性化赋予不同的权重信息. 然后,将个性化特征输入注意力网络,经过一层全连接层,将有类似爱好的用户和商品项目聚集起来. 再输入高阶嵌入层,与提取个性化的特征进行结合. 最后再使用聚合函数进行聚合,得到嵌入表示.
1.1. 相关定义
1.2. UAGNCF模型
1.3. 自注意机制
1.4. 图卷积网络
1.5. 高阶嵌入传播层
1.6. UAGNCF算法
-
融合用户自注意力的图神经协同过滤模型的基准预测(Baseline),将3个公开数据集与最新的一些研究成果进行实验对比.
-
为了评估融合用户自注意力的图神经协同过滤模型的有效性,在3个数据集上进行实验:Gowalla,Yelp2018和MovieLens,数据集是公开可用的,并且在域、大小和稀疏性方面有所不同.
Gowalla:这是从Gowalla获得的数据集[19],用户通过签到共享他们的位置.
Yelp2018:该数据集选自2018年的Yelp挑战赛[12]. 其中,当地企业如餐馆和酒吧被看成商品.
MovieLens:MovieLens是由明尼苏达州大学的GroupLens项目组开发的,本文选用的MovieLens 1M,包含6 040名用户对3 952部电影的评价,其中每个用户至少对20个电影进行评分,约有100万条评分数据,并且提供了用户职业、电影类别、电影时长等辅助信息[20]. 该数据集也是电影推荐中广泛使用的标准数据集.
为了确保数据集的质量,使用10-core方法[21],即保留具有至少10种互动的用户和项目. 对于每个数据集,随机选择每个用户80%的历史互动来构成训练集,并将其余的视为测试集. 从训练集中随机选择10%的交互作为验证集调整模型超参数. 对于每个观察到的用户项目交互,将其视为积极实例,然后执行否定抽样策略,将其与用户之前未交互过的一个消极项目配对.
-
评估指标:对于测试集中的每个用户,本文将用户与未交互的所有项目视为消极项目. 然后,除了训练集中使用的积极项之外,将用户对所有项目的偏好得分进行输出. 为了评估前K个推荐和偏好排名的有效性,采用了两种广泛使用的评估指标[7, 19]:召回率recall @ K和归一化折扣累积增益ndcg @ K. 默认情况下,设置K=20. 本文实验测试中数据采用用户的平均指标.
实验环境:Ubuntu16.04的操作系统,Intel Xeon(R) Gold 6126处理器,RAM大小为256 G,使用NVIDIA RTX2080Ti显卡.
参数设置:本文使用TensorFlow实现融合自注意的图神经推荐模型. 模型Embedding的大小设定为64,batch-size的大小设定为1 024. 本文使用Xavier初始化权重[6]、初始化模型参数,RMSprop优化器对模型进行优化,并且执行提前停止策略:如果在验证数据上的Recall@20在连续50个epoch没有增加,则停止.
-
本文在Gowalla,Yelp2018,MovieLens这3个数据集上进行实验,使用ndcg和recall作为评定指标(ndcg表示查询结果的好坏,值越大表示越好;recall表示召回率,值越大表示越好.). 为了验证UAGNCF模型的有效性,将UAGNCF与以下模型进行对比实验分析:
MF[10]:通过贝叶斯个性排名(BPR)损失优化的矩阵分解,该损失将用户项目直接交互,仅用作交互函数的目标值.
NeuMF[11]:该方法是较新的神经CF模型,该模型使用元素级上方的多个隐藏层以及用户和项目嵌入来捕获其非线性特征交互,采用两层平原架构,其中每个隐藏层的尺寸保持不变.
NGCF[12]:将用户-项目交互整合到嵌入过程中,通过在神经图上传播来挖掘用户与项目的偏好,从而进行推荐.
将Gowalla,Yelp2018和MovieLens数据集上UAGNCF模型和其他模型Baseline之间性能进行比较. UAGNCF模型与MF,NeuMF模型对比,因MF,NeuMF模型内部网络结构不足以捕获用户与商品项目之间的复杂关系,进而限制了性能. NeuMF模型在3个数据集上均优于MF模型,说明了用户和项目嵌入之间非线性特征交互的重要性. NeuMF与NGCF对比发现NeuMF的性能比NGCF劣势,其对隐藏商品项目属性的捕获要弱一些,从而导致性能降低. UAGNCF模型与NGCF对比,NGCF使用了高阶连通性,捕获了商品项目的一些隐藏属性,因NGCF对用户和商品项目的个性化考虑不全面,导致其性能略低于UAGNCF. 本文提出的融合自注意力图神经推荐(UAGNCF)模型,在3个数据集上面进行实验,效果明显优于其他模型.
-
为研究嵌入传播层(图卷积层)如何影响性能,考虑了不同的聚合方法,并有以下发现:
UAGNCF-gcn:仅考虑线性变换,这使得消息传播取决于前面的注意力,体现了本文嵌入传播层的合理性和有效性.
UAGNCF-bi:将xu和xv进行一次交互,并将其个性化权重加重,从而更好地进行推荐. 该方法在性能上优于UAGNCF-gcn,因其更好地捕获了xu与xv的亲和力.
UAGNCF-sum:将UAGNCF-gcn与UAGNCF-bi连接在一起,考虑线性变换时增加了用户与商品项目交互的亲和力,提升了模型的性能,从而证明了聚合函数的重要性.
-
为研究自注意力机制如何影响性能,将不同数据集和不同的聚合方法与NGCF模型进行对比,得出融合自注意力机制的UAGNCF模型比NGCF的推荐效果更好. 因UAGNCF模型考虑了个性化特征,对用户和商品项目进行注意力编码,使用户与商品项目能更好地进行交互,从而得到更好的推荐效果,结果证明了UAGNCF模型引入自注意力机制的合理性与有效性.
-
本文对UAGNCF与NGCF的召回率进行了性能测试. 数据显示UAGNCF比NGCF具有更好的收敛性. 因为本文在优化小批量图的交互时,进一步提取了间接连接的用户和商品项目,结果证明UAGNCF比NGCF在嵌入空间中执行嵌入传播更具优越性.
2.1. 数据集
2.2. 实验设置
2.3. 实验分析
2.3.1. 对比分析
2.3.2. 聚合函数分析
2.3.3. 自注意力分析
2.3.4. 性能分析
-
通过实验分析发现,在推荐系统中不仅要关注用户-项目交互图,还要关注用户、项目的一些个性化特征. 本文使用自注意力机制自动学习交叉特征权重,将以前忽略的特征提取出来加以利用;然后将学习到的特征再加入到高阶传播层,学习用户、项目的隐式特征. 通过此模型表明,推荐系统中用户、商品项目、用户-商品项目交互行为都很重要,将这3者的特征因素综合考虑更加全面. 本文提出的融合自注意力图神经协同过滤(UAGNCF)模型增加了用户自注意力机制,更好地利用用户和商品特性,将高阶连通性与自注意力机制使用多聚合方式进行聚合,更好地契合了两者的特征,从而提高了模型的预测能力和泛化能力.