可解释性推荐(1): 基于多视角注意力学习 Explainable Recommendation through Attentive Multi-View Learning

本文是自己在推荐系统研究中研读的论文翻译及解读,原文: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)。其基本思想是基于可解释的深层结构(如知识图)建立初始网络,并通过优化可解释结构中的关键变量(如节点重要性和相关性)来提高精度。

问题定义

输入:模型输入包括用户集\mathbf{U},物品集\mathbf{V}和显式特征层次结构Υ
定义1:显式特征层次结构是一棵树,每个节点F_l是物品(例如,餐厅)的显式特征或方面(例如,肉)。
每条边都是一个元组(F_{l1},F_{l2}),表示子节点F_{l1}(例如牛肉)是父节点F_{l2}(例如肉)的子概念。我们将Υ中的节点集表示为F,其中F=\{F_1,…,F_L\}, L表示Υ中的节点总数。

构建Υ的方法
文章利用微软的概念图谱,这是一个广泛使用的知识图谱,有超过500万个概念和8500万个“is a”关系(例如,catisa animal)

首先将评论文本的n-grams映射到concept图中的概念。只有那些与评级高度相关的常用概念才被保留下来,并被视为显式特征。然后,我们递归地搜索概念图谱中的显式特征,并利用“IsA”关系来构建。平均来说,Υ的深度是5。

定义2: 每个特征的层次级别。F_l的层次级别h_l是基于其子节点递归定义的:h_l=max_{F_c∈children(F_L)}h_c+1。如果F_l是一个叶,则其层次级别设置为1。设H表示Υ中内部节点的最大层次级别。

此外,还有两种类型的输入U,V。U中的每个用户被表示为元组(i,x_i),其中i是用户ID,x_i \in \mathbb{R}^L是所观察到的用户特征兴趣向量。这里x_i的第l个元素衡量对特征F_l的关注程度。同样,V中的每个物品都被表示为(j,y_j),其中物品特征向量y_j \in \mathbb{R}^L衡量j在这些特征上的具体表现。根据评论的时间和评论特点中的感情倾向来计算席和x_i,y_j
输出: 给定一个用户i和物品j,模型的输出包括预测的评分\hat{r}_{ij}和个性化的特征级解释E,其中E=\{F_{l1},…,F_{lT}\}F的子集。向用户展示的最终解释如下。

模型

给定一个显式的特征层次结构Υ,可以构建深层次专注多视角学习模型(DEAML)能够 - 准确预测评分和 给出有用解释。

步骤1 Prediction with Attentive Multi-View Learning.

通过最小化评分预测误差来建立DEAML模型。模型的架构如上图所示。对于每个用户i,使用Υx_i构建一个用户特性兴趣层次结构(上图A部分)。

虽然x_i在一定程度上反映了用户兴趣,但由于数据稀疏性、数据中的噪声以及特征语义的重叠,它是不准确的。为了提高准确率,作者提出了一种基于用户注意力的分层传播方法hierarchical propagation,该方法在层次上表示用户兴趣。类似地,对于每个物品j,通过沿着Υ的边缘传播yj来构建物品特征质量层次结构(上图C部分)。

为了有效地利用这两个层次来预测评分,提出了一个注意的多视角学习框架。如图2B所示,不同层次级别的特性被视为不同的视图。来自多个视图的预测被联合调整,以加强它们之间的一致性。考虑到用户的兴趣在不同层次上分布不均,我们通过仔细整合多个视图的结果来计算最终的预测。分层传播和注意多视角学习共同优化,使得我们能够以端到端的形式同时推断用户偏好和预测评分。

步骤2:Personalized explanation generation 个性化解释生成

使用DEAML模型生成解释。首先定义候选特征的效用函数,它综合考虑了用户兴趣特征、项目特征质量和不同视图的注意得分。然后将解释生成作为一个约束树节点选择问题,提出了一种动态规划算法来有效地解决它。

具体细节

分层传播机制 hierarchical propagation

该方法主要是为了构造分层的用户兴趣特征或物品特征

构建用户特征兴趣层次的直接方法是将x_i中的元素映射到Υ。具体来说,对于Υ中的每个特征F_l,我们可以假设用户iF_l的兴趣等于x_{il},即x_i中的l-th元素。由于x_{il}是通过计算F_l在用户i所写评论中出现的次数来计算的,因此该方法在一定程度上捕获了用户的兴趣。然而,由于数据的稀疏性、数据中的噪声和特征语义的重叠性,构建的用户特征兴趣层次可能不准确。例如,对肉感兴趣的用户可能经常评论牛肉和猪肉,但很少提到肉这个词。

为了解决这个问题,通过在Υ中传播x_i来推断用户的真实兴趣\tilde{x}_i。对于每一位父节点F_l,我们通过用户注意力机制来计算\tilde{x}_{il}

相似地,对物品也按照这种方法得到层次表示。

笔者注: 这块看起来很复杂,其实可以这样来理解其内容: 对于不同层级的特征,要构建不同的特征向量,最初的向量仅仅是通过统计得到的,忽略了上下层的关联,所以就用attention机制,将子节点的特征与当前节点特征做一个整合;这样每一层就得到一个新的特征向量表示,当然那么最下面的叶节点层应该是没有变化的;这样就得到了用户的层次特征表示,总体来看是比较合理的

Attentive Multi-View Learning

在获得用户特征兴趣和物品特征质量的准确建模后,基于\tilde{x}_i,\tilde{y}_j预测用户i对物品j的喜爱程度,设计了多视图注意力学习框架。
首先介绍如何根据单个视图中的信息来预测评分。 每个视图都由相同层次级别的特性组成。我们首先从一个视图来考虑评分预测。假设在h级别有L_h特性,可以得到局部的用户-特征兴趣向量\tilde{x}_i^h \in \mathbb{R}^{L_h}以及物品特征质量向量\tilde{y}_j^h \in \mathbb{R}^{L_h}.

在此基础上,使用拓展的EFM模型做评分预测,与协同过滤相比,EFM通过增加一组从显式特征中学习到的潜在因子来丰富用户和物品的表示。具体而言,在第h层用户embedding为u_i^h=p_i^h\bigoplus c_i^h \in \mathbb{R}^k,那么其中的p_i^h是从显式特征学习得到的向量,而c_i^h则是隐式向量,将二者做向量拼接即可。相应的,对于物品则有v_j^h=q_j^h\bigoplus d_j^h \in \mathbb{R}^k

利用显式因子p^h_i去拟合\tilde{x}^h_i(使用Z^hp^h_i),利用q_j^h去拟合\tilde{y}_j^h(使用Z^hq_j^h),其中Z^h \in \mathbb{R}^{L_h \times k_1}是h层特征的投影矩阵,传统的EFM直接预测用户i的等级

具体的loss设计如下,包括评分误差项和拟合误差项

Co-regularization loss
然后我们考虑多个视图中的模型如何相互补充。基于共识原则,旨在最大限度地达成多视角的一致性,多视角学习的一个常见范式是共同正则化 co-regularization。实际上,分布在不同视图中的信息从多个方面描述了用户特征兴趣和项目特征质量的内在特征。我们可以通过加强多个观点预测之间的一致性来规范多个观点的学习。可以利用互补信息来帮助学习每个视图。通过执行两个相邻视图之间的协议,co-regularization loss 为:

Joint Learning
来自多个视图的预测应该结合起来进行最终预测。一种方法是平均所有视图的预测。但是,这假设每个视图对评级的贡献相等。事实上,不同的观点在不同的抽象层次上揭示了用户特征兴趣和项目特征质量。感兴趣的程度也因用户和物品而异。一些用户可能更关心一般特征(例如食物和服务),而另一些用户可能更喜欢特定特征(例如牛肉)。这对项目也是一样的。视图并不是同样有用,应该分配不同的权重。权重的确定取决于用户项目的特定方式,以考虑用户的兴趣和项目的质量。因此,我们使用注意机制来组合多个视图。设I_h表示视图hH维one-hot向量:

通过注意力机制获取最终的预测评分,因此最终的Loss如下,结合不同任务的loss和L2正则化方法:

Personalized Explanation Generation 个性化解释生成

个性化解释生成的目标是从Υ中选择对帮助用户i确定是否要尝试物品j最有用的T个特征。
选择在多个层次中分布的特征具有挑战性,因为1)用户的兴趣在不同层次上分布不均,2)我们需要避免选择语义重叠的特征。

在这一节中,我们首先介绍效用函数,它估计每个特性的有用性。然后,将特征选择问题描述为一个约束树节点选择问题,并提出了一种动态规划方法来有效地解决该问题。

Utility Function
给定用户i和物品j,在判断特征F_l是否有用时考虑三个因素:
•用户i是否对F_l感兴趣。
•物品jF_l上的表现如何。
F_l所属视图的权重。
那么定义对于<i,j>在特征F_l上的效用分数为:

其中分别使用显式因子
Z^hp_i^h
Z^hq_j^h
表示用户-兴趣特征和物品-特征,而
w_h
表示第
h
层的注意力权重;

对于根特征,效用得分设置为0,因为它没有具体的含义。这个效用函数结合了上述三个因素。
Constrained tree node selection 约束条件下的节点选择
然后选取T个特征来生成解释,目标就是最大化节点的效用得分之和;此外,还要求特征(如牛肉)不能与其父/祖先节点特征在Υ(如肉)中同时选择,因为它们是完全重叠的。从数学上讲,我们把每一个解释生成描述为一个约束树节点选择问题:

对于
Anc(l_1,l_2)
,若
l_2
l_1
的祖先节点,则返回1;

通过动态规划算法解决该问题
G(l,t)表示通过 选择根为F_l的子树中的t个节点,可以获得的最大效用。 ID_{ls} 来表示F_l的第s个子特征的id,使用J(l,s,t)来表示通过从F_l的前s个子特征中选择t节点可以获得的最大效用,并使用s来表示F_l的子特征总数。

实验

实验部分需要验证两个特性:准确性和可解释性效果



至于可解释性部分的研究,将评估模型的解释在帮助现实世界用户做出更好决策方面的有用性。

在一家数据注释公司的帮助下,我们招募了20名参与者,他们至少撰写了15篇Yelp评论。他们是独立的,彼此不认识。他们提到的所有关于餐馆的评论都被爬网,并与Yelp数据集中的其他评论合并。两条基线用于比较。第一个基线是PAV,这是著名的“人们也看到了”解释。第二个基线是EFM,它是生成特征级解释的最新方法。我们在合并的数据集上应用我们的方法和基线,随机抽取100家餐厅进行测试。我们保证没有参与者去这些餐馆。对于每个餐厅,我们使用PAV、EFM和DEAML为每个参与者生成三个解释。EFM的模板与DEAML相同,PAV有自己的格式:“人们也查看了这个项目”。EFM和DEAML的T都设置为3。参与者需要根据每个解释在帮助他们决定是否去餐馆时的作用,给出1到5个注释。我们随机地改变解释的顺序,使他们不知道哪种解释来自哪种方法4。

具体的评测结果如下:DEAML的满意度有明显的提升

总结

该文提出了一种基于多视角注意力学习的可解释推荐模型,在实际实现中使用知识图谱,构建层次特征结构,基于这种层次结构作者利用注意力机制和EFM模型实现了评分预测和解释生成,在具体的设计中运用很多的技巧,总体而言,创新性十足,在注意力机制和图方面可以有进一步的优化。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容