写点什么

构建生产可用的推荐系统需要注意哪些问题?

  • 2020-01-06
  • 本文字数:3622 字

    阅读完需:约 12 分钟

构建生产可用的推荐系统需要注意哪些问题?

虽然经历了几十年的研究和发展,推荐系统已经成了各种现代网络应用中不可或缺的组成部分,但是推荐系统的研究和应用仍然面临着很多重要而急迫的挑战,推荐系统的应用形式和场景也蕴含着更多的可能。本节,我们总结归纳目前推荐系统在研究和应用方面所面临的一些重要问题,同时指出推荐系统在研究和应用上的一些潜在方向,以使读者对推荐系统的未来发展拥有一些认识。

推荐系统面临的问题

1.推荐的冷启动问题

冷启动问题是困扰学术界和产业界多年的重要问题。对于一个全新的网络用户,系统中尚没有任何可以用来分析其个性化偏好和需求的商品购买或浏览交互信息,因此无法向其提供个性化的推荐列表。该问题在传统的基于数值化评分的个性化推荐方法中尤为突出,并与数据的稀疏性问题互为因果,这是由于网站内的新注册用户往往只对非常少量的商品给出过数值化的评分,很难通过如此少量的评分分析用户的偏好和需求。另外,在大数据环境下,数据的稀疏性显得愈加明显和严重,这进一步加重了冷启动问题给实际系统带来的负面影响。


目前,解决冷启动问题的方法主要包括如下几种。


(1)降维技术(Dimensionality Reduction),通过 PCA、SVD 等技术降低稀疏矩阵的维度,为原始矩阵求得最好的低维近似,但是实际系统中庞大的数据规模使得降维过程存在大量运算成本,并有可能影响预测和推荐效果。


(2)使用混合推荐模型的方法,通过取长补短弥补其中某种方法的问题。


(3)加入用户画像信息和物品属性信息,例如通过使用用户资料信息计算用户相似度,或者使用物品的内容信息计算物品相似度,进一步与基于打分的协同过滤方法相结合,以提供更准确的推荐。


另外,推荐系统中的小众用户(gray sheep)问题限制了系统在小众用户上取得较好性能。该问题主要表现为有些人的偏好与任何人或绝大多数人都不同,因而难以在大规模数据上采用协同过滤的方式为该用户给出合理的推荐。目前,小众用户推荐一般采用混合式的推荐模型来解决。例如,最常见的方法是把基于内容的推荐和基于协同过滤的推荐结合起来,挖掘小众用户在感兴趣的物品上的内容信息,并进一步结合可用的相似用户行为信息给出推荐。然而,该方案在解决小众用户推荐的问题上还远远不够,由于长尾效应的存在,系统在小众用户上的性能对整体能取得的性能有较大的影响,需要对小众用户推荐做进一步的研究和实践。

2.个性化推荐的可解释性问题

个性化推荐的可解释性是长期困扰学术界和产业界的重要问题。由于算法的复杂性和隐性变量方法的大量使用,算法所给出的推荐列表往往并不能得到较为直观的解释,也就难以让用户理解为什么系统会给出该物品作为推荐而不是其他物品。


当前的实际系统中往往简单地给出“看过该物品的用户也看过这些物品”作为推荐理由,这样的推荐理由往往无法令人信服,从而降低了用户点击和接受推荐结果的潜在可能性。在跨领域的异质推荐背景下,推荐结果的可解释性显得更为重要,因为缺乏直观可信的推荐理由将难以说服用户进入新的甚至陌生的网站查看异质推荐结果。如何将推荐理由的构建与系统所使用的推荐算法紧密结合,得到更细致、准确、有说服力的推荐理由,引导用户查看甚至接受系统给出的推荐,是学术研究和实际系统都需要考虑的重要问题。

3.推荐系统的防攻击能力

推荐系统如何应对恶意攻击(shilling attack)也是实际系统中需要解决的重要问题,该问题实际上是推荐系统中的反垃圾(anti spam)问题。例如,有些用户或商家会频繁地为自己的物品或者对自己有利的物品打高分,为竞争对手的物品打低分,甚至注册大量的系统账号人工干预某物品的得分,达到人工干预推荐系统推荐效果的目的,这会影响协同过滤算法的正常工作。该问题的被动解决方法是采用基于物品的推荐,因为在恶意攻击的问题上,基于物品的推荐往往能比基于用户的推荐具有更好的鲁棒性。作弊者总是较少数,在计算物品的相似度时影响较小。当然,我们也可以采用主动的解决办法,设计有效的垃圾用户识别技术来识别和去除作弊者的影响。


除此之外,推荐系统的研究和应用中还面临很多其他的问题和挑战,如隐私问题、噪声问题、推荐的新颖性,等等。急需对这些问题投入更多的研究和实践,从而不断完善推荐系统的性能和应用场景。

推荐系统的新方向

1.基于多源异质信息的推荐

长期以来,推荐系统的各种算法和研究都是基于数值化打分矩阵的形式化模型,该模型的核心是以用户打分为基础,而少有对基于用户文本评论语料进行个性化推荐的研究。基于文本评论的个性化推荐被很多论文提到,但是研究并不深入,这一方面限于文本挖掘技术的研究遇到很多难点,另一方面限于之前网络上积累的文本信息还不够多。随着 Web 2.0 网络的兴起,互联网上所积累的用户文本信息越来越多,已经成为一种不可忽略的信息来源,如电子购物网站中的用户评论、社交网络中的用户状态,等等。这些文本信息对于了解用户兴趣、发掘用户需求有极其重要的作用,如何充分利用这些数值评分之外的文本信息进行用户建模和个性化推荐具有重要的意义。

2.推荐系统与人机交互的关系

推荐系统与用户的交互方式也是相关领域内研究的热点方向。目前常见的实际系统一般以推荐列表的形式给出推荐,然而一些研究表明,即便是同样的打分和评价系统,如果展示给用户的方式不同,也会对用户的使用、评价、效果产生一定的影响。例如,MovieLens 小组第一次研究了用户打分区间、连续打分还是离散(如星标)打分、推荐系统主动欺骗等对用户使用推荐系统造成的影响。与搜索引擎一样,推荐系统的界面设计和交互方式也越来越受到研究人员的关注。

3.长尾效应与小众推荐

长尾效应在推荐系统中的理解和应用可以为进一步提高系统的推荐效果打开新的窗户。一个推荐系统的性能不能直接以预测评分的精确度测量,而应该考虑用户的满意度。推荐系统应该以“发现”为终极目标,而现存的一些推荐技术通常会倾向于推荐流行度很高的,用户已经知道的物品。这样存在于长尾中的物品也就不能很好地推荐给相应的用户了。但是,这些长尾物品通常更能体现用户的兴趣偏好。


所以,在推荐系统的设计过程中,不仅要考虑预测的精度,还要考虑用户真正的兴趣点在哪里。研究人员也开始考虑长尾效应在推荐系统设计过程中的应用,并考虑如何将长尾物品推荐给用户,以及如何为小众用户推荐合适的物品。

4.可解释性推荐

推荐系统的可解释性成为一个重要的研究课题。随着实际系统中的数据越来越多、规模越来越庞大、算法越来越复杂,包括推荐系统在内的智能决策系统变得越来越黑箱化,系统难以给出直观可信的解释来告诉用户为什么要做特定的决策。


在此背景下,推荐系统的可解释性变得越来越重要,研究人员正在试图构建可解释的推荐算法和模型,使得系统不仅可以给出推荐结果,还可以自动给出恰当的推荐理由。

5.推荐系统的商业价值

推荐系统所能实现的价值也是个性化推荐的一个重要问题。在已有的绝大多数推荐系统中,算法往往只关心准确率、点击率、购买率等指标,很多推荐算法也是围绕着对 RMSE、Precision、NDCG 等指标的优化而设计的。然而被推荐的物品未必会被用户购买,即便被用户购买,不同物品为系统带来的价值也是不一样的。因此,如何直接优化推荐系统对平台的价值也是一个重要的演进方向,有助于帮助推荐系统通过推荐恰当的物品,直接优化和提升系统带来的实际效益。


例如,阿里巴巴通过直接优化推荐列表的商业价值来构建推荐列表(Pei, et al.,2019),在这一方向上做出了尝试。

6.多平台协作式推荐

越来越多的生活项目日益网络化,在网络上造成了一个个信息孤岛:每一个网络应用平台拥有用户在该平台或该领域内的行为信息,了解用户在该平台和领域内的行为偏好,从而可以在该领域内给出个性化的专业服务;然而在不同平台和领域之间,尤其是异质领域(如视频和购物)之间,用户的行为线索并没有被打通,每一个平台和领域没有其他平台和领域的用户行为信息,也就难以给出平台之外其他领域的个性化服务。这些独立的信息孤岛将网络用户原本完整而流畅的生活时间线割裂,未能形成浑然一体的个性化服务流程,使得互联网本应在人们日常生活中所起的重要甚至核心作用大打折扣。


因此,如何由互联网所连接的各个系统协作式地发掘用户潜在需求,适时地给出跨领域的异质推荐结果和个性化服务成为推荐系统向通用推荐引擎方向发展的重要问题和研究前沿,并将极大地降低人们使用互联网的时间和精力成本,免去在各个独立服务之间进行切换和查找的麻烦。更重要的是,不同类型的异质商品或服务之间的信息联通和相互推荐,蕴含着全新的互联网运营和盈利模式。例如,通过从历史数据中进行任务挖掘,旅行机票订购网站可以通过异质推荐为酒店预订、车辆租赁、团队预订等多种潜在的关联网站带来流量,并从中获得额外收益;视频服务商可以通过异质推荐给出来自购物网站的商品推荐,从而实现虚拟产业收入与实物商品收入的结合,这对促进产业协作发展和产业整合具有重要意义。


本文内容节选自图书《大数据智能》,感兴趣的用户欢迎点击链接了解:https://item.jd.com/12603411.html?dist=jd


2020-01-06 11:592171

评论

发布
暂无评论
发现更多内容

企业上云也可以很智能,智能云接入ICA替企业搭建“上云梯”

科技怪授

ica

首次!龙蜥社区生态用户实践精选集发布在即

OpenAnolis小助手

开源 龙蜥社区 生态伙伴 厂商 案例集

“程”风破浪的开发者|【模块-Java布局】十分钟挑战鸿蒙Codelab组件

liuzhen007

OpenHarmony “程”风破浪的开发者

想在杭州学前端,千锋IT培训怎么样?学员真实案例

千锋IT教育

流式计算常见的开源实现

穿过生命散发芬芳

10月月更 流式计算

Excel做数据分析?是真的很强!

Jackpop

Java | 接口

陌上

编程 Java、 10月月更

Docker网络模式:Bridge和Host的区别,一文带你了解!

wljslmz

Docker 容器 软件 10月月更

SQL 的查询语句

芯动大师

Python SQL语句 10月月更

2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。 package main import “f

福大大架构师每日一题

golang 福大大 选择题

IBM Websphere实践 实验4

w010w

Java jsp 10月月更 企业级应用程序开发 实验报告

拒绝繁琐,华为云企业交换机ESW就是要让数据上云一步到位

科技怪授

ica

千锋大连“匠心8载 感谢有你”周年庆典隆重举行

千锋IT教育

政务数据安全解决方案

前嗅大数据

政务 基础数据方案 数据方案

千锋沈阳前端怎么样?学员真实案例

千锋IT教育

Spring Boot和Spring Cloud的关系

阿泽🧸

Spring Boot 10月月更

JS事件,你真的懂吗(捕获,冒泡)?

乌龟哥哥

10月月更

用芯弹一首《大加洛普舞曲》:从AI-ISP,透视vivo的双芯之路

脑极体

你用 Excel 做的最酷的事情是什么?

Jackpop

Python中的协议有什么作用?

Jackpop

【web 开发基础】PHP 中的特殊流程控制(exit) -PHP 快速入门 (22)

迷彩

调试工具 10月月更 web开发基础 PHP基础 exit

分布式系统快速接入pinpoint1.8.3指南

程序员欣宸

Java Pinpoint 10月月更

极光笔记 | 极光clickhouse千亿级数据分析实践之路

极光JIGUANG

极客时间运维进阶训练营第二周作业

好吃不贵

华为云智能云接入ICA,让世界距离更近

科技怪授

ica

一文看懂Htmx

天择

JavaScript htmx

企业数据上云,怎能少的了华为云企业交换机ESW?

科技怪授

ESW

11 月亚马逊云科技培训与认证课程,精彩不容错过!

亚马逊云科技 (Amazon Web Services)

培训与认证

【移动应用安全】Android文件系统

w010w

android 10月月更 安卓文件系统

国际移动设备识别码IMEI

Geek_古藤模根

移动设备识别 GSMA IMEI

Java | 内部类

陌上

Java 编程 10月月更

构建生产可用的推荐系统需要注意哪些问题?_架构_赵钰莹_InfoQ精选文章