原创:晏茜
资料来源:钟老师
如果你想购物,推荐系统会帮你先“看”你想买的东西;如果你想看新闻,推荐系统会帮你先“挑”你喜欢的内容;如果你想刷剧,推荐系统会帮你“筛”掉你不喜欢的电视剧;如果你想学习,推荐系统会“考”你相关的题目;如果你想放松,推荐系统会给你“听”你爱听的音乐,这些都是推荐系统在日常生活中的具体的应用场景。
本文主要讲解推荐系统的算法与应用,内容包括推荐系统的基础知识点,协同过滤算法,推荐系统的发展情况以及如何去应用推荐系统。
1. 什么是推荐系统
推荐系统的背景
推荐系统成为一个相对独立的研究方向一般被认为始于 1994 年美国明尼苏达大学 GroupLens 研究组推出的 GroupLens 系统(Resnick,1994)。该系统为推荐建立了一种形式化的模型,并且它有两大重要贡献:一是首次提出了基于协同过滤(Collaborative Filtering,CF)来完成推荐任务的思想,二是为推荐问题建立了一个形式化的模型。
推荐系统的定义
推荐系统是利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买的过程。个性化推荐是根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品。
头条一般都会把一些重要的新闻放在前面,并且还会发一些针对用户的个性化推荐的内容。每个人的兴趣爱好和想法都是不一样的,所以就有了推荐系统的千人千面的说法。我们看到的某一个页面可能是很多个性化推荐系统的堆叠,它把不同的商品共同叠在一起来进行推荐。
推荐系统的意义
1.用户角度:推荐系统解决在“信息过载”的情况下,用户如何高效的获得感兴趣的信息的问题。
当我们打开天猫或者淘宝界面,会发现展示的内容其实都是按照我们的搜索历史、浏览历史、购买记录,还包括一些近期的爆款和活动商品这几种维度来推荐的。
置于页面最上方的运营位一般会展示运营商希望我们看到的内容,下方的活动位会展示近期的活动商品。而我们的同城购更多的是去推荐一些生鲜类的商品,因为同城直达的情况,要么是商品的保存期限非常短,要么是用户对商品的需求非常迫切。同城购的商品是具有一定的限定性的。
假设我们急需某件商品,往往这个时候就会选择天猫会员店或是京东自营店以保证其时效性。而假设我们对时间的要求并不高,这个时候就会选择一些性价比较高的商店。对于不同的时期,用户对商品的需求情况是不一样的,而 APP 界面推荐的内容也会是不一样的。
2.公司角度:推荐系统解决最大限度地吸引用户、留存用户、增加用户粘性、提高用户转化率的问题,从而达到公司商业目标连续增长的目标。
不同模式的问题定义是不尽相同的。视频类公司更注重的是用户观看时长,他们会在视频里面嵌入网络广告,甚至还有一些广告是直接出现在电视剧中的。电商类的公司更注重的是购买转化率(Conversion Rate,cvr),新闻类公司更注重用户的点击率。
推荐系统的 base
推进系统与传统的机器学习是不太一样的,它给到很原始的数据,需要经过处理,然后才能得到能够直接用来跑模型的数据。这些数据包含以下类型:
① 人(用户信息)
1.历史行为;2. 人口属性;3. 关系网络
历史行为是指用户点击过哪些链接,购买过什么东西,点赞过什么内容,或是停留在某个页面上多长时间,这些都是历史行为。人口属性是指用户的性别、年龄等等。关系网络可以这样来解释,我们知道现代社会互联网是无处不在的,比如,当一名学生通过浏览器进入了某个学习网站,那么浏览器瞬间就会捕捉到他进了此类学习类网站的信息,并且会结合他的进入和留存在该学习网站的时间等因素,将这名学生归类为某一类人群。这就是所谓的关系网络。
② 物品信息
电商网站中的“商品信息”包括视频推荐里面的视频信息,新闻推荐里面的新闻信息。以电影为例,电影中的视频信息可以是电影中出现某种动作镜头的次数,而新闻信息可以是新