推荐系统本身很成熟,但是在落地过程当中,仍然会有很多困难。通过经历几个大型推荐系统项目,总结一些经验,帮助大家避坑。,,推荐系统模块一般如上图所示,先通过召回模块,将候选集召回,然后经过粗排、精排、重排等排序方式,将排序靠前的候选集推送给用户。,1. 埋点,个人观点:,埋点不难,用埋点的数据构造样本比较难,特别是实时社交比如直播。,理想的样本:,实际上面临的困难:,综上,将用户对应的行为,拼成样本,需要花费很多精力。,2. 用户画像,包括用户的基础画像和兴趣画像。兴趣画像来源于两个部分:用户的离线画像、用户的实时画像。其中,离线画像又分为长期离线画像、中期离线画像、短期离线画像。,3. 内容结构化,根据内容信息的不同,内容结构化方式不同,比如电商领域,内容为商品,商品的结构化信息包括分类、品牌、价格、规格等。,个人****观点:,多模态要是应用到推荐系统来,是个难点。,所以目前多模态性价比不高,讨论较多,但是用的较少。,特征工程,将结构化的信息转换成模型支持的数据格式。,特征选取的优劣,会最终影响到用户体验。所以特征工程及特征组合的自动化,一直是推动实用化推荐系统技术演进最主要的方向之一。,1. 特征内容,,2. 特征生成,个人观点:,(1)特征生成过程有什么难点?,(2)有什么热门的特征提取方式?,用Embedding(可以理解为稠密向量)进行特征交叉。,(3)特征工程的趋势:,(4)用在召回的特征提取,和用在排序的特征提取,有什么不同?,① 特征有差别:,② 样本有差异:,③ 做召回的时候,要考虑精准性和效率,精排要用到所有考虑到的特征。所以召回特征是精排特征的子集。,(5)特征抽取:,从全量信息集合中触发尽可能多的正确结果,并将结果返回给排序模块。,,个人观点:,数据决定模型的上限。召回决定了推荐的上限,因为精排的候选集是召回出来的。,1. 召回的要点,2. 召回的难点,注:Hit rate,在top-K推荐中,HR是一种常用的衡量召回率的指标.分母是所有的测试集合,分子是每个用户top-K推荐列表中属于测试集合的个数的总和。,举例:三个用户在测试集中的商品个数分别是10,12,8,模型得到的top-10推荐列表中,分别有6个,5个,4个在测试集中,那么此时HR的值是 (6+5+4)/(10+12+8) = 0.5。,3. 哪一种召回方式用的多?,4. 召回的趋势和新算法有哪些?,5. 因果推断算不算召回的新算法?召回是怎么用因果推断的。,6. 在做召回时,主要考虑的因素和性能指标有哪些?,根据提前设定的目标,对信息进行打分,使评分高的信息优先展示给用户。排序环节是推荐系统最关键,也是最具有技术含量的部分,目前大多数推荐技术其实都聚焦在这块。,1. 排序算法,,,个人观点:,(1)粗排,(2)精排,2. 多目标优化,多目标优化最关键的有两个问题。第一个问题是多个优化目标的模型结构问题;第二个问题是不同优化目标的重要性如何界定的问题。,如何设定不同目标权重,能够尽量减少相互之间的负面影响,就非常重要。这块貌似目前并没有特别简单实用的方案,很多实际做法做起来还是根据经验拍一些权重参数上线AB测试,费时费力。,而如何用模型自动寻找最优权重参数组合就是一个非常有价值的方向,目前最常用的方式是采用帕累托最优的方案来进行权重组合寻优。,个人观点:,(1)精排的多目标优化用的比较多,比如总的目标是成交gmv,就会分成点击率和转化率两个目标。,(2)多目标训练的好处:,(3)至于多目标优化,也有一些自动化的方式调权重,但是一般是人工拍。拍很多组权重,不同组权重的模型,在同一份测试集上出效果。,(4)多目标优化一般用PLE(Progressive Layered Extraction),腾讯CGC出的模型,一直没有被超越。新出的目标关系之间的建模,db-mtl,esmm等,都不如PLE。,(5)经典的还有Mmoe。,3. 多模态融合,在对专家的访谈中,发现业界对多模态的定义有两种:,个人观点:,多模态,比较让人头疼。,比如首页推荐,内容包括帖子、视频,排序的时候怎么排,很难用统一的模型,因为帖子、视频分属于不同的业务线,很多特征在这条业务线上有,其他业务线上没有。所以没有好的统一的召回模型和统一的精排模型,只能偏人工策略。,某大厂采用的方法是,先算首页有多少个坑位,基于流量价值和用户喜欢哪条业务线,人工给权重,分给每个业务线多少个坑位,再将业务线中的商品按照推荐算出来的排序填充坑位。,4. 重排序,根据用户最终的使用体验及运营需求,进行排序结果的重新排序。,,个人观点:,(1)难点,① 如何保证用户满意度最高的同时,也保证创造者能够得到流量。,② 用户产品和商业产品的平衡:,1. 推荐系统的冷启动,,个人观点:,冷启动的解决办法太多了。,① 类协同过滤的,找和新用户基础属性相似,又行为丰富的人,推荐这样的人喜欢的商品给新用户。,② 通过ml的方法,因为冷启动行为少,先利用之前的数据,训练好一个模型,直接赋给冷启动的用户,这样用少量数据,模型也可以快速收敛。,③ 通过业务的规则去做。什么场景下,给用户推荐什么内容。,④ 图神经网络。对物品冷启动有很好效果。,⑤ 用户的冷启动,可以收集跨域信息,比如去其他业务线包括二手房、商业地产收集用户信息。,⑥ 还可以通过提示是否喜欢一些标签,来获取用户数据。,⑦ 冷启动的基本原则是老物品给新用户,新物品给老用户。,2. 推荐系统的评估指标,个人观点:,离线评估指标:不同环节,不同指标。,业务场景中:,① 推荐系统评估使用工具:ab测试平台。,② 使用指标:CTR、CVR、人均使用时长、信息相关性等;,③ 也会关注留电率,但是这种线下数据太稀疏了,所以还是主要看CTR、CVR。,④ 平台在不同阶段关注的不同:,个人观点:,推荐系统在不同的界面(比如首页、购买成功页、商品详情页)等,推荐系统的算法逻辑差异比较大。,1. 推荐系统在业务上的难点,不同的公司目标不一样,选用什么样的数据模型来完成公司的战略意图。比如公司现在想要用户的真实互动和分享,推荐系统应该把分享多的内容推荐给用户,但是这样会导致诱导分享的内容更容易被推荐。,如何判断优质内容,从而更好地把优质内容推荐给用户,是推荐系统在业务上的难点。,2. 精准性和惊喜性的平衡,推荐系统的精准性现在很容易做,基于上述全链路的算法,再配合好的特征,那么能得到一些好的商品。但是会面临问题:推荐商品很单一。比如点了很多连衣裙相关的,会不断推连衣裙。推荐系统具有滞后性,只会推用户已经行为过这些东西。虽然用户可能也会点击,但是这样对于一个推荐系统,是不够优秀的。,如果用户有多种兴趣:连衣裙、小吃等,会有打散策略,给她推多种兴趣的商品,这样问题还小一点。,如果用户兴趣单一,推荐系统就会只推她喜欢的那个兴趣,就是推荐系统不够好。,好的推荐系统,要为用户提供惊喜性、发现性,要推荐用户恰好想要的。精准性和发现性需要兼顾,做一个平衡。,3. 没有数据是最难的。不断会有新的场景出来,新场景的数据不足。,**4. 推荐系统给新的内容生产者的流量:**没有看到一些很好的保量的算法。现在用的多的是pid,比例微分积分。投放速度快,就限制一些,投放速度慢,就减慢一些。,**5. 推荐对业务的价值:**怎么让推荐对整个业务起到作用,让整体业务增长。,**6. 推荐所需的环境和条件:**数据、abtest、线上工程,都能具有非常好的鲁棒性。
文章版权声明
1 原创文章作者:cmcc,如若转载,请注明出处: https://www.52hwl.com/22414.html
2 温馨提示:软件侵权请联系469472785#qq.com(三天内删除相关链接)资源失效请留言反馈
3 下载提示:如遇蓝奏云无法访问,请修改lanzous(把s修改成x)
4 免责声明:本站为个人博客,所有软件信息均来自网络 修改版软件,加群广告提示为修改者自留,非本站信息,注意鉴别