本文是自己在推荐系统研究中研读的论文翻译及解读,原文:Explainable Recommendation through Attentive Multi-View Learning
-
AAAI2019会议论文,微软亚研团队出品
- 本篇笔记为本人原创,如需转载引用,请务必在文中附上原链接及相应说明,包括作者信息(阿瑟)
- 本篇笔记非标准译文,其中包含了笔者自己对问题的部分理解,仅供参考,欢迎学习交流
摘要
由于信息的爆炸式增长,推荐系统在我们的日常生活中扮演着越来越重要的角色。精确性和可解释性是评价推荐模型的两个核心方面,已成为机器学习中的一个基本权衡问题。
该文提出通过构建一个可解释的深度模型来减轻精确性和可解释性之间的权衡,该模型结合了基于深度学习的模型和现有可解释方法的优点。
其基本思想是建立一个基于可解释的深层层次结构(如微软概念图/Microsoft Concept Graph)的初始网络,并通过优化层次结构中的关键变量(如节点重要性和相关性)来提高模型精度。
- 为了保证准确的评分预测,提出了一个多视角注意力学习框架。该框架能够通过在不同的特征层之间进行联合正则化和注意组合预测来处理稀疏和噪声数据。
- 为了从层次结构中挖掘可读的解释,我们将个性化的解释归纳为一个约束树节点选择问题,并提出了一种动态规划算法来求解。
- 实验结果表明,该模型在准确性和可解释性方面均优于现有方法。
引言
推荐界已经达成共识:准确度只能用于部分评估一个系统。模型的可解释性,即解释一个物品被推荐的原因的能力,也是同等重要的。适当的解释可以说服用户尝试该物品,增加用户的信任,并帮助用户做出更好的决策。
决定是向精确性优化还是向明确性优化 accuracy or explainability是一个基本难题。目前,选择仅限于两种型号:
- Deep but unexplainable: 深度模型所学习到的高维高层次特性是普通用户无法理解的。
- Explainable but shallow: 这类模型在提高可解释性方面取得了相当大的成功。 然而,缺乏一种有效的机制来建模高级显式特征(model high-level explicit features),限制了它们的准确性和/或可解释性。这些方法只能从预定义的候选级别中选择解释。它们无法确定哪一级别的功能最能代表用户的真正兴趣。例如,他们无法判断用户是只喜欢虾(低级)还是对海鲜(高级)感兴趣。
因此,本文提出一个可解释的推荐深度模型Deep and explainable来减少精确性和可解释性之间的权衡。该模型达到了最先进的准确性和高度可解释性。此外,它使我们能够准确地描述层次化的用户兴趣。
为了设计一个可解释的深模型,面临两大技术挑战。
- 第一个挑战是从噪声和稀疏数据中精确地建立多级显式特征模型。由于高层次特征和低层次特征具有重叠的语义,因此很难对它们之间的关系进行建模。例如,了解海鲜对用户是否重要是一项挑战,因为用户可能只在重新查看时提到虾或肉。
- 第二个挑战是生成易于普通用户从多层次结构理解的解释。
为了应对这些挑战,我们开发了一个深层次的显性注意多视角学习模型(DEAML)。其基本思想是基于可解释的深层结构(如知识图)建立初始网络,并通过优化可解释结构中的关键变量(如节点重要性和相关性)来提高精度。
问题定义
输入:模型输入包括用户集,物品集和显式特征层次结构。
定义1:显式特征层次结构是一棵树,每个节点是物品(例如,餐厅)的显式特征或方面(例如,肉)。
每条边都是一个元组(),表示子节点(例如牛肉)是父节点(例如肉)的子概念。我们将中的节点集表示为,其中, 表示中的节点总数。
构建的方法
文章利用微软的概念图谱,这是一个广泛使用的知识图谱,有超过500万个概念和8500万个“is a”关系(例如,catisa animal)
首先将评论文本的n-grams映射到concept图中的概念。只有那些与评级高度相关的常用概念才被保留下来,并被视为显式特征。然后,我们递归地搜索概念图谱中的显式特征,并利用“IsA”关系来构建。平均来说,Υ的深度是5。
定义2: 每个特征的层次级别。的层次级别是基于其子节点递归定义的:。如果是一个叶,则其层次级别设置为1。设表示中内部节点的最大层次级别。
此外,还有两种类型的输入。U中的每个用户被表示为元组,其中是用户ID,是所观察到的用户特征兴趣向量。这里的第个元素衡量对特征的关注程度。同样,V中的每个物品都被表示为,其中物品特征向量衡量在这些特征上的具体表现。根据评论的时间和评论特点中的感情倾向来计算席和。
输出: 给定一个用户和物品,模型的输出包括预测的评分和个性化的特征级解释,其中是的子集。向用户展示的最终解释如下。
模型
给定一个显式的特征层次结构,可以构建深层次专注多视角学习模型(DEAML)能够 - 准确预测评分和 给出有用解释。
步骤1 Prediction with Attentive Multi-View Learning.
通过最小化评分预测误差来建立DEAML模型。模型的架构如上图所示。对于每个用户,使用和构建一个用户特性兴趣层次结构(上图A部分)。
虽然在一定程度上反映了用户兴趣,但由于数据稀疏性、数据中的噪声以及特征语义的重叠,它是不准确的。为了提高准确率,作者提出了一种基于用户注意力的分层传播方法hierarchical propagation,该方法在层次上表示用户兴趣。类似地,对于每个物品j,通过沿着Υ的边缘传播yj来构建物品特征质量层次结构(上图C部分)。
为了有效地利用这两个层次来预测评分,提出了一个注意的多视角学习框架。如图2B所示,不同层次级别的特性被视为不同的视图。来自多个视图的预测被联合调整,以加强它们之间的一致性。考虑到用户的兴趣在不同层次上分布不均,我们通过仔细整合多个视图的结果来计算最终的预测。分层传播和注意多视角学习共同优化,使得我们能够以端到端的形式同时推断用户偏好和预测评分。
步骤2:Personalized explanation generation 个性化解释生成
使用DEAML模型生成解释。首先定义候选特征的效用函数,它综合考虑了用户兴趣特征、项目特征质量和不同视图的注意得分。然后将解释生成作为一个约束树节点选择问题,提出了一种动态规划算法来有效地解决它。
具体细节
分层传播机制 hierarchical propagation
该方法主要是为了构造分层的用户兴趣特征或物品特征
构建用户特征兴趣层次的直接方法是将中的元素映射到。具体来说,对于中的每个特征,我们可以假设用户对的兴趣等于,即中的元素。由于是通过计算在用户所写评论中出现的次数来计算的,因此该方法在一定程度上捕获了用户的兴趣。然而,由于数据的稀疏性、数据中的噪声和特征语义的重叠性,构建的用户特征兴趣层次可能不准确。例如,对肉感兴趣的用户可能经常评论牛肉和猪肉,但很少提到肉这个词。
为了解决这个问题,通过在中传播来推断用户的真实兴趣。对于每一位父节点,我们通过用户注意力机制来计算:
笔者注: 这块看起来很复杂,其实可以这样来理解其内容: 对于不同层级的特征,要构建不同的特征向量,最初的向量仅仅是通过统计得到的,忽略了上下层的关联,所以就用attention机制,将子节点的特征与当前节点特征做一个整合;这样每一层就得到一个新的特征向量表示,当然那么最下面的叶节点层应该是没有变化的;这样就得到了用户的层次特征表示,总体来看是比较合理的
Attentive Multi-View Learning
在获得用户特征兴趣和物品特征质量的准确建模后,基于预测用户对物品的喜爱程度,设计了多视图注意力学习框架。
首先介绍如何根据单个视图中的信息来预测评分。 每个视图都由相同层次级别的特性组成。我们首先从一个视图来考虑评分预测。假设在级别有特性,可以得到局部的用户-特征兴趣向量以及物品特征质量向量.
在此基础上,使用拓展的EFM模型做评分预测,与协同过滤相比,EFM通过增加一组从显式特征中学习到的潜在因子来丰富用户和物品的表示。具体而言,在第层用户embedding为,那么其中的是从显式特征学习得到的向量,而则是隐式向量,将二者做向量拼接即可。相应的,对于物品则有
利用显式因子去拟合(使用),利用去拟合(使用),其中是h层特征的投影矩阵,传统的EFM直接预测用户i的等级
Co-regularization loss
然后我们考虑多个视图中的模型如何相互补充。基于共识原则,旨在最大限度地达成多视角的一致性,多视角学习的一个常见范式是共同正则化 co-regularization。实际上,分布在不同视图中的信息从多个方面描述了用户特征兴趣和项目特征质量的内在特征。我们可以通过加强多个观点预测之间的一致性来规范多个观点的学习。可以利用互补信息来帮助学习每个视图。通过执行两个相邻视图之间的协议,co-regularization loss 为:
Joint Learning
来自多个视图的预测应该结合起来进行最终预测。一种方法是平均所有视图的预测。但是,这假设每个视图对评级的贡献相等。事实上,不同的观点在不同的抽象层次上揭示了用户特征兴趣和项目特征质量。感兴趣的程度也因用户和物品而异。一些用户可能更关心一般特征(例如食物和服务),而另一些用户可能更喜欢特定特征(例如牛肉)。这对项目也是一样的。视图并不是同样有用,应该分配不同的权重。权重的确定取决于用户项目的特定方式,以考虑用户的兴趣和项目的质量。因此,我们使用注意机制来组合多个视图。设表示视图的维one-hot向量:
Personalized Explanation Generation 个性化解释生成
个性化解释生成的目标是从中选择对帮助用户确定是否要尝试物品最有用的个特征。
选择在多个层次中分布的特征具有挑战性,因为1)用户的兴趣在不同层次上分布不均,2)我们需要避免选择语义重叠的特征。
在这一节中,我们首先介绍效用函数,它估计每个特性的有用性。然后,将特征选择问题描述为一个约束树节点选择问题,并提出了一种动态规划方法来有效地解决该问题。
Utility Function
给定用户和物品,在判断特征是否有用时考虑三个因素:
•用户是否对感兴趣。
•物品在上的表现如何。
•所属视图的权重。
那么定义对于在特征上的效用分数为:
对于根特征,效用得分设置为0,因为它没有具体的含义。这个效用函数结合了上述三个因素。
Constrained tree node selection 约束条件下的节点选择
然后选取T个特征来生成解释,目标就是最大化节点的效用得分之和;此外,还要求特征(如牛肉)不能与其父/祖先节点特征在Υ(如肉)中同时选择,因为它们是完全重叠的。从数学上讲,我们把每一个解释生成描述为一个约束树节点选择问题:
通过动态规划算法解决该问题
设表示通过 选择根为的子树中的t个节点,可以获得的最大效用。 来表示的第个子特征的id,使用来表示通过从的前个子特征中选择节点可以获得的最大效用,并使用来表示的子特征总数。
实验
实验部分需要验证两个特性:准确性和可解释性效果
至于可解释性部分的研究,将评估模型的解释在帮助现实世界用户做出更好决策方面的有用性。
具体的评测结果如下:DEAML的满意度有明显的提升在一家数据注释公司的帮助下,我们招募了20名参与者,他们至少撰写了15篇Yelp评论。他们是独立的,彼此不认识。他们提到的所有关于餐馆的评论都被爬网,并与Yelp数据集中的其他评论合并。两条基线用于比较。第一个基线是PAV,这是著名的“人们也看到了”解释。第二个基线是EFM,它是生成特征级解释的最新方法。我们在合并的数据集上应用我们的方法和基线,随机抽取100家餐厅进行测试。我们保证没有参与者去这些餐馆。对于每个餐厅,我们使用PAV、EFM和DEAML为每个参与者生成三个解释。EFM的模板与DEAML相同,PAV有自己的格式:“人们也查看了这个项目”。EFM和DEAML的T都设置为3。参与者需要根据每个解释在帮助他们决定是否去餐馆时的作用,给出1到5个注释。我们随机地改变解释的顺序,使他们不知道哪种解释来自哪种方法4。
总结
该文提出了一种基于多视角注意力学习的可解释推荐模型,在实际实现中使用知识图谱,构建层次特征结构,基于这种层次结构作者利用注意力机制和EFM模型实现了评分预测和解释生成,在具体的设计中运用很多的技巧,总体而言,创新性十足,在注意力机制和图方面可以有进一步的优化。