《推荐系统:技术、评估及高效算法》一1.6 推荐系统与人机交互

简介:

本节书摘来自华章出版社《推荐系统:技术、评估及高效算法》一书中的第1章,第1.6节,作者 [ 美]弗朗西斯科·里奇(Francesco Ricci)利奥·罗卡奇(Lior Rokach)布拉哈·夏皮拉(Bracha Shapira)保罗 B.坎特(Paul B.Kantor),更多章节内容可以访问云栖社区“华章计算机”公众号查看

1.6 推荐系统与人机交互

正如前面阐明的那样,研究人员主要关注一系列技术解决方案的设计,以及利用各种知识库更好地预测目标用户喜欢什么和喜欢的程度。这种研究活动背后的基本假设是仅能展示正确的推荐(也就是最好的选项)就足够了。换句话说,系统给用户推荐,如果是正确的,用户应该明确地接受推荐。很明显,这极度简化了推荐问题,其实把推荐结果传递给用户并不简单。

实际上,因为用户没有足够的知识库做明确的决定,所以才需要推荐。让用户评价系统提供推荐并不是件容易的事情。因此,很多研究人员试图了解让指定用户接受推荐结果的因素[105,30,24,97,33]。

其中[105]第一个指出推荐系统的有效性依赖于很多因素,而不仅仅是预
测算法的质量。实际上,推荐系统必须说服用户去尝试(或听、购买、阅读、看)所推荐的物品。当然,这取决于被选择物品的个体特征,也取决于推荐算法。当物品被推荐、比较、解释(解释为什么被推荐)的时候,该过程也取决于系统支持的特定的人机交互。[105]发现,从用户角度来看,一个有效的推荐系统必须能激发用户对系统的信任;它必须有一个显而易见的系统逻辑(个人理解为系统不能有逻辑错误);它必须指引用户面向新的、用户不熟悉的物品;它必须提供推荐物品的详细信息,包括图片和社区评分;最终,[105]提供改进推荐的方法。

[105]和其他相似方向的研究者并没有忽略推荐算法的重要性,但是他们声称推荐算法的有效性不能仅根据预测结果的准确性(即用标准且流行的IR指标,如MAE、准确度或NDCG)来衡量(见8.5节,第9章)。他们认为涉及用户接受推荐系统以及其推荐结果的其他角度也应该被测量。这些想法在
[33]中也被明确地提出并讨论。在这项工作中,作者提出评价推荐系统要以用户为中心,包括推荐列表的相似度,推荐系统有意外新发现的能力,以及推荐系统中用户需求和期望的重要性。

讨论过[105]提出的观点之后,我们介绍由人机交互研究引出的几个重要观点,我们将在本书中进一步研究人机交互。

1.6.1 信任、解释和说服力

首先讨论信任。本书讨论了关于信任的两种不同概念:对推荐系统其他用户的信任和对推荐系统本身的信任。

第20章集中讨论了第一种观念,并分析了一类叫作“社会化推荐系统”的推荐系统。这些系统试图从用户资料和用户关系中推导出更有用的推荐,这些资料和关系在目前几乎随处可见,如在Facebook、Linkedln和MySpace等社交网站中。由于基于信任的推荐系统主要利用它们在社交网站发现的信任关系来构造新的推荐算法(如[34]),所以它们在核心评分预测问题上只能使用信任关系。这类系统的主要优势是用户可以知道推荐系统的本质是什么,如这些推荐结果是如何确定的,这样用户便会更加信任这些推荐结果。换句话说,我们可以利用用户之间的相互信任来提高用户对推荐系统的信任度。

对推荐系统产生的推荐结果的信任在第15章讨论。该章主要介绍了解释推荐的作用,还介绍了信任是推荐解释在推荐系统扮演的七大作用之一。这七大作用是:透明度,即说明系统是如何工作的;可反馈性,即允许用户告诉系统有错误[50];信任,即增加用户对系统的信心;有效性,即帮助用户做出好的决定;说服力,即说服用户去尝试或购买;高效性,即帮助用户快速抉择;满意度,即增加用户舒适度或乐趣。

该章也阐述了一系列构造解释的方法。如协同过滤方法,其解释的形式是“跟你相似的用户喜欢这个物品”。在基于内容的风格解释中,系统会根据最能代表物品的特征属性把物品推荐给用户。例如,电影推荐系统中,一种推荐形式有可能是“这部电影被推荐是因为你可能喜欢Bruce Wills这个明星”,或者“物品X被推荐是因为你对物品Y和Z评价很高,而Y、Z和X有共同的属性A和B”。用基于案例的解释,系统会引用与推荐物品相似的物品,例如,“这个物品被推荐是因为你说自己拥有物品X”或者“这些物品的推荐是基于你最近浏览的物品”。最后,用基于知识库的风格解释,系统会解释推荐物品和另一个物品的差异,并且会说推荐物品是如何符合用户目标的:“这个房间面朝大海,并且比之前推荐的房间大,这将更加浪漫,如你所愿。”
回到信任的话题上来,我们把它视为实现推荐系统主要目标,即说服用户接受推荐结果并且尝试推荐的物品。这个问题最终与整个推荐系统的说服力有关,即推荐系统的各个因素,包括推荐什么,如何推荐,在人机交互过程中实际是如何运作的。这个话题将在第14章有所讨论。在这里,作者强调说推荐系统应该值得信赖并且经常被人们想到。当人们想到使用推荐系统时,不仅仅是因为他们知道它能产生推荐结果,而且是把它当作一个建议给予者。实际上,关于说服力的文献资料表明人们容易接受来自可靠消息的推荐,所以我们得到结论:推荐系统的可靠性对于增加用户接受推荐结果的可能性是至关重要的。因此,作者讨论了推荐系统的可信度是如何提高的,并且提供了有关信任度研究的概要。

1.6.2 会话系统

推荐系统算法的另一个严格限制是这些算法被设计为一次性收集输入数据,而且一旦返回推荐结果便结束整个过程。在很多情况下,这种模型会失效,因为用户还不能完全意识到自己的喜好,除非他们与系统进行一定程度交互并且大致了解选择的范围。或者在确信一些可能适合自己的推荐之前会浏览更多的可选择的选项。这也可能意味着系统一开始的推荐就是错误的,但用户可能愿意提供额外的信息用于修复这些问题,最终得到一些好的推荐。
这些问题已经得到了致力于“会话式推荐系统”[27,110,67,60]的研究人员的重视并解决。会话式推荐系统为预测评分或排序使用了各种技术。然而,这些技术都在试图提供交互过程,该过程中,用户和系统能彼此查询或提供信息。最具决定性的问题是如何设计这个会话(也就是会话策略),以及如何设计用户和系统在交互的各个阶段必须执行的动作。提供的会话必须有效,即当用户终止会话时应该得到解决方案(如预订机票),而且速度要快(会话步骤较少)。在本手册中,有两章处理这一重要话题。

第13章提供了基于评价的推荐系统的研究综述。给定一个关于用户偏好信息的初始集(例如,一些物品特征的优选值),基于评价的界面或者会话模型能够展示给用户推荐的物品以及支持用户表述“评价”,例如,“给我展示更多像A的物品,但是比A更便宜”。

基于评价的系统已经在一些领域中得到了很大的关注,在这些领域中,我们需要一个更加复杂且具有交互性的决策/推荐支持系统,如旅游领域[88,32,100]或者计算机系统领域[82,83]。基于评价的系统最初的设计是用于有效地解决用户偏好提取问题的,但是现在已经对其他目的或应用变得非常重要,例如,小组推荐、初始混合推荐、用户自适应交互接口、解释推荐、移动推荐。

另一种与会话系统有关的方法是基于偏好的[67]。基于偏好和基于交互的方法相似,因为他们都是在之前就给用户一些推荐,这些推荐也许不会是最好的,但是总有一部分的物品能引起用户的兴趣。这种额外的信息能帮助提高系统表现用户偏好(用户模型)的能力,从而能使系统产生新的且更好的推荐。

第16章阐述了这些新颖的方法和系统,集中讲了这种基于偏好推荐系统的用户,即系统交互的三个方面:初始偏好提取;偏好修正;推出推荐结果。本章的内容可以作为来源于一些系统的可用性指南的集合,这些指南可被广泛和大规模应用。而且,为了选择指导准则,作者不仅关注准确性这一个指标,还考虑到这样的一个事实:人类的认知资源有限,因此如果需要我们付出过多的努力,将不大可能会得到高准确度的结果。他们选择的方法能产生准确度很高的推荐结果,同时要求的努力程度是我们愿意接受的。
之前提到的方法(基于交互的和基于偏好的)已经主要应用于基于案例的推理系统[22],这类系统的检索部分是依赖相似性度量的。在这种情况下,由于在一定程度上,产品总是跟一个可探测(查询)结果类似,所以一条查询可以检索出目录下的所有产品,并对这些产品进行排序。如果查询语言支持其他限制条件(例如,等同限制或排序限制),查询返回的结果可能不会令人满意[47,71,31]。针对这种情况,研究人员提出了许多技术,这些技术通过放宽约束的最小数量来修复这种查询问题,其目的是使返回的查询结果令人满意。这个课题也在专讲基于约束(第6章)的推荐系统中有所讨论。

1.6.3 可视化

目前,我们重点强调了人机交互问题,而这些问题已经在推荐系统的研究中得以解决,本手册也对此进行了讨论。总之,我们认为系统如何展示并且可视化计算得到的推荐结果是影响用户接受推荐结果和该推荐系统的关键因素。

推送(将推荐推到用户那里)和解释技术是不可分的:一个好的推送技术也要有解释推荐的能力,也要诱导用户提出进一步请求,包括对解释推荐的请求。目前已有的这些技术有一个共同点,就是推荐结果按照物品列表的方式显示。推荐列表长度是可变的,但是核心推荐算法的输出通常是个排序列表,该列表在最终展示推荐结果时会用到。

本书单设一章阐明一种有别于传统模式的推送方法。在第17章,作者注意到在排序列表这种可视化方法中丢失了大部分信息。这里的原因是:对于两个产品,即使它们都与用户请求或者用户模型相匹配,但如果是基于完全不同的产品特征集,也是有区别的。如果用一个二维的基于图的可视化推荐,还可能保留部分信息。在图中,我们可以在一个受限的范围内为各个相似推荐安排位置。该章提出了建立二维图推荐的两种方法,并且讨论了各自的优缺点。

相关文章
|
1月前
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
|
6月前
|
存储 监控 搜索推荐
【业务架构】业务驱动的推荐系统相关技术总结
【业务架构】业务驱动的推荐系统相关技术总结
53 0
|
搜索推荐 算法 数据挖掘
# 【推荐系统入门到项目实战】(三):矩阵分解和ALS算法
# 【推荐系统入门到项目实战】(三):矩阵分解和ALS算法
# 【推荐系统入门到项目实战】(三):矩阵分解和ALS算法
|
3月前
|
机器学习/深度学习 搜索推荐 算法
推荐系统算法的研究与实践:协同过滤、基于内容的推荐和深度学习推荐模型
推荐系统算法的研究与实践:协同过滤、基于内容的推荐和深度学习推荐模型
202 1
|
4月前
|
搜索推荐 算法 前端开发
商品购物管理与推荐系统Python+Django网页界面+协同过滤推荐算法
商品购物管理与推荐系统Python+Django网页界面+协同过滤推荐算法
63 0
|
3月前
|
搜索推荐 前端开发 算法
协同过滤算法|电影推荐系统|基于用户偏好的电影推荐系统设计与开发
协同过滤算法|电影推荐系统|基于用户偏好的电影推荐系统设计与开发
|
4月前
|
算法 搜索推荐 前端开发
旅游推荐平台|酒店推荐平台|基于协同过滤算法实现旅游酒店推荐系统
旅游推荐平台|酒店推荐平台|基于协同过滤算法实现旅游酒店推荐系统
|
4月前
|
搜索推荐 算法 前端开发
汽车租聘管理与推荐系统Python+Django网页界面+协同过滤推荐算法
汽车租聘管理与推荐系统Python+Django网页界面+协同过滤推荐算法
53 2
汽车租聘管理与推荐系统Python+Django网页界面+协同过滤推荐算法
|
6月前
|
搜索推荐 算法 前端开发
果蔬购物商城管理与推荐系统Python+Django网页界面+协同过滤推荐算法
果蔬购物商城管理与推荐系统Python+Django网页界面+协同过滤推荐算法
80 0
|
7月前
|
机器学习/深度学习 分布式计算 算法
推荐系统入门之使用ALS算法实现打分预测
本场景介绍如何使用ALS算法实现用户音乐打分预测。
715 0