当前位置 首页> 科易专栏> > 正文

「从零入门推荐系统」06:推荐系统召回算法介绍

智能技术 数据技术
数据与智能    2022-12-12    382

作者 | gongyouliu
编辑 | gongyouliu

我们在前面几章中介绍了推荐系统的一些基本概念,从本章开始我们会进入推荐系统的核心章节,也就是关于推荐算法部分的介绍。我们在第五章「推荐系统业务流程与架构」中讲到推荐系统一般会分为召回和排序两个阶段,召回可以看成是推荐前的初筛过程,排序是对初筛的结果进行精细打分排序的过程。

 

召回和排序两个阶段中使用的算法就是推荐系统的核心算法。在后面一系列文章中,我们会先花几章介绍召回算法,然后再介绍排序算法。本章我们先简单介绍常用的召回算法及其特性,希望读者对召回算法有一个初步的了解。

 

6.1 什么是召回算法

一般在工业级推荐系统中,涉及到的推荐候选集是非常大的,比如淘宝上就有上亿的商品。召回其实就是一个初筛的过程,先通过简单的算法和策略将推荐候选集的规模限制在一个比较小的集合(一般几百到几千个),然后再用精准的排序算法对候选集进行精细排序。这么做的目的是将推荐过程拆解为两个先后依赖的步骤,这样做的价值一是将问题解耦,二是降低问题的复杂度,可以更好地工程实现。
 
基于召回算法的初筛目的,召回算法一般可以用比较简单的算法来实现,这样可以快速在大规模候选集中将待推荐的物品筛选出来,简单的召回算法在工程实现和效率上都是更好的选择。
 
另外,为了不至于错失用户可能真正喜欢的物品(如果召回阶段没有被筛选出来,那么这个物品就不会推荐给用户了),一般会用多种召回算法,每个算法可以从不同的维度来将用户喜欢的物品筛选出来。选择多个召回算法的思路有点类似集成学习,通过多路召回起到“三个臭皮匠,顶个诸葛亮”的作用。
 
现在大家应该对什么是召回算法及召回的目的了解了,那么下面我们介绍一些常用的召回算法,让大家知道我们可以从哪些维度进行召回。
 

6.2 常用的召回算法介绍

召回算法种类非常多,可以是简单的规则策略,也可以是复杂的算法。召回算法可以从数据维度来划分,可以基于用户画像的召回、基于用户行为的召回等。召回算法还可以从是否是个性化的算法来划分。下面我们从3个维度来分别介绍常用的召回算法,方便读者可以更好地理解各种召回算法之间的区别和联系。
 

6.2.1 基于算法复杂度的分类

如果按照算法复杂度来划分,我们可以将召回算法分为基于规则策略的召回、基于简单算法的召回、基于复杂算法的召回这3类,下面分别介绍。
 

6.2.1.1 基于规则策略的召回

这类召回算法是基于具体的业务场景和产品运营策略来制定的。比如可以基于热门进行召回(如各类排行榜),比如可以基于重点运营类目进行召回等(一般是运营人员来确定),比如可以基于不同的性别或者地域由运营人员整理一批候选集,针对用户的性别或者地域来进行召回。
 
其他的规则策略召回方法有很多,比如可以基于新品进行召回,也就是将最近新上架的商品作为一个召回池子。也可以基于最近的运营计划来召回,比如阿里在双十一期间会对某些商品进行促销打折,那么这类商品也可以构建成一个召回池。
 
基于规则策略的召回一般跟行业、策略、业务相关,不同的行业在不同时期有不同的做法,这需要算法工程师跟业务部门进行很好的配合,算法工程师在实施这类召回策略时一定要理解具体的业务场景和业务价值。
 

6.2.1.2 基于简单算法的召回

这类召回算法利用比较简单有效的算法进行召回,这类算法一般实现比较简单,容易理解,只要有相关的数据基础就可以实施,也是在真实业务场景中用得比较多的算法。下面举几个例子来说明。
 
对于推荐系统来说,每个用户都有历史行为(这里不考虑冷启动用户),那么就可以利用用户最近有操作行为的物品(比如用户购买了该商品)的相似物品作为召回,这类召回算法在信息流推荐中用比较多。相似度的计算方法很多,可以基于物品本身信息的相似度,也可以利用高阶的嵌入算法,比如矩阵分解、item2vec等。
 
一般来说,用户的兴趣画像可以很好地刻画用户的兴趣偏好,如果公司有完整的用户兴趣画像的话,也可以基于用户的兴趣画像标签进行召回。比如用户喜欢“爱情”电影,那么就可以将所有具备“爱情”标签的电影作为召回。其他维度的用户画像,比如年龄、性别、地域、收入等都可以作为画像标签进行召回,这要求我们对待召回的物品也要构建适合用户画像的分类体系(即物品画像),比如哪些商品是适合推荐给男性的、哪些是适合推荐给女性的、哪些是男女都可以推荐的。
 
上面列举了两个最简单的例子。其它简单的召回算法有很多,比如协同过滤算法、矩阵分解算法、用户聚类算法、关联规则算法、朴素贝叶斯算法等。我们会在后续章节详细介绍算法原理,这里不再赘述。
 

6.2.1.3 基于复杂算法的召回

这里指的复杂的召回算法主要是指采用深度学习、强化学习、迁移学习、半监督学习等较现代的算法来进行召回的方法。比如YouTube在2016年那篇经典的深度学习推荐论文中的深度学习召回算法(见参考文献1),我们在后面章节会介绍YouTube这个算法,这里不再赘述。
 

6.2.2 基于数据维度的分类

召回算法也可以按照使用的数据来进行分类。如果按照利用的数据来分类,召回算法可以分为基于用户数据的召回、基于物品数据的召回、基于行为数据的召回、基于场景数据的召回等4类,下面分别简单介绍。
 

6.2.2.1 基于用户数据的召回

基于用户数据的召回是指召回算法依赖用户相关的数据进行召回。比如利用用户的画像进行的召回都是这类算法。前面已经做了简单介绍了,这里不赘述。
 

6.2.2.2 基于物品数据的召回

基于物品相关的数据进行召回,可以基于物品的metadata信息(比如描述信息、分类、标签、价格、颜色、产地等)进行召回。
 
我们可以将物品每个维度的信息看成一个特征,那么任何两个物品之间的相似度可以通过计算两个向量的相似度来实现,每个维度的相似度可以有单独的算法,不同维度也可以赋予不同的权重,这就是所谓的向量空间模型,这时我们可以通过如下的方式计算两个物品之间的相似度。
假设两个物品的向量表示分别为:
这时这两个物品相似性可以表示为:
其中代表的是向量的两个分量之间的相似度。可以采用Jacard相似度等各种方法计算两个分量之间的相似度。上面公式中还可以针对不同的分量采用不同的权重策略,见下面公式,其中是第t个分量(特征)的权重,具体权重的数值可以根据对业务的理解来人工设置,或者利用机器学习算法来训练学习得到。
 
我们也可以采用更高阶的算法,将物品信息嵌入到一个向量空间(新闻推荐比较适合这类算法),利用两个向量的相似度计算两个物品的相似度。
 
这里提一下,基于物品的召回既可以用到相似推荐中(即为每个物品关联最相似的物品),也可以用到个性化推荐中(比如基于用户最近喜欢的物品,将该物品相似的物品作为召回)。
 

6.2.2.3 基于行为数据的召回

基于行为数据的召回又可以分为两类,一类是只基于用户自己的行为进行召回,另外一类是基于群体的行为召回。
 
利用用户喜欢的物品的相似物品作为召回或者用户最后一次操作过的物品的相似物品召回,就属于只基于用户自己行为的召回算法。
 
像前面提到的协同过滤算法、矩阵分解算法、用户聚类算法、关联规则算法、朴素贝叶斯算法都属于基于群体行为数据的召回。
 

6.2.2.4 基于场景数据的召回

这里的场景数据包括时间、地点、天气、上下文(比如是在加购物车之前、购买之前还是购买之后给用户进行召回等),也可以叫做上下文数据。这里简单对一些基于场景数据的召回加以说明,让大家可以更好地理解。
 
比如美团外卖就是一个典型的可以基于时间、地点召回的场景。早上、中午、晚上召回的食物是不一样的,早上的是早餐推荐,晚上可能是夜宵等。地点大家更好理解,你在不同的地点给你召回的食物一定是你所在地附近的店或者你的收货地址附近的店提供的。
 
像携程这种生活消费类APP,当你出行时,在不同的天气状况下为你召回的出行方式或者旅游地点应该是不一样的。
 
场景数据也比较好理解。比如你最近浏览了手机,那么淘宝会给你召回手机相关的电子产品,一旦当你付款买了手机后,就应该给你召回手机配件(比如耳机、贴膜、挂饰等)等产品,这个时候再给你召回手机就是非常傻的策略了。
 

6.2.3 基于算法是否个性化的分类

基于召回算法是否是个性化的,召回算法可以分为非个性化召回算法和个性化召回算法。下面分别简单介绍。
 

6.2.3.1 非个性化召回算法

所谓非个性化召回算法就是不基于某个待推荐用户相关的信息进行召回,比如前面提到的热门召回、基于运营策略、基于时间、基于地域的召回都属于这一类。
 

6.2.3.2 个性化召回算法

所谓个性化召回算法就是基于用户相关信息(比如用户画像、用户行为、群体行为等)进行召回的算法,比如基于用户兴趣标签的召回、协同过滤召回都属于这一类。
 
如果用一句话来总结非个性化召回和个性化召回的区别,那就是:如果这个召回算法为每个用户召回的结果是不一样的就是个性化召回,如果是一样的就是非个性化召回。
 
 
上面从多个维度来介绍召回算法的目的是希望大家可以更好地理解召回算法可以怎么做,实际上企业级推荐系统是会基于具体业务场景采用多种召回算法的。很多召回算法也可以归为多种类别,下面用表格列举一些常用的召回算法及它们的分类,方便读者可以更好地参考。
召回算法
基于算法复杂度分类
基于数据维度分类
基于是否个性化分类
热门召回
规则策略
行为数据
非个性化
物品标签召回
简单算法
物品数据
非个性化
用户画像召回(包括兴趣标签)
简单算法
用户数据
个性化
地域召回
规则策略
场景数据
非个性化
时间召回
规则策略
场景数据
非个性化
协同过滤(item-based、user-based)召回
简单算法
行为数据
个性化
矩阵分解召回
简单算法
行为数据
个性化
关联规则召回
简单算法
行为数据
个性化
用户聚类召回
简单算法
行为数据
个性化
朴素贝叶斯召回
简单算法
行为数据
个性化
深度学习召回
复杂算法
行为数据
个性化
 
上面简单介绍了各种召回算法及其分类,大家应该对常用的召回算法有了一个大致的了解了。在企业级推荐系统中使用召回算法也需要注意一些事项,下面我们来简单总结一下。
 

6.3 关于使用召回算法的3点说明

企业级推荐系统是一个非常复杂的业务系统,涉及到非常多的部门的配合,在真实业务场景中使用召回算法,我们需要注意如下3点。
 

6.3.1 尽量别使用太复杂的召回算法

召回的目的是为推荐进行初筛,所以需要在精准度和效率之间做平衡。太复杂的召回算法工程实现难度大,计算效率低(因为要从所有候选集中选择待召回的物品),使用这类算法是不划算的,特别当你的物品数量非常多时。
 
虽然我们在前面提到YouTube的深度学习推荐系统(参考文献1)用深度学习作为召回算法,但是它们在具体召回中是采用了一些工具和技巧的,采用了这些技巧后能在毫秒级从千万级的候选集中进行召回,所以是可行的。后面我们在介绍这个召回算法时会详细说明。
 

6.3.2 尽量用多维度的召回算法

前面也提到过,用多个召回算法相当于采用了集成学习的思想。既然召回算法建议大家用简单的算法,那么它的准确度不会特别高,如果我们采用多个召回算法(特别是从非常有差异性的召回算法),那么就可以提升整体召回的准确度了(这就是集成学习的优势)。
 
具体采用多少个召回算法因具体业务及资源而定。我个人建议至少要有3类召回算法:基于规则策略的召回(比如热门召回)、基于算法的召回(协同过滤、矩阵分解等)、基于内容的召回(比如基于兴趣标签的召回)。
 

6.3.3 需要要基于业务策略进行召回

推荐系统一般是要解决一些具体的业务问题的(比如用户停留时长、留存、转化等),那么基于业务目标去选择一些满足业务价值的召回算法是必须的。这里举个简单例子说明一下,比如业务目标是希望提升用户的视频观看时长,那么一些经典的好电影或者那些人均播放时长长的电影是可以作为一个召回策略的。
 

6.4 总结

本章我们介绍了推荐系统中常用的召回算法,这些算法是推荐系统的基础和核心,是每个从事推荐算法工作的人必须要了解、掌握和熟练运用的。本章我们也从多个维度来对召回算法进行了简单分类,希望不同维度的分类可以帮助读者更好地了解各个召回算法的特点及它们之间的区别和联系。我们会在后续章节对常用的核心召回算法的原理进行深入介绍,大家可以持续关注这一系列文章。
 

参考文献

1、[YouTube 2016] Deep Neural Networks for YouTube Recommendations

本文来自微信公众号【数据与智能】,未经许可谢绝二次转载至其他网站,如需转载请联系微信liuq4360


我要收藏
本文为专栏作者授权科易网发表,版权归原作者所有。文章系作者个人观点,不代表科易网立场,转载请联系原作者。如有任何疑问,请联系ky@1633.com。

我有项目

相关推荐
轻量化“数字孪生”3D引擎推动企业数字化转型发展
公司在 “数字孪生”核心支撑技术—3D轻量化领域已耕耘多年,形成了极具门槛的核心技术积累。截止目前,已为国内超过400家客户,涵盖制造业、工程建筑行业、高等院校,提供了3D轻量化产品及技术服务,应用于近500多个重大项目或系统平台建设。 主要产品与服务有: (1) 3D/BIM/GIS轻量化融合引擎(WebGL/服务器端渲染); (2) BIM/GIS施工管理平台; (3) CAD图纸轻量化引擎(WebGL); (4) 图模管理协同平台; (5) 汇报演示系统; (6) 图模查看工具; (7) 3D可视化沙盘搭建系统; (8) 搭建智慧工厂、化工、矿山、电力领域的3D设备模型交易平台。
领域:Web服务与集成软件
两性离子纤维素纳米纤维
纤维素纳米纤维作为一种天然的功能材料,近年来在制备、改性和应用方面已被大量的报道。纤维素纳米纤维作为一种绿色的功能材料,在油田钻采中具有非常巨大的应用潜力,然而目前最常见的纤维素纳米纤维在高盐环境中无法稳定存在,两性聚合物出色的耐盐原理为制备纤维素纳米纤维提供了新的思路。 项目通过表面修饰开发了一种纤维表面同时带有正离子和负离子集团的纤维素纳米纤维,即两性离子纤维素纳米纤维,两性离子纤维素纳米纤维的设计改变了TOCNF 在盐体系中无法适应的问题,为纤维素纳米纤维在油田钻采、海洋环境和污水处理等高盐环境中的应用提供了新的思路。
领域:新型纤维及复合材料制备技术
纸质卫生用品智能化再造
项目是基于物联⽹传感通信技术创新研发的智能护理产品。远距离监测使⽤者⼤⼩便情况、纸尿裤湿度温度、体位姿势,全天候贴⼼护⼠般提醒更换纸尿裤时间,为失能失禁⼈群提供⾼效准确的护理,是卧床护理领域的颠覆性转变。 通过可复用的夹带式/隐藏式智能传感器,一次性耗材的专用感应式成人/婴儿纸尿裤和监控APP,可以进行大小便识别、排泄超量通知 、穿戴超时提醒、湿度提醒 、翻身提醒、体温血氧心率等通知提醒,进行⽼⼈护理、妇幼护理、⽇常护理。 产品增加功能迭代规划:尿裤吸收量精确监测,数据曲线健康档案;单次尿量监测,24小时尿量曲线档案;血压血氧心率24h监测,建立历史健康档案;便尿生物标志物检测,疾病预警早筛等。
领域:其他
新型智能立体停车设备一体化解决方案
本项目为新型智能立体停车设备一体化解决方案,立体停车系统在传统机械立体停车库技术基础上,以多出入口、多通道的钢结构塔为载体,通过互联网将移动终端与立体停车库关联,通过先进的控制策略和调度系统将高效自动化机械与最优的停车路径结合,运用大数据分析对停取车潮汐现象、用户停车习惯等因素进行智能分析,实现停车策略动态化、自学习式管理,构建了一个具备安全、可靠、高效、智能、集约、便利设计全要素的新型立体停车库。 项目优势:专利技术,与现有设备差异化竞争;智能化程度更高;无需倒车,客户体验感佳;支持新能源汽车充电;应用场景广,可用于马路,河道,绿化带等;车型适配全,包括大型SUV。
领域:高端装备再制造技术
户外运动AR眼镜
公司是专注于AR眼镜领域的创新应用型企业。企业立足于科技与时尚领域,致力于为户外运动爱好者打造前所未有的动态空间视觉体验。高端、时尚、功能性强的AR眼镜,强调轻薄化设计、高清晰度显示⽰、大视场角和舒适的佩戴体验。突出产品市场元素,与品牌方合作,吸引追求个性化和时尚感的消费者。
领域:微电子系统技术
吸收自然能量,开启绿色冷源
公司是一家从事蒸发式制冷、数据中心节能、工 业余热利用等集系统研发、生产、销售、合同能源管理和售后服务为一体的高新技术企业。公司拥有五大系列产品,几十项发明和实用新型专利,专业的运营和工程服务团队,已成为中国联通、中国移动、 中国电信、中国广电等运营商的重要节能合作伙伴。间接蒸发式制冷产品包括直接蒸发/间接蒸发/多级间接蒸发/高温冷水机组/溶液调湿/金属芯体等全系列大中小型产品,定位于运营商定制化改造项目,市场潜力巨大。
领域:能源系统管理、优化与控制技术
接缝处理发展现状
接缝处理发展现状
接缝处理是指对材料之间的接缝进行加工和优化的过程,其主要目的是增强接缝的耐用性、美观性和功能性。接缝处理的方法和技术因应用场景和材料类型的不同而有所差异。
关键词:缝隙结构,影响因素,平整性,针对性,接缝处理
沥青层最大拉应变科研进展
沥青层最大拉应变科研进展
沥青层最大拉应变是一个关于沥青材料在受力情况下表现的重要参数。在路面结构中,沥青层在受到外力作用时,会产生应变,包括拉应变和压应变。最大拉应变是沥青层在拉伸过程中承受的最大应力变化量。沥青层的最大拉应变受到多种因素的影响,包括沥青材料的性质、沥青层的厚度、路面结构的设计以及外界荷载的作用等。因此,在路面工程设计和施工中,需要对沥青层的最大拉应变进行合理的计算和控制,以确保路面的安全性和耐久性。
关键词:拉应变,半刚性,有限元分析,ANSYS,沥青层最大拉应变
物候观察发展现状
物候观察发展现状
物候观察是一种对生物周期性现象与气候关系的研究和记录活动。这种观察是农耕文明的重要内容,与农业生产有直接的关联,甚至对政治、经济、文化等方面都有深远的影响。在进行物候观察时,首先需要选定一个合适的观测点。这个地点需要满足两个原则:一是地点要稳定,以便进行多年的连续观测;二是观测地点要有代表性,能够反映出当地的地形、土壤、植被等特征。选定观测点后,还需要详细记录地点的相关信息,如地名、生境、海拔、地形、位置以及土壤性质等,以便后续的分析和研究。
关键词:园艺,植物园,引种驯化,物候,世界各国,物候观察
复合式基层路面技术专利买卖交易
复合式基层路面技术专利买卖交易
复合式基层路面是指其基层由两种或多种不同类型和力学性质的结构层复合而成的路面。这种路面结构的设计旨在提高路面的承载能力、耐久性和抗水湿性能,同时降低维护成本。在复合式基层路面中,基层通常采用混凝土或沥青混凝土铺设,因其具有较高的抗压强度和较好的稳定性,可以给路面提供坚固的基础支撑。底层使用的是改性沥青混凝土或碎石等材料,其主要作用是承受车辆荷载并分散到基层,同时提供良好的排水性能,防止水分对路面结构的侵蚀。面层则通常采用耐磨层材料,如石砟、沥青等,以保证道路平整度和舒适性。
关键词:沥青混凝土,柔性材料,半刚性,半刚性基层,路面结构,复合式基层路面
平均增长系数法研发方向
平均增长系数法研发方向
平均增长系数法是一种用于预测未来出行分布或交通量分布的方法。该方法基于现状出行分布和各交通区的出行发生增长系数,通过计算起端和终端增长系数的平均值来推算未来的出行分布或交通量。具体来说,平均增长系数是出行的起端和终端增长系数的平均值。在预测未来的出行量时,可以使用以下公式:Tij^j=Tij^0×(Gi+Gj)/2,其中Tij^j表示i、j区间未来的出行量,Tij^0表示i、j区间现有的出行量,Gi表示i区的增长系数,Gj表示j区的增长系数。
关键词:系数法,出行分布,公交线路,OD,平均增长系数法
伸展构造样式技术的高校资源
伸展构造样式技术的高校资源
伸展构造样式是一种常见的地质构造样式,指的是地壳中岩石层在地质运动的作用下发生展伸的构造形态。这种构造样式在地球历史上普遍存在,对于地球科学的研究具有重要意义。伸展构造样式的形成是由于地壳内部的构造力学作用。当地壳中存在应力集中的地方,岩石层在受到压力的作用下发生断裂和展伸,形成伸展构造样式。这种构造样式通常表现为地壳的延展和拉伸,造成地壳的裂谷、断块和低陷等地质形态。
关键词:火山岩,展布,剖面,溱潼,剖面展布,伸展构造样式
城乡建设用地技术的高校资源
城乡建设用地技术的高校资源
城乡建设用地是人们生活、生产的主要场所,其特点在于相对聚集和面状分布,形态上区别于交通、水利、军事等线状或比较独立分布的建设用地。在最新的全国统一的土地利用分类系统中,城乡建设用地主要包括居民点和工矿用地中除盐田、特殊用地之外的其他用地,具体分为城镇用地和农村居民点用地两类。
关键词:结果表明,定量分析,城乡建设用地
浅褐色稃壳标记技术的高校资源
浅褐色稃壳标记技术的高校资源
“浅褐色稃壳标记”这个表述可能涉及植物学或农业领域,特别是在描述谷物或其他植物的种子外壳特征时。稃壳是禾本科植物颖果的壳,通常保护着种子。浅褐色则是对稃壳颜色的一种描述。如果这个术语用于科学研究或特定农业实践中,那么它可能有特定的含义或重要性。例如,它可能用于区分不同品种的谷物,或者用于追踪特定遗传特性的表现。
关键词:系选育,父本,光温敏核不育系,浅褐色,杂交,浅褐色稃壳标记
服务精选
服务案例
官方社群
标签