当下推荐系统的分析和关于长尾效应的解决猜想
记录一次线下技术分享心得,和自己工作上的一点体会,有不对的地方还请各位前辈指出。
当下推荐生态的发展历史:
从规则到协同过滤再到模型和现在比较流行的基于机器学习的推荐
比较常用的协同过滤算法的优缺点是很明显的:泛化能力弱 ,样本结果好
实时look alike 算法在微信看一看中的应用:中间采用Ralm算法
paper:Real-time Attention Based Look-alike Model for Recommender System
https://arxiv.org/abs/1906.05022
一、未被缓解的马太效应
1、推荐系统的设计初衷:个性化推荐需要解决信息过载
原始数据在抽象过程中都会出现信息损失,怎样才能做到信息损失最小,这是需要结合业务需求,做适当的取舍,
2、传统模型的遗留问题:
特征部分依赖,推荐结果趋热(这个问题工作中也遇到过,数据中存在大比例数据,无论怎么随机,怎么划分训练集和测试集,总会出现小比例数据学习不到的现象,而大比例数据学习充分)这是推荐中总会出现的马太效应。如何解决马太效应?(加入时间衰减?加入数据比例权重偏重?)
3、优质长尾内容投放困难
小众兴趣难以满足、影响系统生态。
uesr特征(年龄、性别)
原始样本(uin,item,label)-> .................. 拟合样本
item语义特征(topic、tag) ^
I
item行为特征(CTR,PV)----------------- 主导方向
--------------------------------------> 存在信息损失
Look-alike模型
在广告领域的经典方案:
基于行为扩展受众用户、KNN\DNN 需要针对item单独训练
Related Works:Similarity-based Regression-based
(相似度 聚类。 性能好,向量相似度、回归方式,建模种子用户作为模型正样本做二分类。 作为广告是很合适的,特点时效性不太好,,广告系统中种子用户作为样本输入)以上广告领域
我们的场景:对内用时效性要求高、候选集更新频率高 传统的一些推荐算法不适用。
核心需求:
1、时效性:新item分发无需重新训练模型,实时完成种子用户拓展
2、高效:在保持CTR前提下加强长尾内容分发,学习更具准确性和多样性的用户表达
3、快速:精简预测计算,满足线上的耗时性能要求
RALM算法:
User-user Model:用种子用户特征代替item行为特征
Seeds Representation :高效且自适应的种子用户表达方式
Real-time Look-alike:实时目标用户-种子用户群相似度预测。
解释:lookalike中:种子用户。用户相似度 找出目标用户。
field域的行为,域的权重有大有小。 强关联弱关联弱也是重要的。
历史数据的强弱决定强弱关系 concat layer 大学习重 小学习不重
attention 解决训练不均衡。
之前我们用单域描述种子用户,现在则是在各自域的训练空间(Attention Merge Layer)中训练学习再通过权重组合。
User Representation Learning:学习用户多域行为高阶画像(并不单纯的为用户一维画像描述)
Look-alike Learning:学习目标用户与候选item种子用户相似度完成种子扩展
Attention HybridCF Model:1、多样性与无偏用户兴趣,2、强关联\弱关联特征域
3、Attention Merge Layer:
如何表达种子用户?
1、种子群体每个用户对群体兴趣存在不同的贡献度,即群体的共性信息
2、种子群体中存在一小部分用户与当前目标用户兴趣相似,即群体的个性信息
种子群体相对目标用户的表达=个性信息(local info)+共性信息(globa info)
Local&Globa Embedding
1、Local attention 捕捉种子用户 local info:
2、Global attrntion 捕捉种子用户global info:
在线预测计算次数=h*h*k*2,耗时>1000ms
如何解决耗时问题?
1、K-means聚类后聚合种子用户,聚类计算可单独离线完成
2、训练中迭代更新族簇中心
3、计算次数减少至k/K耗时降低1000ms---->20ms
不同族簇中心数k带来的指标影响
(K取值在20~100之间)
模型训练
Negative sampling多分类:
系统架构
离线训练部分:
1、User Pepresentation Learning 2、Look-alike Learning 3、 Cache 全量用户Eu
在线异步处理:
1、更新种子用户,预计算Eglobal,2、计算K-means类簇中心,定时更新,节约线上计算
在线服务:
1、拉取Eu拉取候选集Embed,2、计算Elocal 的哦到相似度,3、提供曝光依据
其他一些思考:
特征:用户高阶特征的必要性和优势,(高阶特征,此外还有统计特征,但是统计特征信息损失比较大)
模型调优:防止模型过拟合、Stacking model(高阶特征用户 没有用item。防止过拟合)
冷启动曝光:初始投放策略曝光阈值调整,
计算错误成本,小流量启动,逐步增大流量。
冷启动 语义特征。百级别种子 相似度曝光试探曝光。比例选取,初始曝光策略,优质长尾池,运营池,曝光池,
广告实验,