推荐系统是根据用户的浏览习惯,确定用户的兴趣,通过发掘用户的行为,将合适的信息推荐给用户,满足用户的个性化需求,帮助用户找到对他胃口但是不易找到的信息或商品。
推荐系统在互联网和传统行业中都有着大量的应用。在互联网行业,几乎所有的互联网平台都应用了推荐系统,如资讯新闻/影视剧/知识社区的内容推荐、电商平台的商品推荐等;在传统行业中,有些用于企业的营销环节,如银行的金融产品推荐、保险公司的保险产品推荐等。根据QM报告,以推荐系统技术为核心的短视频行业在2019年的用户规模已超8.2亿,市场规模达2千亿,由此可见这项技术在现代社会的经济价值。
构建推荐系统本质上是要解决“5w”的问题。如下图示例,当用户在晚间休闲,上网阅读小说时,在阅读的军事小说下方,向他推荐三国志游戏,并给出推荐理由“纸上谈兵不如亲身实践”。
这是一个较好的推荐案例,很多军迷用户会下载游戏试玩。但反之,如果在用户白天开会投屏时,弹出提示框向用户推荐“巴厘岛旅游”,会给在场的同事留下不认真工作的印象,用户也会非常的恼火。可见,除了向谁(Who)推荐什么(What)之外,承载推荐的产品形式(Where)和推荐时机(When)也非常重要。
另外给出推荐理由(Why)会对推荐效果产生帮助吗? 答案是肯定的。心理学家艾伦·兰格做过一个“合理化行为”的实验,发现在提供行动理由的情况下,更容易说服人们采取行动,因为人们会认为自己是“合乎逻辑”的人。
艾伦设计了排队打印的场景,一个实验者想要插队,通过不同的请求方式,观测插队成功的概率。他做了三组实验: 第一组:请求话术“打搅了,我有5页资料要复印,能否让我先来?”,有60%的成功概率。 第二组:请求话术中加入合理的理由“因为……(如赶时间)”,成功率上升到94%。 第三组:请求话术变成无厘头的理由“我能先用下复印机吗?因为我有东西要印。”,成功率仅略有下降,达到93%。
由此可见,哪怕我们提供一个不太靠谱的推荐理由,用户接受推荐的概率都会大大提高。
虽然完整的推荐系统需要考虑“5w”问题,但向谁(who)推荐什么(what)是问题的核心。所以,初识介算法的话,就介绍一个解决这两个核心问题的推荐系统吧。 使用的数据和推荐任务如下图所示,已知用户对部分内容的评分(偏好),推测他们对未评分内容的评分,并据此进行推荐。
图中蕴含的数据可以分为三种:
结合这三种信息可以形成类似“女性A 喜欢 LV包”这样的表达。
基于3的关联信息,人们设计了“协同过滤的推荐算法”。 基于2的内容信息,设计出“基于内容的推荐算法”。 现在的推荐系统普遍同时利用这三种信息,下面我们就来看看这些方法的原理。
常用的推荐系统算法实现方案有三种: