知乎首页推荐系统

栏目: 数据库 · 发布时间: 5年前

内容简介:架构部分主要是针对业务的发展把召回、排序等模块进行了可配置化和选型梳理算法部分基本上参考youtube2016和alibaba2018的思路对系统进行了重构,包括召回和排序,也结合自己的业务做了一些优化,值得参考。

前记

架构部分主要是针对业务的发展把召回、 排序 等模块进行了可配置化和选型梳理

算法部分基本上参考youtube2016和alibaba2018的思路对系统进行了重构,包括召回和排序,也结合自己的业务做了一些优化,值得参考。

系统架构

  • 高并发场景从 python 到golang,利用抽象工厂模式来实现可插拔
  • 解决支持多队列混排和支持多路召回
  • 具体的召回方式主要是ES + Redis + ANN 的模式进行构建。ES 主要支持相对复杂的召回逻辑,比如基于多种 topic 的混合召回;Redis 主要用于支持热门召回,以及规模相对较小的 CF 召回等;ANN 主要支持 embedding 召回。
  • 离线任务和模型的管理问问题
    • 离线任务的代码统一到一处管理
    • 离线任务管理平台,将所有任务以通用包的形式进行管理
    • 任务结果的监控体系
  • 特征穿越问题
    • 在线代替了离线,通过在线落特征日志,而不是 Raw Data,并统一了特征日志 Proto,如此就可以统一特征解析脚本。
  • StatsD + Grafana + InfluxDB 的监控系统,因为召回已经用配置的方式,那么剩下的召回源的比例关系,还有特征分布,ranking 得分分布都可以很方便的获取,而不用一个一个开发

召回

  • 多路召回:用户画像、内容标签、内容源信息、关注关系队列、搜索关键词队列、用户兴趣召回感兴趣的内容,根据搜索关键词进行相关推荐
  • DNN召回1.0
    • 用户 128 维的 Embedding 表示
    • 冷启动:看到内容用户的 Embedding 是什么以及点击这些内容用户的 Embedding 是什么,我们可以利用这份数据把这些新产生内容的 Embedding 计算出来更新到 Embedding 库里面去
  • 准确度 DNN 比起 ALS 来讲提升了10倍的量级
  • DNN召回2.0
    • 原始数据比如长度有多少,有没有图片,经过三层的网络之后会生成 Feed Embedding,可以直接得到 Content Embedding,解决新内容的召回机制问题
    • 1)User Representation Network 引入 FM Pooling 层,学习用户高频消费行为的交叉特征,会让 Top100 的精确度提高 8%,2)我们把展示未点击的数据作为特征引入到 User Representation Network 里面,其中会用到历史搜索和历史阅读数据。3)展示了但是跳过的内容会在采样的时候加大权重,把它成为负例的概率变得更大,让用户的行为来指导采样。

排序

  • GBDT -> DNN -> ATTENTION+LSTM , 强化学习
  • 引入 FM 层作为这些类别之间的 Sparse Input 之间的交叉,AUC 提升了 0.2%,CTR提升了 1%。引入 CNN 及 LSTM 分别作为文本Encoder/Last Action Encoder,单用户使用时长提高 50 秒。
  • 引入 Attention 机制作为用户 Embedding 和 Candidate Embedding 之间的交叉权重,单用户使用时长增加了 40 秒左右
  • 多目标:我们使用了 CTR 预估模型预训练网络,利用 Parameter Hard Sharing,点击和点赞这两层共享之前的权重,会有一个独立的隐藏层 model task 自己的目标,这样能降低前向/反向传播中的计算量。
  • 将连续值预测转化成离散值预测:阅读时长的分布,这个分布与正态分布比较类似。所以我们使用了 z-value 来对阅读市场进行离散化,离散化之后会把阅读时长分为五等——没点击、点击了阅读时长低、点击了阅读时长中等、点击了阅读时长偏高、点击了阅读时长非常高
  • 修改了 Softmax 函数:如果预测出的档数和实际用户阅读时长档数差太多,我们加一个比较大的修改函数,让这种样本的 loss 加大

模型训练问题和业务问题

  • 样本组织:线上进行实时打点避免穿越;正负样本进行不同采样率的实验
  • 特征工程:分布范围比较大的特征,有一万个赞也有几万个赞的,做 CTR 预估的过程中赞量的影响会变得非常不平均,所以通常会进行特征的归一化和 boxing,分成不同的段输入
  • 模型评估:做了一个 DCG Gain 收益的指标,比AUC具有更高的参考意义
  • 多样性问题:一个内容出现几次之后你没有点击,之后都不会推荐相似的内容
  • 信息茧房:针对老用户及兴趣比较均匀的用户,适当减少兴趣探测力度,在探测过程中也会尽量使用 Tag 之间的关联信息增强探测效率

总结

  • ES也许在我们目前的场景中能发挥用处,而不用人工来进行索引拆解
  • DNN来进行召回和排序看起来已经是业界非常通用的方法了,而且ESSM和DIN、DIEN这些ali的方法看起来工业届也是用起来比较合适的
  • 特征工程其实有很多统计的工作
  • 配置化不仅策略上线方便,监控也方便

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

免费

免费

克里斯•安德森 / 蒋旭峰、冯斌、璩静 / 中信出版社 / 2012-10 / 68.00元

一种商业模式既可以统摄未来的市场,也可以挤垮当前的市场——在我们这个现代经济社会里,这并不是一件不可能的事情。 “免费”就是这样的一种商业模式,它所代表的正是数字化网络时代的商业未来。 在《免费》这本书中,克里斯•安德森认为,新型的“免费”并不是一种左口袋出、右口袋进的营销伎俩,而是一种把货物和服务的成本压低到零的新型卓越能力。在20世纪“免费”是一种强有力的推销手段,而在21世纪它已经成为......一起来看看 《免费》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

随机密码生成器
随机密码生成器

多种字符组合密码