一、什么是推荐算法
随着移动互联网的高速发展与智能手机的普及,海量的有用信息虽然为人们提供了更多的价值,然而信息的泛滥也意味着为了寻找合适的信息必须付出更多的时间成本。事实上,有时候仅仅是浏览和简单的查询来寻找有用的信息变得相当困难,在某种程度上过量的信息意味着信息缺乏,因此就需要某种工具来迅速帮自己找到所需要的信息,防止“信息过载”造成的影响。
为了更好地解决“信息过载”的问题,个性化推荐系统应运而生。随着推荐算法越来越成熟,现已经被广泛的应用到各种短视频平台、社交网络、电子商务、个性化音乐、个性化阅读等。
推荐系统本质上就是解决信息过载问题和用户无目的搜索问题,搜索引擎满足了用户有明确目的时的主动查找需求,而推荐系统能够在用户没有明确目的的时候帮助他们发现感兴趣的新内容。推荐系统的任务是联系用户和信息,一方面推荐系统能够帮助用户更好的获取到对自己有价值的信息,另一方面它能够让信息更好更快的推送到在对它感兴趣的用户手中,从而实现信息消费者和信息生产者的双赢。
关于推荐算法的都市传说 “啤酒与尿布” ,年轻爸爸去超市购买尿布时,经常会买点啤酒犒劳自己。因此,沃尔玛将这两种商品进行了捆绑销售,最终获得了更好的销量。
二、基于内容的推荐算法
基于内容的推荐算法是最早被应用到工业环境的推荐算法,到目前为止,基于内容的推荐算法大体可以分为四类,就是基于内容热度、内容标签、关联规则、情境感知。
1. 内容热度
基于热度的推荐算法原理是根据内容的互动数据,计算出当下热度最高的内容,并推荐给用户,计算内容热度的维度可以是时间、内容、访问量,用户对内容的评分的维度等。
计算原理:
内容热度分 = 初始热度分 + 用户交互产生的热度分 – 随时间衰减的热度分
比如百度热搜、微博热搜就是典型的基于热度推荐,它是在当前时间维度的基础上,根据内容的搜索访问量得出实时的最热榜单。
此外,一些影评类、视频类网站也会使用热榜来给用户进行推荐,像豆瓣电影就会按评分得出好评榜单。这种推荐算法的优点在于不依赖用户的历史数据,对新用户也可以进行推荐。甚至可以通过一些高质量榜单吸引新用户,比如短视频类APP、娱乐类信息类网站会给新用户推送时下热度最高的内容,可以大概率满足用户需求,提高新用户的留存率。
其次,对于一些应用来说,不断更新的热点能够维持老用户的活跃度。老用户可以高效的获取头部内容,比如吃瓜群众第一时间在微博、豆瓣上看娱乐八卦。而基于热度推荐的缺点则是热度高的内容,不一定质量高,就像微博明星热搜,很多时候是粉丝或背后的公关团队花钱买的。比如国内某流量明星一晚上60次热搜被被质疑数据造假。
某流量明星的热搜
此外基于热度的推荐,所推荐的都是一些大众化的内容,很难满足用户的个性化需求,某些用户喜欢的一些小众内容往往无法呈现给用户。
2. 内容标签
基于内容标签推荐是根据内容的特征打上对应的标签,将同一标签下的不同物品推荐给用户。这里所说的推荐相似物品并不依赖于用户的历史数据,仅仅是与物品本身的标签相似度有关。当新用户注册应用后,选取感兴趣的关注标签,系统可自动推送筛选。
推荐标签
例如当你开始注册豆瓣读书时,它会让你选自己感兴趣的单个或者多个标签,注册完成后登录,它就可以给你推荐与标签相关的内容。我注册时选取了神经网络这个标签,它会在我第一次登录给我推荐相关的书籍与专栏,而不需要我的历史阅读兴趣数据。
推荐内容
此外,在基于内容标签方面,还有基于知识的推荐例子。知乎在给用户推荐同一领域的文章时,是根据文章中知识本身所属领域的标签,而不取决于用户的历史平衡数据。
基于内容标签的推荐算法,优点是可以解决冷启动问题,不会过度依赖用户的历史数据,就算是新内容,也能有被推荐的机会。缺点是推荐内容的质量取决于标签的准确性,如果内容的标签不准确,那么相应的推荐也就无法很好的满足用户需求。其次,由于标签缺少用户反馈,这就导致标签的准确性难以得到优化提升。
3.关联规则
基于关联规则进行推荐,这是一种转化率比较高的推荐算法。从历史数据中挖掘关联规则,找出X事件与Y事件的关联,当X事件发生后,Y事件会有一定概率发生,这个概率是通过历史数据统计而来。关联规则的目的在于在一个数据集中找出项目与项目之间的关系。
关联规则
例如,关注人工智能与机器学习的用户,那么他很大可能会使用到高算力GPU或者或者是人工智能训练场景的服务器。
基于关联规则给用户推荐的内容往往更有可能满足用户需求。除了转化率高这些优点,这种推荐算法还能够发现用户的新兴趣点,挖掘出用户的潜在需求。但是挖掘关联规则需要大量的数据做支撑,会出现冷启动的问题,而且在实际应用中,一些热门的项目关联度往往较高,容易被过度推荐。
4.情境感知
基于情境感知的推荐算法是指用户在进入应用时所处的时间、地点、日期、心情等情境。比如说你下午在家想点个外卖吃,那么打开外卖app后,系统会考量所在的地理位置,当前日期,以往的消费水平等,来进行一个综合的推荐。对于当前时间是下午,系统给你推荐的可能会是甜点、奶茶之类的下午茶食物,而不会是豆浆、油条之类的一般作为早餐的食物。而基于地点的推荐,体现在系统给你推荐商家的时候,往往是附近的商家,而不会推荐十公里以外的食物。毕竟太远的距离,当外卖送到你手里时,都不能食用了。
这种基于情境感知的推荐算法,优点在于实时性。比如虽然你在淘宝有过夏装的购物历史,但系统也不会在双十一时给你推荐夏装。很多时候,用户的兴趣还可能会随时间变化而变化,当用户大学时期喜欢购买文学类书籍,但工作后可能更多购买专业书籍,人早上起来喜欢关注一些新闻类的内容,而在晚上睡觉喜欢关注一些娱乐内的内容。情境感知推荐算法的多样性,则能够在不同时间段推荐不同的内容,更加灵活的满足用户需求。但其缺点是推荐范围比较窄,受到情境的影响,一些内容无法推荐给用户,并且在多维度情境下,内容匹配度的计算比较复杂,还存在冷启动的问题。还有如果用户不授权应用获取个人相关的一些信息,则无法根据情境进行精准推荐。
5.算法利癖
在实际情况中,为了突破单一算法的应用局限,往往会选择多种算法组合使用,这样能够取长补短,从而达到更好的推荐效果。常见的组合方式有加权、变化、混合、特征组合、特征扩充、元级别等组合方式。
一个好的推荐系统往往要具备以下两个特点,一、信息丰富:在这个内容为王的时代,信息是一切的基础,只有丰富的信息物库才能尽可能地满足不同用户的需求。二、推荐精准:用户能够快速地找到所需要的信息及更加懂用户潜在需求。在给用户提供精准推荐的同时,又要避免用户掉入“信息茧房”里面。
转载:https://blog.csdn.net/matt45m/article/details/128040156