AI 年度盘点与2025发展趋势展望,50+案例解析亮相AICon 了解详情
写点什么

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

  • 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:592150

评论

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

Grid 布局介绍

CRMEB

基于华为云ModelArts的水表读数识别开发实践【华为云至简致远】

科技云未来

水表读数识别项目

急了,Mysql索引中最不容易记的三个知识点通透了

知识浅谈

8月月更

2022纯手工打造1700道Java高级工程师面试宝典(含面试题解析)

Java工程师

Java 面试 八股文

EMQ畅谈IoT数据基础软件开源版图,引领本土开源走向全球

EMQ映云科技

开源 物联网 IoT emq 8月月更

用完华为云会议解决方案,我直接卸载了之前的会议软件【华为云至简致远】

科技云未来

云会议产品

Taro小程序跨端开发入门实战

京东科技开发者

小程序 taro 开发 移动端

APICloud AVM 封装日期和时间选择组件

YonBuilder低代码开发平台

安卓 低代码开发 多端开发

Go-Excelize API源码阅读(四)——Save()

Regan Yue

Go 开源 源码刨析 8月日更 8月月更

Qt下异步使用C++调用Python文件

Geek_163f36

调研阶段复盘

Geek_XOXO

复盘

QCon 回顾 | Data Fabric:逻辑统一、物理分散

网易数帆

大数据 数据湖 降本增效 Data Fabric

运筹帷幄决胜千里,Python3.10原生协程asyncio工业级真实协程异步消费任务调度实践

刘悦的技术博客

Python 协程 Async Python3 协程原理

LeaRun模型驱动开发框架 重塑企业生产力

力软低代码开发平台

如何让您的wiki内容更高级?

Geek_da0866

深度解读 | 关于SBOM最基础元素,你需要知道的(Part I)

安势信息

开源 漏洞 SCA SBOM 最基础元素

开源一夏 | 基于 Serverless一键体验FastAPI

六月的雨在InfoQ

阿里云 开源 Serverless FC 8月月更

Linux下Docker安装部署以及云原生的理解

Geek_acae888666

云原生 Docker 镜像

它们不一样!透析【观察者模式】和【发布订阅模式】

掘金安东尼

前端 设计模式 8月月更

Java泛型的继承场景

Geek_163f36

基于ECS实现一分钟自动化部署【华为云至简致远】

科技云未来

自动化部署

以数治企,韧性成长,2022 年中国 CIO 数字峰会成功举行

金蝶云·苍穹

如何用精益敏捷组合管理,提升研发效能?|ONES 研发管理大师课

万事ONES

mysql进阶(二十九)常用函数汇总

No Silver Bullet

MySQL mysql常用函数 8月月更

企业“数字化转型”成功的2个必备条件!

优秀

数字化转型

开源一夏 | RuntimeException 子类

六月的雨在InfoQ

开源 8月月更

基于华为云弹性云服务器ECS(搭载openEuler的鲲鹏通用计算增强型)完成鲲鹏代码迁移工具实践【华为云至简致远】

科技云未来

鲲鹏服务器 弹性云服务器ESC

国内部分手机游戏开始显示用户IP属地

郑州埃文科技

游戏 手游 IP归属地

永续合约交易所系统开发逻辑详情

开发微hkkf5566

Netty入门 -- 什么是Netty?

Bug终结者

Netty 8月月更

2022年中国全民健身发展白皮书

易观分析

行业分析 健身

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