Leveraging Meta-path based Context for Top-N Recommendation with A Neural Co-Attention Model

KDD 2018, August 19-23, 2018, London, United Kingdom
Github: https://github.com/librahu/MCRec

本文使用异构信息网络中基于上下文的元路径和共同关注机制的神经网络模型建立推荐系统。

异构信息网络

  • 信息网络的定义:
    信息网络是带有对象类型映射ϕ: V → A和链接映射ψ: E → R的有向图G=(V,E)。每个对象v∈V属于某一个特定对象类型φ(v)∈A,且每个链接e∈E属于关系类型集合R:ψ(e)∈R中的特定关系类型。如果两个链接属于相同的关系类型,这两个链接共享相同的起始对象类型以及结束对象类。

  • 异构信息网络:
    如果对象的类型| A |>1 或关系类型| R | > 1,信息网络被称为异构信息网络;否则,它是一个同质的信息网络。

元路径 Meta-Path

模型改进示意图
  • 下图为原文对于元路径的表述:
  • 下图为原文中对于基于上下文的元路径的表述及举例:

Model

模型整体结构图
  • 基于元路径的基于优先级的随机行走对路径实例进行采样

现有的HIN嵌入模型主要采用元路径引导的随机行走策略,通过对输出节点进行统一采样,并生成路径状态。然而,这种简单的随机行走策略所产生的路径实例通常质量较低,甚至伴随着大量的噪声,使得这种采样策略不适合推荐系统。实际上,在每一步中,walker都应该以更大的概率游走到“优先级”更高的邻居节点,因为这样一个out-going node可以通过形成更紧密的链接来重新定义更可靠的语义。

作者使用类似的预训练技术来得到每个候选out-going node的优先级得分,进而缺个每个候out-going node的优先级。

其基本思想是首先利用传统的无元路径信息的矩阵分解方法,对具有历史用户项交互记录的每个节点学习一个潜在的向量。然后,我们可以通过当前节点和候选出站节点之间的相似性来度量优先级。这样的优先级分数直接反映了两个节点之间的关联度。为了预测HIN中所有实体的潜在因素,作者在所有可用的历史交互记录上训练了基于特征的矩阵因子分解框架SVDFeature(TianqiChen,WeinanZhang,QiuxiaLu,KailongChen,ZhaoZheng,andYong Yu. 2012. SVDFeature: a toolkit for feature-based collaborative filtering. Journal of Machine Learning Research 13 (2012), 3619–3622),以适应对论文 BPR: Bayesian personalized ranking from implicit feedback 中损失的隐式反馈。SVDFeature能够描述各种上下文信息。作者将与交互相关的HIN实体合并为training instance的上下文。作者利用已知的潜在因素计算一个路径实例上两个连续节点之间的成对相似性,然后对这些相似性进行平均,以对候选路径实例进行排序。最后,我们只保留具有最高平均相似性的前k个路径实例作为给定的元路径。

  • 基于上下文的元路径

embedding a single path instance -> embedding a single meta-path -> embedding the aggregate meta-paths.

Path Instance Embedding:
先将节点的embeddings连接为 Xp ∈ RLxd ,然后输入CNN中:

Meta-path Embedding:
通过一个max-polling层得到:

Simple Average Embedding for Meta-path based Context:

Co-Attention机制

  • 对于基于上下文的元路径注意力机制:




  • 对于Users和Items的注意力机制:



The Complete Model

将三个embeddings连接:

然后将其输入MLP中:
  • 损失函数:

EXPERIMENTS

论文使用了三个数据集:Movielens,LastFM,Yelp,进行了多项实验并于多种方法相比较,具体实验细节及结果请参照原文。

你可能感兴趣的:(Leveraging Meta-path based Context for Top-N Recommendation with A Neural Co-Attention Model)