推荐系统 | (3) 可解释推荐系统---身怀绝技,一招击中用户心理

2023-11-09 17:48

本文主要是介绍推荐系统 | (3) 可解释推荐系统---身怀绝技,一招击中用户心理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文地址

原文作者:王希廷、谢幸

推荐系统被广泛应用在电商网站、社交网络、生活服务网站、搜索引擎等平台。一个好的推荐系统不仅需要准确地把握用户的需求,推荐给用户想要的内容,更需要学会与用户沟通,了解用户心理,以用户容易接受的方式给出适当的推荐。

本文中,微软亚洲研究院的研究员王希廷和谢幸将为大家详解可解释推荐系统的分类、推荐解释生成方法以及面临的机遇和挑战。

《战国策》中有个有趣的故事:当年赵国被入侵,只有送出质子才能求来救兵。但是赵太后特别疼爱小儿子,怎么也不愿意让他当质子。大臣们越是劝谏,赵太后就越是愤怒。这时候触龙出面,成功说服了赵太后,让她的爱子出质于齐,换来救兵。他到底是如何做到的呢?

这个故事其实跟我们最近进行的推荐系统的研究非常相关。如果把“送出质子”当作一个推荐给太后的策略,那么故事的关键不在于推荐内容的好坏,而在于对推荐内容的解释。如果要让赵太后这样顽固的用户接受这个推荐,关键点是什么?

触龙给出的答案是:沟通方式、用户心理、合适例证。让我们详细看看他是怎么做的。

触龙刚见到赵太后就开始话家常,说:“我老啦,有个小儿子年龄很小,真是担心他的未来啊。”赵太后问:“你们男人也很宠爱小儿子吗?”触龙说:“比女人更宠呀。我认为赵太后更喜欢您的女儿,而不是小儿子。”赵太后表示不认同。触龙解释道:“您送公主出嫁的时候,尽管伤心,但也希望她不要被赶回来。这还不是为她的长远未来打算?”赵太后同意。触龙又说:“但是您却没怎么为长安君计划未来。您看赵国刚建立时的诸侯王,他们的子孙还有享受爵位的吗?其他国家的呢?”赵太后想了想,表示没有。触龙又说:“那是因为他们荣华富贵太甚,又没有什么功劳的缘故。您现在让长安君有如此高的地位,却不让他有功于国,一旦您驾崩了,长安君凭什么在赵国立足呢?”听了这番话后,赵太后同意了将长安君作为人质。

我们可以在这个故事里看到两类推荐系统。一类是朝廷大臣这种传统的推荐系统(下图(a)),将重心放在提高推荐准确性上,与推荐对象的沟通考虑得不够;而另一类是触龙这种可解释的推荐系统(下图(b)),能够以用户容易接受的方式(话家常),充分抓住用户心理(父母爱自己的小孩,应该为他们长远未来考虑),给出适当的例子(赵太后送公主出嫁)与用户沟通。研究发现,这样的系统不仅能够提升系统透明度,还能够提高用户对系统的信任和接受程度 、用户选择体验推荐产品的概率以及用户满意程度等等。
在这里插入图片描述
在这里插入图片描述
设计一个像触龙这样可解释的推荐系统是我们的终极目标。目前,这个方向进展如何呢?未来,有什么比较好的研究课题呢?下面,我来介绍一下可解释推荐的分类、推荐解释生成方法以及可解释推荐面临的机遇和挑战。

可解释推荐的分类

一般来说,可解释的推荐分为下图所示的三大类:以物品为媒介、以用户为媒介、以及以特征(属性)为媒介。
在这里插入图片描述
物品为媒介的推荐解释用一句话表述是“这个推荐物品和您喜欢的其他物品相似”。在赵太后的故事中,触龙用了类似的推荐解释: “派长安君做人质”这个推荐策略与赵太后曾经采用过的策略(送公主出嫁)相似。这类解释在各大网站上如亚马逊、Netflix等有较为广泛的应用。它的展现方式常常是一个曾经购买、评论或者浏览物品的列表,列表中的物品和目前推荐的物品比较相似。研究表明这类方法能够增加系统的被接收程度。但是这类推荐解释的问题是用户有时可能难以找到物品之间的关联,另外用户有时可能希望看到一些自己没有购买过的、不一样的物品。

用户为媒介的推荐解释用一句话表述是“跟您相似的用户都喜欢该推荐物品”。在赵太后的故事中,这个与赵太后相似的用户就是也宠爱小儿子的触龙。这类推荐解释展现形式多种多样,生成解释时也往往用到社交信息。微软研究员Amit Sharma等人对四种社交理由进行了用户测试,这四类理由是整体热度(2,612,211位Facebook 用户喜欢它)、朋友热度(您的朋友中有7人喜欢它)、好朋友(张三喜欢它)、好朋友及个数(张三和其他5位您的朋友喜欢它)。最终发现后两种解释方式效果对提升说服力效果最好。使用这两种解释方式时,选择一个正确的朋友非常重要。如果只是随机选择一个朋友,说服力反而会降低。以用户为媒介的推荐解释与以物品、特征为媒介的推荐解释相比,最能说服用户对推荐物品进行评估,但是对用户实际使用物品后喜爱程度影响比较小。如果推荐的物品用户不够喜欢,反而会降低用户的满意程度。

特征为媒介的推荐解释用一句话表述是“您可能喜欢推荐物品的这些特征”。在赵太后的故事中,触龙抓住了赵太后最关心的特征——子孙的长远利益——进行推荐,从而使得赵太后接受了推荐。这类推荐解释常见的表现形式是将推荐物品中用户感兴趣的主要特征进行列举(如下图)。研究表明这类推荐解释有助于用户准确判断是否喜欢推荐物品,与前两类推荐解释相比,用户对这类推荐的满意度更高。这类推荐需要判断物品特征以及用户对不同特征的感兴趣程度,从而找到最适合用于解释的特征,因此建模粒度更细,也是目前的研究热点。
在这里插入图片描述
除了上述三种推荐解释以外,还有结构化概览式推荐以及对话式推荐等。其中,结构化概览式推荐将推荐物品用有组织的、可视化的形式呈现给用户,让用户可以看到各个推荐物品的特性和分布,从而在充分了解以后做出挑选。对话式推荐是在与用户聊天时进行推荐、解释、收集用户反馈,有着较高的接受度,也可以很好地解决冷启动问题。这是一个新兴的研究方向,我们也在做一些尝试,将在后文进行讨论。

推荐解释生成方法

刚刚我们谈到了几类推荐解释,其中以特征为媒介的推荐解释建模粒度较细,模型也日趋成熟。接下来重点介绍一下这类推荐解释的生成方法。

生成基于特征的推荐解释时,关键是特征的提取。早期的方法借助一些显式的物品特征,例如事先确定的物品分类、关键词、以及标签信息。在挑选特征进行解释时,主要是综合两个指标:第一是用户对特征的感兴趣程度,第二是推荐商品与特征的相关程度。第一点需要非常了解用户心理,第二点需要对商品进行精确建模,综合两点考虑,才能像触龙一样击中用户内心。早期方法对这两者分别计算之后进行合并,从而找出推荐物品以及解释。这类方法的问题之一是特征的可描述性(Descriptiveness)可能不够。另外这些方法采用的推荐模型还比较简单,一些精巧的、复杂的推荐系统难以用这样的方法进行解释。

为了解决上面的问题,近期一些工作开始利用网上丰富的评论文本进行可解释性的推荐。他们的主要思想是从评论中抽取用户最感兴趣的物品特征,并且将这些特征加入到目前的推荐系统中进行统一建模。其中一个较新的方法是Explicit Factor Model(EFM)。如上图所示,这个方法首先利用词级别的情感分析找出用户评论中提到物品的显式特征(Explicit Features,如Screen、Earphone、Battery)及用户对这些特征的情感倾向(正面或者负面)。利用这个信息,可以构建用户-特征矩阵X以及物品-特征矩阵Y。这两个稀疏矩阵可以用三个低维矩阵U1、U2、V进行建模。这里V中每一行记录了一个显式特征的隐式表达(Latent Representations)。U1(U2)即记录用户(物品)与显式特征隐式表达之间的关系。除了显式特征以外,还有一些隐含特征(Hidden Factors)可能是评论中没有提到的,这些特征用额外的H1、H2矩阵表示。将U1、H1进行拼接就构成了用户与物品所有特征的隐式表达之间的关系,U2、H2也是类似的。该模型希望能够通过这些矩阵拟合用户-物品的评价矩阵A。
在这里插入图片描述
在这里插入图片描述

可解释推荐的机遇与挑战

作为推荐领域被探索得较少的一个方向,可解释推荐的很多方面值得研究与探索。目前,我们在考虑从下面三个方面进行研究。

解释含有深度神经网络的推荐模型。目前可解释推荐的系统往往是基于较浅层的图模型或者矩阵分解模型,对于含有深度神经网络的复杂、混合模型的解释能力还不够。我们在考虑借鉴对深层卷积神经网络进行解释、分析的技术,将复杂、高级的推荐系统升级为可解释的推荐。

利用知识图谱打通不同媒介之间的关联。现有的可解释推荐所生成的推荐解释往往只局限于以物品为媒介、以用户为媒介或者以特征为媒介中的某一种,对这三类媒介之间的关联挖掘得还不够。我们希望能够利用知识图谱,打通这三类媒介之间的关联,根据具体情况灵活选择其中最合适的媒介对用户进行推荐与解释。这样,我们还可以产生形式更丰富的推荐解释,例如将用户感兴趣的图片也进行展示。

结合生成模型进行对话式推荐。目前的推荐解释往往形式是预先设定、千篇一律的(如预先设定推荐解释是以用户为媒介的)。这样尽管也能根据用户心理举出一些例证,但是在沟通方式上还过于呆板,离触龙那样话家常式的推荐还有很大距离。如果能用生成模型让推荐系统“自创”一句通顺甚至高情商的话,就可以在与用户聊天的过程中进行灵活、多变地推荐解释了。我们团队已经与微软小冰合作,在这方面进行了一些尝试,为小冰生成音乐推荐解释。推荐过程如下图所示:
在这里插入图片描述
我们会从这几个方向出发,不断拓展可解释推荐的深度和广度。希望不久后的某一天,推荐系统都能像触龙那样厉害。

这篇关于推荐系统 | (3) 可解释推荐系统---身怀绝技,一招击中用户心理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/377641

相关文章

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资

TP-LINK/水星和hasivo交换机怎么选? 三款网管交换机系统功能对比

《TP-LINK/水星和hasivo交换机怎么选?三款网管交换机系统功能对比》今天选了三款都是”8+1″的2.5G网管交换机,分别是TP-LINK水星和hasivo交换机,该怎么选呢?这些交换机功... TP-LINK、水星和hasivo这三台交换机都是”8+1″的2.5G网管交换机,我手里的China编程has

Spring Boot 中整合 MyBatis-Plus详细步骤(最新推荐)

《SpringBoot中整合MyBatis-Plus详细步骤(最新推荐)》本文详细介绍了如何在SpringBoot项目中整合MyBatis-Plus,包括整合步骤、基本CRUD操作、分页查询、批... 目录一、整合步骤1. 创建 Spring Boot 项目2. 配置项目依赖3. 配置数据源4. 创建实体类

Java子线程无法获取Attributes的解决方法(最新推荐)

《Java子线程无法获取Attributes的解决方法(最新推荐)》在Java多线程编程中,子线程无法直接获取主线程设置的Attributes是一个常见问题,本文探讨了这一问题的原因,并提供了两种解决... 目录一、问题原因二、解决方案1. 直接传递数据2. 使用ThreadLocal(适用于线程独立数据)

基于Qt实现系统主题感知功能

《基于Qt实现系统主题感知功能》在现代桌面应用程序开发中,系统主题感知是一项重要的功能,它使得应用程序能够根据用户的系统主题设置(如深色模式或浅色模式)自动调整其外观,Qt作为一个跨平台的C++图形用... 目录【正文开始】一、使用效果二、系统主题感知助手类(SystemThemeHelper)三、实现细节

CentOS系统使用yum命令报错问题及解决

《CentOS系统使用yum命令报错问题及解决》文章主要讲述了在CentOS系统中使用yum命令时遇到的错误,并提供了个人解决方法,希望对大家有所帮助,并鼓励大家支持脚本之家... 目录Centos系统使用yum命令报错找到文件替换源文件为总结CentOS系统使用yum命令报错http://www.cppc

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于