您当前的位置:首页 > 电脑百科 > 程序开发 > 算法

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

时间:2020-06-22 13:15:08  来源:  作者:

在理解了内容和用户的基础特征之后,我们将进一步探讨推荐算法是如何匹配用户和内容的。概括而言,这一过程所做的就是“物以类聚,人以群分”。

一、物以类聚:基于内容属性的相似性推荐

有了完善的物品画像,我们就可以基于其固有属性来计算物品与物品之间的相似度,从而推荐与用户历史消费相似的新物品。以内容推荐为例,其用于相似度计算的常见因素有:作者层面的相似性(基于订阅或偏好关系),内容层面的相似性(如关键词、话题、类目、聚类、标签等)。

基于内容属性的推荐方式,常见于音乐(如潘多拉)、电影和书籍(如豆瓣)的推荐场景中。以图书推荐场景为例,在豆瓣图书上,有三本书分别有如下标签:

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

 

从标签层面不难看出,《推荐系统实践》与《推荐系统》在标签集合层面拥有更多的相同标签,具有更高的相似度。那么,当用户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。

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

 

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

依赖不同的协同算法,同样的数据集合可能会得到不同的结果。下表中,展示了不同书籍的用户购买情况。对于用户E而言,其购买了《推荐系统实践》和《大数据时代》两本书。那下一步,我们应该给他推荐哪本书呢?

在基于物品的协同下,应该给他推荐《推荐系统》。这是因为《推荐系统》与用户E已经购买的两本书的购买用户重叠度更高。

在基于用户的协同下,应该给他推荐《集体智慧编程》。这是因为用户E的消费历史跟用户A、B、D重叠更高、更相似,而A、B、D三位用户都购买了《集体智慧编程》。

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

 

基于用户的协同算法在1992年就已经被提出,而基于物品的协同算法直到2001年才被亚马逊提出。大家一度认为基于物品的协同要优于基于用户的协同,这是因为大型电商网站的用户数量往往远大于商品数量,且商品的更新频率相对较低,基于物品的协同能够以离线运算的方式获得更好的推荐效果。但对新闻推荐系统、社交性推荐系统等而言,其物品是海量和频繁更新的,故而基于用户的协同也有着相应的用武之地。

协同类推荐的典型应用场景,如豆瓣在书籍介绍下展示的“喜欢读×××的人也喜欢……”。基于模型的协同,是用用户的喜好信息来训练算法模型,实时预测用户可能的点击率。比如,在Netflix的系统中就将受限玻尔兹曼机(Restricted Boltzmann machines,RBM)神经网络应用于协同过滤。将深度学习应用于基于模型的协同,也成了业界广泛使用的方式。

协同推荐是目前应用最为广泛的推荐机制,其基于用户行为的特点使我们不需要对物品或信息进行完整的标签化分析和建模,从而实现了领域无关,可以很好地发现用户的潜在兴趣偏好。

作者:小武



Tags:推荐算法   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
导读:本文的主题为阿里飞猪推荐算法探索实践,首先会介绍电商背景下主流推荐技术的发展,例如基于全空间的CVR预估技术的发展历程等 ( ESMM / ESM^2 / HM^3 );接着会重点结合旅行...【详细内容】
2021-10-21  Tags: 推荐算法  点击:(56)  评论:(0)  加入收藏
商品详情页是手淘内流量最大的模块之一,它加载了数十亿级商品的详细信息,是用户整个决策过程必不可少的一环。这个区块不仅要承接用户对当前商品充分感知的诉求,同时也要能肩负起其他来源导流流量的留存,最终尽可能地激活...【详细内容】
2021-08-04  Tags: 推荐算法  点击:(89)  评论:(0)  加入收藏
架构头条 作者 | theinsaneapp.com译者 | 张健欣策划 | 万佳今天,我们会讨论一些不同的东西,例如 Spotify、YouTube、Signal Messenger、Amazon 等科技巨头的推荐算法,以及像 U...【详细内容】
2021-07-15  Tags: 推荐算法  点击:(121)  评论:(0)  加入收藏
导读:近年来,电商呈现内容化的趋势,以直播和短视频为首,内容化提升了用户体验,增加了平台收益。作为电商的重要流量入口,推荐算法除了应用于商品,现在也被应用于直播场景。我们将以阿里的B类电商网站1688为例,分享直播推荐相...【详细内容】
2021-04-21  Tags: 推荐算法  点击:(287)  评论:(0)  加入收藏
【写在前面】淘宝搜索引擎至今已经迭代了多轮,搜索排序也已经从最开始的统计模型升级到机器学习模型;2010年前是没有标签概念的就是基础标签这些都没有,随着算力的增强,2010年后...【详细内容】
2020-12-29  Tags: 推荐算法  点击:(222)  评论:(0)  加入收藏
指尖在抖音上划过,满屏幕的颜值少女,满屏幕的乡村野趣,满屏幕的都市传奇,满屏幕的生活乐趣。在碎片化的时间里,我们拿着手机,看着屏上的视频,充满了视觉的欢乐与笑语。手指迅速地划...【详细内容】
2020-09-28  Tags: 推荐算法  点击:(200)  评论:(0)  加入收藏
本次分享的主要内容包括以下三个方面:首先是介绍推荐业务背景,包括推荐产品形态及算法优化目标;然后是算法的演进路线;最后重点介绍在线学习是如何在饿了么推荐领域实践的。...【详细内容】
2020-09-21  Tags: 推荐算法  点击:(88)  评论:(0)  加入收藏
读者读完本文后,你会知道每类范式常用的算法有哪些、实现的思路是什么、以及常用的应用场景。本文也可以作为读者落地推荐算法到真实推荐场景的参考指南。一、推荐算法与产品...【详细内容】
2020-08-31  Tags: 推荐算法  点击:(147)  评论:(0)  加入收藏
近些年,随着深度学习理论,GPU 和 CPU 等计算机硬件,TensorFlow、Caffe、PyTorch 等算法平台的发展,深度学习算法在个性化推荐、计算机视觉、自然语言处理、语音识别等领域大放光...【详细内容】
2020-08-04  Tags: 推荐算法  点击:(53)  评论:(0)  加入收藏
今天,算法分发已经是信息平台、搜索引擎、浏览器、社交软件等几乎所有软件的标配,但同时,算法也开始面临质疑、挑战和误解。今日头条的推荐算法,从2012年9月第一版开发运行至今,...【详细内容】
2020-06-22  Tags: 推荐算法  点击:(66)  评论:(0)  加入收藏
▌简易百科推荐
前言Kafka 中有很多延时操作,比如对于耗时的网络请求(比如 Produce 是等待 ISR 副本复制成功)会被封装成 DelayOperation 进行延迟处理操作,防止阻塞 Kafka请求处理线程。Kafka...【详细内容】
2021-12-27  Java技术那些事    Tags:时间轮   点击:(1)  评论:(0)  加入收藏
博雯 发自 凹非寺量子位 报道 | 公众号 QbitAI在炼丹过程中,为了减少训练所需资源,MLer有时会将大型复杂的大模型“蒸馏”为较小的模型,同时还要保证与压缩前相当的结果。这就...【详细内容】
2021-12-24  量子位    Tags:蒸馏法   点击:(11)  评论:(0)  加入收藏
分稀疏重建和稠密重建两类:稀疏重建:使用RGB相机SLAMOrb-slam,Orb-slam2,orb-slam3:工程地址在: http://webdiis.unizar.es/~raulmur/orbslam/ DSO(Direct Sparse Odometry)因为...【详细内容】
2021-12-23  老师明明可以靠颜值    Tags:算法   点击:(7)  评论:(0)  加入收藏
1. 基本概念希尔排序又叫递减增量排序算法,它是在直接插入排序算法的基础上进行改进而来的,综合来说它的效率肯定是要高于直接插入排序算法的;希尔排序是一种不稳定的排序算法...【详细内容】
2021-12-22  青石野草    Tags:希尔排序   点击:(6)  评论:(0)  加入收藏
ROP是一种技巧,我们对execve函数进行拼凑来进行system /bin/sh。栈迁移的特征是溢出0x10个字符,在本次getshell中,还碰到了如何利用printf函数来进行canary的泄露。ROP+栈迁移...【详细内容】
2021-12-15  星云博创    Tags:栈迁移   点击:(22)  评论:(0)  加入收藏
一、什么是冒泡排序1.1、文字描述冒泡排序是一种简单的排序算法。它重复地走访要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地...【详细内容】
2021-12-15    晓掌柜丶韶华  Tags:排序算法   点击:(16)  评论:(0)  加入收藏
在了解golang的map之前,我们需要了解哈希这个概念。哈希表,又称散列表(Hash table),是根据键(key)而直接访问在内存储存位置的数据结构。也就是说,它通过计算出一个键值的函数,将...【详细内容】
2021-12-07  一棵梧桐木    Tags:哈希表   点击:(14)  评论:(0)  加入收藏
前面文章在谈论分布式唯一ID生成的时候,有提到雪花算法,这一次,我们详细点讲解,只讲它。SnowFlake算法据国家大气研究中心的查尔斯·奈特称,一般的雪花大约由10^19个水分子...【详细内容】
2021-11-17  小心程序猿QAQ    Tags:雪花算法   点击:(24)  评论:(0)  加入收藏
导读:在大数据时代,对复杂数据结构中的各数据项进行有效的排序和查找的能力非常重要,因为很多现代算法都需要用到它。在为数据恰当选择排序和查找策略时,需要根据数据的规模和类型进行判断。尽管不同策略最终得到的结果完...【详细内容】
2021-11-04  华章科技    Tags:排序算法   点击:(40)  评论:(0)  加入收藏
这是我在网上找的资源的一个总结,会先给出一个我看了觉得还行的关于算法的讲解,再配上实现的代码: Original author: Bill_Hoo Original Address: http://blog.sina.com.cn/s/bl...【详细内容】
2021-11-04  有AI野心的电工和码农    Tags: KMP算法   点击:(36)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条