一、系统概述
为什么要做排序?
召回的目的是全,排序的内容是准,如果能将召回的内容以恰当的顺序展现,那么对于提升用户体验(也有助于提升留存)、优化商业变现(广告精准投放)有一定的帮助。
由于内容本身好坏差别比较大,加上召回渠道、召回算法的多样性,导致召回阶段不能对数据(用户偏好数据)有很好的预测,所以需要排序过程对内容进行统一打分。
排序包括什么?
(1)离线计算:数据整合、特征提取、模型训练、线下评估
(2)近线实时数据流:在线和离线之间的步骤,清洗原始数据,供下游模型使用
(3)在线打分:对召回内容进行整合和打分重排序
二、排序算法
排序算法处于不断演变的过程。
LR:逻辑回归模型,用来做二分类
MLR:多元线性回归,可以解决非线性问题
GBDT:迭代决策树
XGBOOST:加入正则化,是升级版的GBDT
三、重排序
主要基于业务需要,展现形式有置顶、运营分发(抖音)、广告竞价排名(百度)等。
那么重排序应该怎么操作呢?
(1)基于内容
加大权重:今日头条的内容置顶
隔离:相似内容隔开,始终吸引用户
噪声过滤:考虑文章阅读时长,打击标题党
(2)基于用户
惩罚热点:对热点内容的用户操作如评论、转发等,进行降权处理
时效性:用户不断有新的动作产生,老特征下降权重,新特征加强权重
惩罚特征:如果一篇或一类文章没有被点击,其相关特征(关键词、来源)会被降权