原文来自微软亚洲研究院的一篇文章,地址:https://www.msra.cn/zh-cn/news/features/emnlp-2019-rmg
如果要做推荐和广告传播,Graph图论和深度学习是必须要掌握了。
用户与商品的表示与交互
个性化商品推荐中的一个关键问题是如何学习准确有效的用户和商品表示。一方面,我们希望从用户和商品的历史交互信息中对用户进行建模;另一方面,我们希望根据与商品交互的用户对商品进行建模。许多传统的个性化推荐方法基于矩阵分解技术,例如将用户和商品的评分矩阵分解后得到用户和商品的表示。通常来说,虽然在线用户和商品数量非常巨大,但是二者交互的数量往往有限,使得用户和商品的评分矩阵非常稀疏,这也使得基于矩阵分解的方法难以学习准确的用户和商品表示。
除了用户和商品之间的交互数据,电商平台上还存在大量用户对商品的评论数据,这些评论可以反映用户的偏好以及商品的特性。因此,利用商品评论可以帮助增强商品和用户表示的学习。HFT 和 RMR 等个性化推荐方法利用主题模型从商品评论中抽取主题特征,作为评论的表示。但是这些方法仅仅利用了评论的主题信息,而没有有效利用诸多有用的上下文信息。
近年来,随着深度学习的发展,一些推荐方法利用神经网络从原始的评论内容中学习用户和商品表示,例如 DeepCoNN、NARRE 和 HUITA 等。通常这些方法基于用户和商品的一阶交互(例如评分和评论)来学习二者的表示,这就导致了用户和商品的高阶交互信息没有被很好地利用,对于那些只有很少交互的用户和商品难以学习其精确的表示。
用户和商品的交互可以表示为一个二部图,利用图神经网络(GNN)等从图中学习表示的方法可以用来建模用户和商品的高阶信息。因此,也出现了一些基于图神经网络的推荐方法。但是,这些方法通常基于用户和商品的 ID 和特征来作为节点的表示,而忽略了评论的信息。然而,将评论信息与 GNN 结合存在一些挑战:在基于评论的推荐方法中,用户和商品的表示是通过一系列评论学习的,这就导致如果使用 GNN 进行图表示学习的时候会大大超出现有 GPU 的承载能力。因此,本文研究了如何将图网络和评论有机地结合起来。
在利用用户和商品高阶交互的时候,我们受到以下观察的启发,如图1所示。首先,在同一个商品领域下,同一用户购买的不同商品会有潜在关联。例如,用户1购买并评论了两个非常相关的商品,即都是关于《星球大战》的书籍。同时,购买同一商品的不同用户也可能有潜在关联。例如,两个用户都购买了商品1,说明了两个用户可能有相关联的兴趣。此外,用户和商品的交互通常有不同的重要性。例如,对于刻画商品1,用户1与商品1的交互比用户2与商品1的交互拥有更大的信息量。
图1:用户和商品的交互图
RMG 方法
为了以协同的方式从评论以及用户-商品图中学习用户和商品表示,我们提出了一种基于层次化注意力图神经网络和多视角学习的推荐方法——Reviews Meet Graphs (RMG),该工作发表在 EMNLP 2019 上。其框架如图2所示。由于难以直接从评论里学习图中用户和商品节点的表示,所以我们将二者适当解耦,通过多视角学习的方式进行统一。该模型包含两个视角:评论内容视角和图视角。在评论内容视角中,我们使用一个层次化的模型,先从单词中学习句子表示,再从句子中学习评论表示,最后从评论中学习用户和商品表示。同时我们利用一个三级注意力网络分别选择重要的单词、句子和评论。在图视角中,我们使用了一个层次化注意力图神经网络,来对用户和商品的零阶、一阶和二阶交互进行建模。用户和商品的节点通过他们的 ID 嵌入向量来表示。
以一个用户为例,首先我们通过购买该用户购买过的商品的用户表示学习二阶的交互表示(这是该怎么分词解读?太绕了),接下来我们将商品的表示与之拼接,并学习得到一阶的交互表示,最后我们通过与该用户本身的表示拼接。在这一过程中,我们使用分层的注意力机制,来建模这些交互的重要性。而在最后的评分预测中,我们结合从两种视角中学到的用户和商品表示,最后通过内积计算评分。
图2:RMG 方法框架
实验结果
我们在四个基准商品评论数据集上进行了实验,其中三个数据集收集自 Amazon,另一个来自 Yelp challenge 2017。我们使用80%的用户商品对作为训练,10%作为验证,10%作为测试。详细的统计数据如表1所示。
表1:数据集的统计数据
首先,我们将 RMG 方法与一系列基线方法进行对比,表2中总结了不同方法可以利用的信息。与矩阵分解的方法相比,其他方法可以利用评论信息,而基于深度学习的方法可以利用上下文,Attn+CNN 和 NARRE 可以进一步建模词语和评论的重要性。RMG-review 为只使用评论视角的变体模型,而它可以建模词语、句子和评论的重要性。RMG 可以进一步利用用户-商品图的信息。表3的结果显示,我们的方法可以显著地优于这些对比的基线方法。
表2:不同方法能够利用的信息对比
表3:不同方法的结果(评价指标为 RMSE)
接下来,我们用实验来验证图神经网络的深度(阶数)对推荐结果的影响。图3显示了我们模型及其使用不同深度图信息的变体的性能。实验结果表明,随着图阶数的增加,模型的性能有着持续的提升,这也体现了融入更加高阶的信息有助于进行更准确的推荐。虽然模型的性能可能还会随着阶数的增加有进一步提升,但是阶数的增加同样会带来图视角的计算开销呈指数级增加,因此我们仅使用二阶及以内的图信息。
图3:分层图神经网络深度的影响
进一步,我们利用消融实验探究了模型中注意力机制的影响。图4(a)显示了在评论内容视角中,几种不同注意力机制的作用。我们发现词语级别的注意力机制最为重要,这说明选择重要词语对于学习精确评论表示非常重要。同时,句子和评论级别的注意力机制对于模型性能同样有用,并且将三者结合可以进一步提升模型性能。这些结果验证了评论内容视角的有效性。图4(b)显示了一阶交互和二阶交互注意力机制的有效性。实验结果表明,作用于一阶交互的注意力机制更为重要,但作用于二阶交互的注意力机制也同样有效,并且将两者同时使用可以获得更好的性能,这也验证了在图视角中不同层级注意力机制的有效性。
(a) 评论内容视角中的注意力网络影响;(b) 图视角中的注意力网络影响
图4:注意力网络的有效性
为了探究高阶交互对于建模交互较少的商品的有效性,我们选取了两个在训练集中出现次数很少的商品,并通过 t-SNE 可视化后对比了由仅使用评论的 RMG-review(图5(a)) 以及 RMG 方法(图5(b))学习得到的两个商品表示的距离。这两个商品均是星球大战的玩具飞机,具有很高的相似性。图5(a)的结果显示,由于与两种玩具交互的用户过少,RMG-review 模型并没有很好地刻画二者的相似性。但从图5(b)中可以发现,二者的表示距离十分接近,说明了融入高阶交互信息可以帮助学习更为准确的表示。
图5:通过 RMG-review 和 RMG 学习的商品表示的可视化
结语
综上,我们提出了一种可以有效结合商品评论以及用户-商品图信息的个性化推荐方法,通过多视角学习来分别利用评论信息和用户-商品图的信息。在评论内容视角中,我们采用了具有三级注意力网络的层次化模型,用于选择重要的单词、句子和评论;而在图视角中我们使用一个基于分层注意的图神经网络,来对用户和商品之间的高阶交互进行建模。在未来的工作中,我们希望进一步探索图网络在新闻推荐以及点击率预估等场景的应用。
了解更多技术细节,请查看论文。
论文链接:https://www.aclweb.org/anthology/D19-1494.pdf