KDD2018论文解读: 基于共同注意力模型结合元路径的上下文进行Top-N推荐

举报
北纬30度 发表于 2021/09/01 16:39:05 2021/09/01
【摘要】 本文介绍了一篇通过共同注意力机制强化用户、物品、元路径表征的论文。

摘要

现有问题:

异构信息网络(HIN)因其在复杂上下文信息建模方面的优势而被广泛应用于推荐系统中。 现有基于HIN的推荐方法虽然在一定程度上取得了性能提升,但存在两个主要缺点。

首先,这些模型很少在推荐任务中学习路径或元路径的显式表示。

其次,他们没有考虑交互中元路径和所涉及的用户-物品对之间的相互影响。

难点:

(1)如何设计适用于基于HIN的复杂交互场景的基础架构。

(2)如何生成有意义的路径实例来构建高质量的基于元路径的环境。

(3)如何捕捉交互过程中所涉及的用户-物品对与基于元路径的情境之间的相互作用。

论文的主要思想:

1.学习为推荐任务量身定制的基于元路径的上下文的显式表示。

2.通过显式地将元路径引入到交互模型中,我们的方法能够有效地从基于元路径的上下文中挖掘和提取有用信息,从而提高推荐性能

这样, 基于元路径的情境表征将更加灵活地适应不同的交互场景,对推荐结果提供良好的可解释性。

**亮点:**设计了一种新的具有共同注意机制的深度神经网络,利用丰富的基于元路径的上下文进行top n推荐。模型能够学习用户、物品和基于元路径上下文的有效表示,以实现强大的交互功能。 其中的共同注意机制以一种相互增强的方式改进了基于元路径、用户和物品的表示。

数据集:Movielens、LastFM、Yelp

介绍

HIN由多种类型的节点和链路组成,是一种通用的信息建模方法。 HIN可以灵活地描述各种异构数据,在推荐系统中被用来建模丰富的辅助数据 。在HIN中,两个对象可以通过不同的语义路径连接,这些语义路径被定义为元路径。 元路径(HIN中连接对象对的关系序列)被广泛用于提取结构特征,获取相关语义进行推荐。

现有的基于HIN的推荐方法可以分为两类。

第一种类型利用基于路径的基于HIN的语义相关性作为相关性推荐的直接特性 。

第二类对基于路径的相似度进行一些转换(例如,对基于路径的相似度矩阵进行矩阵分解),以学习有效的转换特征,这些特征随后用于增强推荐方法中的原始用户或物品表示。

这两种方法都提取了基于元路径的特征,以改进双向用户-物品交互的表征。

在该论文中,作者将基于元路径的情境融入到交互中,精心设计了一个三向神经交互模型。 为了构建基于元路径的上下文,作者使用基于优先级的采样技术来选择高质量的路径实例进行推荐。该模型学习基于上下文的用户、项和元路径的表示并利用共同注意机制,以相互改进基于元路径、用户和物品的表示。 与之前的方法不同,模型显式地将基于元路径的上下文整合到交互中,并学习这些有用信息的特定交互表示。

模型

模型显式地将元路径合并为用户和物品之间交互的上下文 。与双向交互不同,作者提出了一种三向交互<user,meta-paths,item> 。使模型学习用户、物品及其交互上下文的表示。除了学习用户和物品embedding外,最重要的部分是得到基于元路径的上下文embedding。

首先利用层次神经网络将基于元路径的上下文建模为低维嵌入。 用户物品embedding,将用户和物品用one-hot向量表示。

其次,通过当前节点与候选出节点之间的相似度来衡量优先度。该优先级得分直接反映了两个节点之间的关联度。其基本思想是首先利用传统的不含元路径信息的矩阵分解方法,对每个具有历史用户-物品交互记录的节点学习一个潜在向量。 作者使用类似的预训练技术来衡量每个候选输出节点的优先度。

再次,利用SVDFeature描述各种上下文信息, 将HIN中与交互相关的实体合并为训练实例的上下文。 利用习得的潜在因子计算路径实例中两个连续节点之间的两两相似度,然后对这些相似度进行平均,对候选路径实例进行排序。

最后,给定一个元路径,只保留平均相似度最高的K个路径实例。

embedding

路径实例本质上是实体节点序列。要将这样的节点序列嵌入到低维向量中,路径实例的embedding利用CNN得到。

h p = C N N ( X P ; θ ) h_{p}=CNN(X^{P};\theta)

由于元路径可以产生多个路径实例,我们进一步应用最大池操作来派生元路径的embedding。 我们的最大池操作是在K个路径实例嵌入上执行的,目的是从多个路径实例中捕获重要的维度特征。

c ρ = m a x p o o l i n g ( h p p = 1 K ) c^{\rho}=max-pooling({h_{p}}^{K}_{p=1})

最后,利用平均池操作来派生用于建模基于聚合元路径上下文的embedding。

c u i = 1 M u i ρ M u i c ρ c_{u \to i}= {\frac 1 {|\mathcal{M}_{u \to i}|}} \sum_{\rho \in \mathcal{M}_{u \to i}}c_{\rho}

在这种embedding方法中,每个元路径得到了同等的关注,基于元路径上下文的表示完全依赖于生成的路径实例。到目前为止模型没有考虑到所涉及的用户和项目,因此还缺乏从不同交互场景中的元路径捕获不同语义的能力。

Co-Attention机制

由于不同的用户可能对元路径有不同的偏好。即使对于同一用户,元路径在与不同项的多次交互中也可能具有不同的语义。 在用户-物品交互中,元路径提供重要的上下文信息,因此所涉及的用户和物品也很可能受到这种交互上下文的影响 。

基于元路径的上下文的注意力模块

在交互中,不同的元路径可能有不同的语义,需要在用户和物品的元路径上学习交互特定的注意权重。

基于给定的用户embedding、物品embedding、以及上下文embedding,利用两级网络结构实现attention。

α u , i , ρ ( 1 ) = f ( W u ( 1 ) x u + W i ( 1 ) y i + W ρ ( 1 ) c ρ + b ( 1 ) ) \alpha^{(1)}_{u,i,\rho} = f(W^{(1)}_{u}x_{u}+W^{(1)}_{i}y_{i}+W^{(1)}_{\rho}c_{\rho}+b^{(1)})

α u , i , ρ ( 2 ) = f ( w u ( 2 ) T α u , i , ρ ( 1 ) + b ( 2 ) ) \alpha^{(2)}_{u,i,\rho} = f(w^{(2)T}_{u} \alpha^{(1)}_{u,i,\rho}+b^{(2)})

利用softmax函数对所有元路径注意力得分进行归一化,得到最终的元路径权值

用户和物品的注意力模块

给定一个用户和一个物品,连接它们的元路径提供了重要的交互上下文,这可能会影响用户和物品的原始表示。 这里使用单层网络来计算注意力向量 。

β u = f ( W u x u + W u i c u i + b u ) \beta_{u} = f(W_{u}x_{u}+W_{u \to i}c_{u \to i}+b_{u})

β i = f ( W i y i + W u i c u i + b i ) \beta_{i} = f(W^{`}_{i}y_{i}+W^{`}_{u \to i}c_{u \to i}+b^{`}_{i})

通过将两部分注意组件组合在一起,模型能够相互增强用户、项目和基于元路径的上下文的原始表示 。

实验结果

上图为在三个数据集上的有效性实验结果。使用“*”来标记每个基线的最佳性能。使用“#”表示MCRec相对于基线的最佳性能的结果。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。