当下推荐系统的分析和关于长尾效应的解决猜想

记录一次线下技术分享心得,和自己工作上的一点体会,有不对的地方还请各位前辈指出。


当下推荐生态的发展历史:
    从规则到协同过滤再到模型和现在比较流行的基于机器学习的推荐
    比较常用的协同过滤算法的优缺点是很明显的:泛化能力弱 ,样本结果好

实时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。防止过拟合)

冷启动曝光:初始投放策略曝光阈值调整,

计算错误成本,小流量启动,逐步增大流量。

冷启动 语义特征。百级别种子 相似度曝光试探曝光。比例选取,初始曝光策略,优质长尾池,运营池,曝光池,
广告实验,