编者按:在个性化推荐系统中,如果能在提高推荐准确性的同时生成高质量的文本解释,将更容易获得用户的“芳心”。然而,现有方法通常将两者分开优化,或只优化其中一个目标。为了同时兼顾二者,微软亚洲研究院社会计算组结合认知科学的相关理论,提出了基于互注意力的多任务模型,并用充分的实验证明了模型的有效性。

    文末附论文全文下载链接。

近年来,个性化推荐系统极大地提升了用户遴选信息的效率。人们期望推荐系统能够掌握用户喜好,准确推荐用户感兴趣的商品。研究表明,在推荐的同时提供文字解释可以有效获得用户的信赖,增加推荐系统的说服力与满意度,因此推荐可解释性(explainability)成为新的研究热点。在之前的两篇文章(《可解释推荐系统:身怀绝技,一招击中用户心理》及《可解释推荐系统:知其然,知其所以然》)中,我们探讨了可解释推荐的定义、目标、解释类型等,这篇文章中,我们将介绍我们的最新成果:高质量文本解释生成。

高质量文本解释生成在广泛的行业领域具有强大的应用前景,能够产生丰厚的经济和市场价值。比如在金融交易领域,市场上的潜在交易非常多,目前这类交易大多通过人工经纪方式促成。如果推荐算法准确且可以生成高度可解释的文本(如“出1个亿隔夜,买断质押皆可,中债AA以上,秒到,可拆分,走过路过不要错过”),就可以在极大程度上替代目前的人工判断,帮助挖掘用户的潜在交易对象,还有助于对交易员进行精确画像、促进对交易行为模式的理解、增加交易多样性等。

本研究由微软亚洲研究院与中国外汇交易中心合作完成。中国外汇交易中心是微软亚洲研究院“创新汇”成员,过去一年中,和微软亚洲研究院在金融交易智能辅助系统、金融交易知识图谱等方面开展了深入的合作。本研究中,我们关注可解释性中一个关键问题:如何兼顾准确性和可解释性这两大要素,在生成高质量的文本解释的同时提高推荐准确性。现有方法通常将两者放在分开的两个步骤中单独优化,或是只优化其中一个目标,很大程度上限制了模型的表现。我们以两类应用最广泛的可解释推荐算法为例进行阐释。这两类可解释推荐算法为后处理(post-hoc)和嵌入式(embedded)。

后处理方法(图1(a))侧重于为已有的黑箱推荐模型提供解释。这类方法先优化模型准确性,再根据推荐结果生成解释。这样的方式丢失了推荐模型中包含的丰富信息,往往是通过预定义模板生成解释,既无法反映系统的真实推荐原因,也欠缺多样性,容易让用户觉得枯燥。

图1:不同的可解释推荐系统结果示例

嵌入式方法(图1(b)(c))将解释生成模块整合到推荐模型中,优化目标通常只考虑推荐准确性,解释由对提高推荐准确性最有效的重要特征或是句子构成。这种方法没有在优化目标中考虑可解释性,因此无法保证解释的质量及个性化程度。

那么,如何构建一个联合、统一的框架同时对推荐性和可解释性进行高效优化呢?一个直接的想法就是利用多任务学习。这是因为推荐与解释生成任务都需要对用户兴趣进行精细刻画,我们希望充分利用这两个任务之间的联系,使它们相互促进。

但是,简单地共享两个任务学习中所需的隐向量(比如用户隐向量和商品隐向量)进行多任务学习存在两个问题:一是这样的隐向量本身不包含直观的实际含义,不能在生成解释的时候给予显式约束,会使模型倾向于产生常见的套话(如图1(d)所示);二是简单的隐向量缺乏对用户与商品的深层次交互的学习,其表示能力不足,继而影响到推荐结果和解释生成。我们发现,解决这个问题的关键是要对用户与商品之间的深层次交互进行显式、可解释的建模,并将建模结果作为约束直接影响解释生成和推荐结果。这样不仅能够提高解释效果(如图1(e)所示),还可以促进推荐准确性的提高。

模型框架

受认知科学的相关启发,在IJCAI 2019上,我们提出了一种基于互注意力机制的多任务学习模型CAML。在认知科学中,人类进行信息处理的过程分为三个子阶段:(1)将输入信息进行编制、转换的编码阶段(encoding);(2) 选择编码信息中重要的片段并利用合适的形式(如网络)进行存储的存储阶段(storage);(3) 在实际任务中激活、解码存储的重要信息并依此做出决策的检索阶段(retrieval)。我们将认知科学中的三个阶段分别对应到框架中的三个子部分,设计了包含编码器(encoder)、选择器(selector)、解码器(decoder)三部分的多任务学习架构。其中编码器对应的是对输入信息进行编制、转换的编码阶段;选择器挑选对用户、商品都重要的概念作为推荐及解释任务的共有知识(cross knowledge),对应存储阶段;解码器利用共有知识分别进行推荐和解释生成,对应的是在实际任务中激活存储的重要信息并依此做出决策的检索阶段。

图2:基于互注意力的多任务学习模型 CAML

CAML 的模型框架如图2所示,模型需完成的具体任务是:给定用户u,商品v,以及用户与商品的历史点评信息,预测出用户对该商品的评分r,同时产生一条文字解释阐述用户喜欢或不喜欢该商品的原因。同时,为了提取历史点评中的重要信息及特征,我们利用微软概念图谱(Microsoft Concept Graph)筛选出点评中的重要概念词(concept)。下面我们对编码器、选择器、解码器分别进行具体介绍。

编码器主要由两部分组成:(1)文字编码器将点评中的每个词编码为词向量,综合点评中的全部词向量,我们可以对该点评进行编码;(2)用户及商品隐表示编码器学习用户及商品的隐向量,用这些隐向量对其显式特征信息进行补充。

选择器意在遴选对推荐与解释生成任务来说都很重要的点评以及概念,作为两个任务共有的知识。与强化学习方式相比,多指针互注意力网络能够更好地建模用户与商品的深层信息交互,拥有更好的学习效率及收敛性。受此启发,我们设计了一种层级的多指针互注意力选择器(multi-pointer co-attention selector),仅对重要信息进行保留。

具体地,每个指针(pointer)对应两层互注意力网络,分别选择一个用户或商品概念。我们以选择用户概念为例进行说明,选择商品概念可以以类似的方式进行。第一层互注意力网络,利用点评编码计算用户点评在商品历史点评中的相关程度。综合用户与商品各个点评之间的互注意力,模型便可在点评这一层面挑选出用户最重要的历史点评。由于选择过程中 argmax 函数不可导,难以进行梯度回传,我们采用近期研究工作中提出的 Gumbel Softmax 函数,在正向传播时使用硬性注意力,反向传播中仍保持软性注意力来保证梯度正常回传。在筛选出用户最重要的点评后,我们将点评展开到概念(concept)这一层次,利用第二层互注意力网络计算每个概念的作用,选择点评中最为重要的概念作为对用户点评信息的补充。

考虑到用户在进行评分或点评时可能参考多个历史点评,我们重复单指针选择器的操作,可得到多组点评与概念编码。我们利用非线性层将这些用户及商品编码进行整合,通过选择器获得基于互注意力的用户表示和商品表示,它们与用户及商品的隐向量共同组成了完整的用户及商品表示。

解码器结合用户与商品表示,同时对推荐与解释生成进行优化。推荐任务中,我们使用因子分解机(Factorization machine)计算用户对商品的评分;解释生成中,我们利用循环神经网络 GRU 迭代地生成文字解释,预测的评分也作为输入信息以保持解释与评分的一致性。同时,我们结合选择器中挑出的重要概念词设计了新的代价函数,显式地激励模型生成包含概念词的文字解释,从而提升生成解释的质量及信息量。

综上,我们设计了基于互注意力机制的多任务学习模型,从更深层次刻画了用户与商品的信息交互,能够互补地学习对推荐及解释生成都有作用的历史信息。

实验结果

我们在亚马逊的电器、电影电视以及 Yelp 三个不同类型的公开数据集上对上述模型进行评测。我们采用常见的评价指标 Bleu 和 ROUGE 对生成解释的质量进行评测,将 CAML 与各种主流的解释生成模型进行对比,其结果如表1所示。在三个数据集上,CAML 的各个指标均超过了基准模型,其中 Bleu 得分在最优的基准算法的基础上均取得了14.6%以上的提升。

为了更好地说明 CAML 能够生成高质量的解释,我们还进行了人工评测,其结果如图3所示。与基准模型相比,我们生成的文本解释在流畅性和实用性上都取得了提升。生成的解释样例如表2所示。从表中可得知,我们生成的解释富有信息量,解释中包含的概念与用户的真实兴趣十分契合。这显示出我们设计的“编码器—选择器—解码器”架构和多指针互注意力选择器的有效性,以及建模深层次用户、商品交互和显式限制解释生成对提升解释生成质量的帮助。

表1:三个数据集上解释生成质量的评测结果

图3:三个数据集上的解释生成的人工评测结果

表2:生成解释的样例

我们同时通过常用的 RMSE 评价指标对评分推荐任务进行评测,其结果如表3所示。与主流推荐算法相比,CAML 在各个数据集上均取得了最优的效果。这说明我们提出的架构及通过多层次互注意力建模深层次用户/商品交互在推荐任务中的有效性。

表3:三个数据集上评分预测的评测结果

我们还对模型中的重要模块进行了对比实验。从表1、2中 CAML-G(只保留解释生成任务)、CAML-R(只保留推荐任务)、CAML-C(去除模型中和 concept 有关的模块)与 CAML 的实验结果对比可得知,多任务学习模型的效果强于各单任务学习模型,而引入概念(concept)也提升了相关评测结果,这进一步佐证了我们提出的模型的可靠性。

综上,为了兼顾推荐系统的准确性与可解释性,我们参考认知科学的相关理论提出了基于互注意力的多任务模型,并用充分的实验证明了模型的有效性。目前CAML模型模型尚无法解决推荐系统的冷启动问题,我们将在未来的工作中尝试对此进行改进。

了解更多技术细节,请阅读我们的论文:

Co-Attentive Multi-Task Learning for Explainable Recommendation

论文链接:https://www.microsoft.com/en-us/research/uploads/prod/2019/05/caml_camera_ready.pdf

「 更多干货,更多收获 」

结合知识的推荐系统.pdf

推荐系统系列教程之十四

推荐算法不够精准?让指数图谱来帮忙

微软开源项目提供企业级可扩展推荐系统实践

【电子书分享】推荐系统实践-项亮.pdf

每天超50亿推广流量、3亿商品展现,阿里妈妈的推荐技术有多牛?

今日头条推荐系统原理

关注我们

智能推荐

个性化推荐技术与产品社区

长按并识别关注

一个「在看」,一段时光????

IJCAI 2019 | 为推荐系统生成高质量的文本解释:基于互注意力机制的多任务学习模型...相关推荐

  1. 墙裂推荐一个高质量的数据分析学习平台

    墙裂推荐一个高质量的数据分析学习平台 大家好,我是Peter呀~ 这是一篇无关任何技术的文章,主要是将近期自己写作的文章和资料进行了整理和汇总.也推荐下一个python数据分析的平台:尤而小屋 Pan ...

  2. 高质量的文本链接一样可以提高网站排名

    1.纯文本链接可以添加百度引擎相关域   站长在查询网站反向链接时,都是决计的看百度的外链,而所谓的百度外链也就是百度的相关域.所以,站长在查询反向链接时就是在查询百度的相关域.巨匠都知道,在百度使用 ...

  3. 真心推荐一些高质量原创号

    原创不易,优质原创更不易,今天给大家推荐几个优质的公号,这些公号都是我一直关注的高质量原创号,相信对大家会有不小的帮助,强烈建议关注! 1. 小浩算法 小浩是我的好朋友.不到半年的时间,已经输出了 1 ...

  4. 【华为云技术分享】如何设计高质量软件-领域驱动设计DDD(Domain-Driven Design)学习心得

    DDD做为软件设计方法于2004年提出,一直不温不火,最近几年突然火起来了,为啥呢?正所谓机会给有准备的人,因为微服务的流行,大家都跃跃欲试把传统单体软件转成微服务架构,但理论很丰满,现实很骨感,光是 ...

  5. 数字化与高质量发展之百年大变局下的科技创新--学习王坚院士讲座的记录和读后感

    关于数字化转型,现在只是刚刚开始,世界上第一个完成数字化转型的城市是在中国发生的,目前我们还是处于电力时代,目前的经济指标还是通过电力指数衡量出来的,展望未来,数字化时代是一次全新的时代,那个时候叫做 ...

  6. 从知识图谱到文本:结合局部和全局图信息生成更高质量的文本

    论文标题: Modeling Global and Local Node Contexts for Text Generation from Knowledge Graphs 论文作者: Leonar ...

  7. SIGIR2020|基于自注意力机制和多鉴别器的序列推荐

    Sequential Recommendation with Self-Attentive Multi-Adversarial Network https://arxiv.org/pdf/2005.1 ...

  8. 降噪耳机推荐,高质量降噪蓝牙耳机分享

    ​日常生活中,噪音无处不在.长期处于噪声环境下,不仅会损伤听力,还会诱发头痛.耳鸣.失眠易惊醒等神经衰弱症状,地铁的吵闹.广场的喧哗.汽车的噪音使人疲劳迟钝,工作效率下降,在这个时候,就非常需要一款降 ...

  9. 程序员自学编程,推荐一些高质量自学网站?

    小伙伴们周末快乐. 今天分享一波适用于编程开发学习的自学网站,主要涉及编程学习和练手 . 提问交流 . 计算机公开课 . 在线刷题 .以及 问题搜索 等几个方面,希望能有帮助. LeetCode 正所 ...

最新文章

  1. nginx + openssl 搭建需要身份验证的文件下载服务器
  2. C++学习笔记目录链接(持续更新中)
  3. Ztree手风琴效果(第三版)
  4. PTA21、K好数 (10 分)
  5. ZooKeeper 3.4.5 分布式环境搭建
  6. MySQL实现SQL Server排名函数
  7. MacBook pro HTML 编写,老司机血泪劝告:买MacBook Pro一定不要买顶配!
  8. 直线型一阶倒立摆1---概念篇
  9. 985学生:为什么现在学校还在教C语言?| 文末送书
  10. Unity 3D——打包复用资源(.unitypackage文件)
  11. VBA和VBScript的AES加密算法
  12. linux下bluetooth编程(一)基础概念
  13. 【Linux】在Xilinx平台上实现UVC Gadget(2)- 解决dwc3驱动bug
  14. 点融CTO孔令欣:技术不是最重要的领导力
  15. 一文了解BLDC与PMSM的区别
  16. 根据ID获取商品详情原数据(拼多多)
  17. 新建STM32工程报错 warning: At end of source: #12-D: parsing restarts here after previous syntax error
  18. vue项目如何减少app.js和vender.js的体积
  19. 一个电路分析(设计经典的单片机采样电阻 C8051F330内部具有10位高精度的A/D转换器)
  20. 标志寄存器df_标志寄存器的概念

热门文章

  1. SAP License:HP面试手记
  2. 赛锐信息:SAP ABAP 屏幕导航
  3. 智慧城市、智慧园区、智慧交通、行业经营看板、运行管理大屏、图表模板、公司经营看板、大屏可视化、BI可视化模板、智慧工厂、办公、能源、餐饮、校园、人力资源、行政、汽车、房地产、保险、医院、axure原型
  4. SPOJ COT2 (树上莫队)
  5. File类的构造方法:三种重载形式(新手)
  6. 关于Ajax的get与post浅分析,同步请求与异步请求,跨域请求;
  7. 上周热点回顾(10.8-10.14)
  8. uiautomatorviewer 查看元素新思路
  9. Palindrome Degree(hash的思想题)
  10. 中文文本聚类(切词以及Kmeans聚类)