摘 要
现有的可解释推荐方法或者忽略了推荐模型本身的运行机制给出后处理的结果,或者只是为某一类推荐模型特别定制的,难以广泛应用于各种推荐模型;更重要的是很难保证解释的展示效果,比如解释的一致性。为了解决这些问题,我们设计了一个可解释推荐的强化学习框架,可以解释任何一个推荐模型(模型无关),而且可以根据具体的应用场景灵活调整解释质量的衡量方式。离线实验显示,本文方法可以很好地解释协同过滤的推荐方法和基于深度学习的推荐模型;人工标注结果显示,所生成解释的有用性远高于基准算法生成解释的有用性。
关 键 字
可解释性;推荐系统;强化学习
0 引言
数十亿网络用户利用推荐系统从海量信息中进行信息过滤,从而挑选自己感兴趣的内容,做出与自己生活息息相关决定。目前,推荐系统已经从各个方面极大地影响了人们生活,包括阅读、商品购买和金融投资等。随着推荐系统越来越多地影响人们的生活,帮助用户更好理解和信任推荐系统的需求也越来越强烈。在这种背景下,可解释推荐方法得到了广泛关注。可解释推荐要求推荐系统在推荐物品的同时还提供推荐理由,这一方面要求推荐系统可以很好地理解用户喜好,根据个性化偏好进行物品推荐;另一方面还要求系统可以把自己推测的用户喜好明确表述出来,从而帮助用户理解推荐原因,并进一步调试和改进推荐系统。推荐解释可以为推荐系统和用户之间构建沟通的桥梁,已经被证明在推荐系统中占有重要的地位。一个好的解释可以帮助用户信任推荐系统,使得用户做出更好的决策,还可以说服用户尝试或者购买被推荐的物品。
现有的可解释推荐方法大致分为两类。后处理的方法在物品已经被推荐以后生成解释。这类方法是通过从一些预先确定的解释模板集中进行挑选,例如“您的7位朋友都喜欢它”。尽管这类推荐解释一般有说服力而且可读性很高,但是它们往往忽略了推荐系统的真实运行机制。另外,这类方法的多样性也受限于预先确定的模板个数。嵌入式方法将解释机制融入到推荐模型的构建过程中。这些解释通常是一些从物品相关信息中,选出来的文字片段或者图片。一般来说,对推荐准确性起到最大贡献的片段会被挑选出来。这类方法产生的解释多样性高,而且可以很好地反映推荐系统的真实运行机制,但是很难保证这类解释的可读性以及解释的一致性。比如很难保证选择出来的解释中包含情感与预测的物品推荐得分一致,即含有正面(负面)情感的解释对应的物品预测得分一定高(低)。另外,嵌入式方法需要针对不同的推荐模型设计不同的解释方法。
由上我们总结了可解释推荐的三个理想特征。
模型无关。模型无关的可解释推荐方法可以灵活解释任何推荐模型,包括复杂的基于深度学习的推荐模型和未来将被设计出来的各推荐模型。
对模型解释能力好。解释方法应该和推荐模型紧密相关,从而保证可以正确体现推荐模型的运行机制。这样可以提高对推荐模型本身的解释能力,更好地理解、调试和改进推荐模型。
解释质量高。在将可解释推荐应用到现实生活中的各个场景时,确保解释质量,比如解释的可读性、一致性和多样性都是非常重要的。理想的情况是设计的方法可以根据具体的应用场景,灵活地调整和控制解释质量。
目前的可解释推荐方法难以同时保证上面三个特征。尽管后处理的方法是模型无关的,并不能保证对模型的解释能力。另外,它们生成解释的多样性比较低,影响解释质量。尽管嵌入式方法有较好的对模型本身的解释能力,这类方法却不是模型无关的;而且嵌入式方法往往不能很好地控制解释质量,例如不能确保解释的一致性。
为解决上述问题,设计了一个可解释推荐的强化学习框架。通过将被解释的推荐模型和解释方法分别看作强化学习中的环境和智能体,可以保证两者结构上独立,且能充分沟通。因此,这个框架是模型无关的,对模型的解释能力好,并且可以灵活控制解释质量。我们定义了这个框架,确定了优化目标,并确保其可以通过双重策略梯度进行优化。
1 问题描述
首先将可解释推荐问题形式化定义如下,这也体现了本框架的适用范围。
1.1 可解释推荐方法的输入
可解释推荐方法的输入包含用户集合 U、物品集合 V 及需要被解释的推荐模型 f 三个方面。
• 一个用户 u∈U 的数学表示包含这个用户的ID,另外还可以包含关于这个用户的一些额外信息,例如用户的性别和年龄等。
• 一个物品 v∈V 由这个物品的 ID i 和一系列可读物品描述构成:v= (i,l1,l2,…,lm)。这里每个可读的物品描述li都可能作为推荐解释展现给用户。例如,如果这个物品是个餐馆,则可以将可读物品描述设定为该餐馆评论中的一句话,或者是这个餐馆的一个重要属性,例如餐馆评分。一条可读物品描述也可以是物品简介文字中的一部分。
• 被解释的推荐模型 f。本文假设 f 用到的是用户的显式反馈。即给定一个用户 u∈U 和一个物品 v∈V,f (u,v) 预测该用户对物品的打分,这个打分反映了 u 有多喜欢 v。本框架也可以通过简单的拓展考虑隐式用户反馈,例如用户的点击。为了生成解释,必须要求物品能表示为一系列可读物品描述。但是并不要求 f 在训练和测试过程中也利用到物品的这些信息。例如,f 完全可以是一个只考虑用户 ID、物品 ID 和评分信息的协同过滤模型。
1.2 可解释推荐的输出
给定用户 u 和物品 v,本方法抽取物品 v 的可读描述中的一部分(一个子集)来构成对 u 推荐 v 的个性化解释。数学上,解释 z 被定义为(z1,z2,…,zm)。这里,zj=1 说明第 j 个可读描述被选为解释的一部分,而 zj=0 表示第 j 个可读描述没有被选入解释。
2 可解释推荐强化学习框架
我们设计的可解释推荐强化学习框架如图1所示。在设计中,被解释的推荐模型被认为是环境的一部分。它和负责生成解释,以及依据解释预测推荐模型对物品打分的两个智能体是分开的。智能体将推荐模型看作黑盒子,从而确保了模型无关特性。为了在这种情况下更好地提高对模型本身的解释性,智能体会和环境进行交互,从而了解生成解释的效果。如果智能体可以依据解释正确预测模型对物品的打分,则认为生成的解释对推荐模型的解释能力强,环境将奖励这样的解释。另外将什么样的解释质量高这样的先验知识也放在了环境中,例如解释是不是理想长度。如果智能体生成解释的质量符合预期,环境也会给智能体一个正面的奖励。通过最大化解释所得到的期望奖励,智能体逐渐学会生成解释质量和对模型解释能力都很高的推荐解释。
图 1 可解释推荐的强化学习框架
下面利用强化学习中的常用术语进一步描述设计的框架。
环境。设计中,环境包含 U、V、f,以及对于解释质量的一些先验知识 K。一个先验知识的例子是解释的长度,例如解释中的理想词数。这些知识中也可以包含不同解释质量衡量方式的相对重要性,例如可读性和一致性所占的权重。因利用了强化学习,K 的形式可以根据不同的应用场景灵活确定。
状态。状态 s 的向量表示被用户和物品的特征表示共同定义 s= (u,v)
智能体。设计了两个智能体,分别用于生成解释;以及确保生成出的解释中包含足够信息,可以用来推断 f 的预测结果,即确保对模型解释能力。这两个智能体分别是生成器 πGθ 和判别器πDv。给定一个状态 s= (u,v),πGθ 负责生成解释 z。
这个解释被展示给用户 u,作为 f 将 v 推荐给他或者她的理由。更具体来说,πGθ 确定了定义在所有可能解释上的一个概率分布:
可读性:可解释推荐研究表明,如果在一个解释中展示过多信息给一个用户,那么这个用户将会因为理解负担过重而不知所措。相应的,我们认为一个可读性高的解释不应该含有过多信息。
3 实验
3.1 离线实验
离线实验中,与基准算法相比,我们的方法能更好地解释各种推荐模型。为了对各个方法有效性进行实验,这里采用了来自不同应用领域的两个公开数据。第一个数据集 Amazon_Toys_and_Games 来自于亚马逊 5-core;
第二个数据集Yelp_2018_LasVegas 来自于 Yelp Challenge 2018。利用提出的框架,设计了生成句子级别解释的智能体,并将设计的方法与两个基准算法进行比较。假设希望挑选 z* 个句子加入到解释中。第一个基准算法 Random 随机从所有的候选句子中挑选 z* 句话;第二个基准算法 NARRE 是一个当前结果较优的可解释推荐方法。
另外设计了两个评测指标。第一个指标 Mc 测量的是解释与评分之间的一致性。它是通过解释的情感得分和推荐模型打分之间的 Pearson 相关性来计算的;第二个评测指标 Me通过将 L(f (u,v),y)相加来定义对模型的解释能力。在离线的实验中没有对可读性进行评测。这是因为基准算法不能动态调整在解释出现的句子个数,所以被设计成能保证 Ωr 永远是 0 的形式。为了保证比较的公平性,所设计方法也通过在解释中随机添加或者删减句子的方式保证 Ωr 永远是 0。
实验中训练了 NMF、PMF、SVD++ 和 CDL四个不同的推荐模型,并且测试不同的解释方法对这些模型 f 的解释效果。除了这四种方法,还测试了本文方法是否能对用户给出的实际评分进行很好的解释(GT)。
表1和表2分别展示了在
Amazon_Toys_and_Games
数据集和Yelp_2018_LasVegas 数据集上的实验结果。结果发现,首先,NARRE 总是比 Random 的方法效果好的,这表明基于注意力的 NARRE 对于挑选有用句子是较为有效的。其次,不管是在解释一致性 Mc,还是对模型解释能力 Me 上,本文方法总是比 NARRE 的效果好。
这是因为NARRE生成的解释不是个性化的,所以 NARRE 对模型的解释能力极大地受到了它不能个性化的限制;此外,NARRE 也无法对解释情感的一致性 Mc 进行优化。利用了强化学习,可以很灵活地将解释一致性融入到奖励中,并且在训练过程中对它进行优化。通过对比不同 f 的Me 值,发现有一些推荐模型比较容易被解释(如SVD++),而另一些推荐模型相对难以被解释(如CDL)。一个推荐模型是否容易被解释,也依赖于用到的数据集和训练时的参数。
3.2 人工标注实验
为了验证解释的有用性,邀请了 4 位至少在Yelp 上写了 20 条餐馆评论的用户,让他们对各个方法生成的解释进行打分。实验前,将他们的评论和评论中涉及到餐馆的评论全部收集起来。这些新收集到的评论会与 Yelp 数据集中的原有评论合在一起。然后从这 4 位实验参与者没有去过的餐馆中随机采样了100 个餐馆用于评测。对于待评测的每个餐馆,用本文方法、NARRE 和Random 生成解释。这些解释被随机打乱以后呈现给4 位实验参与者。他们被要求挑出哪个解释对于他们判断是否会去这个餐馆最为有用。如果他们发现三个解释中有多于一个解释很有用,则让他们把这些有用的解释都标记出来;如果这三个解释中没有一个有用,他们也可以忽略这个餐馆。平均一位参与者忽略了5.5个餐馆。
图2 展示了用户 P1~P4 分别的标注结果,以及4位参与者平均以后的整体结果(图中,%表示该方法被认为是最有用的概率)。这里将所有方法被认为是最有用的频率进行了规范化,确保它们加起来是1。图中的误差棒展示的是标准差。所有的实验参与者都认为我们的方法最有用。另外,与 Random 相比,所有的参与者也倾向于NARRE 更有用。整体结果(overall)显示,我们的方法(42%±2%)比 NARRE(34%±5%)更好,而 NARRE 比 Random(24%±4%)更好。值得注意的是 NARRE 方法的标准差(5%)也明显比我们的方法的标准差(2%)大。这说明我们的方法鲁棒性比较好,对各个用户都比较有效。
图2 不同解释方法生成解释的有用性对比
表3以三个餐馆(物品)为例,展示出了NARRE 和我们的方法生成的解释。如表中所示,我们可以为 P3 生成与食物相关的解释,为 P4 生成与服务相关的解释。通过分析 Yelp 中的评论,发现 P3 对餐馆中的食物最关注,特别是和肉类相关的,而 P4 对餐馆服务和环境更加看重。P3 提到最多的关键词为 chicken、buffet、portions、sushi、beef,而 P4 在评论中提到最多的关键词是 service、pizza、server、table、clean。从表中可以看出,我们的方法可以准确地对用户 P3 和 P4 的兴趣进行建模。对于用户 P3,我们的方法生成了食品相关的解释;对于用户 P4,生成了服务相关的解释。非个性化的方法 NARRE 只能强调其中一个方面。
表3 NARRE和我们的方法生成的解释样例
4 结束语
本文为可解释推荐设计了一个强化学习框架。本框架是模型无关的,可以用于解释各类不同推荐模型;还可以根据具体应用场景灵活控制生成解释的质量,同时保证对推荐模型的解释能力好。近期,我们研究如何利用自然语言处理和知识图谱进一步提高可解释推荐效果,从自然语言处理方面,研究如何在给出推荐的同时,利用 RNN、Transformer 等技术逐字生成信息量较高的解释,研究成果发表Co-Attentive Multi-Task Learningfor Explainable Recommendation。进一步的,希望研究如何将该技术进行拓展,使得为多轮对话式可解释推荐成为可能;从知识图谱方面,研究了如何利用Microsoft Concept Graph,以及异构信息网络进行可解释推荐,部分成果发表在Explainable Recommendation Through Attentive Multi-View Learning。在此基础上,我们还希望如何利用强化学习,在异构信息网络上进行推荐原因的高效推理。
2020年第10卷第7期 AI研究前沿与群体智能计算专题
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.