推荐算法的物以类聚人以群分

在理解了内容和用户的基础特征之后,我们将进一步探讨推荐算法是如何匹配用户和内容的 。概括而言,这一过程所做的就是“物以类聚,人以群分” 。
一、物以类聚:基于内容属性的相似性推荐
有了完善的物品画像,我们就可以基于其固有属性来计算物品与物品之间的相似度,从而推荐与用户历史消费相似的新物品 。以内容推荐为例,其用于相似度计算的常见因素有:作者层面的相似性(基于订阅或偏好关系),内容层面的相似性(如关键词、话题、类目、聚类、标签等) 。
基于内容属性的推荐方式,常见于音乐(如潘多拉)、电影和书籍(如豆瓣)的推荐场景中 。以图书推荐场景为例,在豆瓣图书上,有三本书分别有如下标签:

推荐算法的物以类聚人以群分

文章插图
 
从标签层面不难看出,《推荐系统实践》与《推荐系统》在标签集合层面拥有更多的相同标签,具有更高的相似度 。那么,当用户A选择了《推荐系统实践》之后,系统应当优先给他推荐的是《推荐系统》,而非《大数据时代》 。
如果想要进一步细化,那么可以借助TF–IDF方式给不同的标签设定权重 。其基本思想是:出现频率越高的标签区分度越低,反之亦然 。比如“计算机”是一个高频出现的标签,那么这个标签的区分度就没有那么高,权重较低;而“推荐系统”是一个低频出现的标签,则该标签就更具有显著性和区分度,权重较高 。
基于内容属性推荐的好处在于,只依赖物品本身的特征而不依赖用户的行为,让新的物品、冷僻的物品都能得到展示的机会 。其存在的问题在于,推荐质量的优劣完全依赖于特征构建的完备性,但特征构建本身是一项系统的工程,存在一定成本 。在上面的例子中,如果标签词粒度不够细,不能够全面描述书的内容(比如每本书的标签词只有三个),就很难计算出置信的相似度,达不到足够好的推荐效果 。
此外,基于内容属性推荐没有考虑用户对物品的态度,用户的品位和调性很难得到诠释和表达 。比如,市面上关于内容分发的书籍很多,仅从标签词上很难分辨出高下 。为了在推荐中更好地引入受众反馈因素,提出了基于用户行为的“协同过滤”概念 。
二、人以群分:基于用户行为的协同过滤
举一个生活中的场景:初次为人父母,“无证上岗”的新手爸妈们内心是激动而又惶恐的 。“打听”成了他们育儿的重要法宝之一 。“你家宝宝用的是什么沐浴液啊?”“你们有没有上什么早教班啊?”……我在的多个亲子群里,无时无刻不在发生这样的讨论 。这样的讨论也构成大家进行后续消费决策的主要因素之一 。
这种基于人和人之间的相互推荐固然是弱社交关系分发的一种形态,但促成大家进行价值信息交换和购买转化的,其实是人和人之间的相似点,即为人父母、拥有相似的价值观和消费观 。
 
把用户的消费行为作为特征,以此进行用户相似性或物品相似性的计算,进行信息匹配,是协同过滤(Collaborative Filtering)的基础 。
协同推荐可以分为三个子类:基于物品(Item-based)的协同、基于用户(User-based)的协同和基于模型(Model-based)的协同 。
 
基于用户的协同就契合了上面的例子,其基础思路分为两步:第一步,找到那些与你在某一方面口味相似的人群(比如你们都是新手爸妈,倾向于同一种教育理念);第二步,将这一人群喜欢的新东西推荐给你 。
下图中,用户A和用户C都阅读了内容A和内容C,用户B阅读了内容B 。基于阅读行为来看用户相似度,用户A和用户C更为相似 。那么,当用户C阅读了新内容D之后,这一内容就应当推荐给用户A 。
推荐算法的物以类聚人以群分

文章插图
 
基于物品的协同,其推荐的基础思路是:先确定你喜欢什么物品,再找到与之相似的物品推荐给你 。只是物品与物品间的相似度不是从内容属性的角度衡量的,而是从用户反馈的角度衡量的 。
比如下图中,内容A和内容C都被用户B、C阅读,从阅读行为的角度看,两篇内容更相似 。那么,当用户A阅读了内容A时,系统就选择与内容A相似的内容C,将其推荐给用户A 。
推荐算法的物以类聚人以群分

文章插图
 
以书籍为例,在协同推荐的场景下,一本书的特征(标签)不再是作者、题材、领域这些静态固有属性,而是哪些用户购买了、哪些用户在购买后给了高分或低分这样的行为动作 。


推荐阅读