分享嘉宾:单厚智 知乎 排序算法负责人
编辑整理:李岩哲
内容来源:DataFun AI Talk《知乎推荐页Ranking经验分享》
出品社区:DataFun
导读:本次分享主题主要从以下是三个方面展开:
首先大家看一下知乎APP的推荐页的推荐结果,由于单厚智老师对机器学习比较感兴趣,所以推荐内容大部分和机器学习相关。
--
01
推荐页请求流程
1. 召回:负责将用户可能感兴趣的内容提取出来,重点是全
2.排序:负责对召回的内容进行打分,可以理解为感兴趣程度,重点是准
3.重排序:出于产品或业务的考虑,对排序的内容进行重排,最终展示给用户
以上就是知乎推荐页的整体架构流程,下面针对Ranking模块做详细讲解。
首先介绍一下推荐页Ranking的演进历程,如下图所示,Ranking的演进主要经历了四个阶段。
按照用户的行为,比如关注,动态等,并根据时间进行排序;
它的问题是没有考虑到亲密度或者感兴趣的程度。
该算法借鉴Facebook的EdgeRank算法,根据用户亲密度进行排序。
采用GDBT模型。
深度学习模型,DNN等。
模型的选择主要有以下方面的考量:
深度学习大趋势;
能处理更高维度特征,如几十万话题量级,GBDT 无法完成训练;
非线性模型,不必做大量的特征组合;
使用GPU + HDFS结构,可以训练更多的样本。
--
02
特征介绍
我们的特征按照内容进行划,可分为如下分三类:
1.用户画像特征
2. 内容画像
3.交叉特征
用户与内容的交叉特征:比如用用户感兴趣的话题和当前待推荐内容的话题交叉。
特征的形式主要有以下几个方面:
--
03
特征设计
设计原则:
新特征方向:
1. 内容Embedding
实现细节:
该方法借鉴word2vec的原理,通过“词”去预测“上下文”,这里面的“词”就是itemId,“上下文”就是指在点击该Item事件前后,固定窗口下其他Item的Id信息。
之所以通过搜索行为构建序列,是因为搜索是属于“强目的”的,并且搜索结果内容相似。
下图是模型的训练结果,从结果可以看出,这些内容大体相似。
--
04
CTR模型
选择模型的原因:
(1)推荐页排序目标是把用户推荐感兴趣的内容排在前面,可有下面两个学习目标:
(2)分类问题相比回归问题,目标类别少,相对准确率高;
(3)分类问题场景业界应用较广,可交流空间大;
(4)分类问题最后会输出一个概率分,方便与多目标结合。
损失函数采用交叉熵:
1.最初DNN结构
结果:这一版模型的AUC为0.7618
2. 优化DNN结构
结果:AUC:0.7678,提升0.6%
3. Deep FM
该DeepFM算法与华为设计的DeepFM不同,改模型将FM层的结果作为DNN的输入。
4. Last View + DIN
我们基于的考虑是用户过去点击的内容肯定对他2将要点击的内容产生动态影响,这个模型参考了阿里的DIN模型,它会把用户看过的东西Embedding,然后根据Attention Score再乘起来,我们的做法有所不同,我们是基于Topic,是过去用户看过那些Topic下的内容进行划分。
5. Last Display + GRU
根据4的思想,过去点击的行为对现在能够产生影响,那么同理,过去展示的内容中没有点击的内容对当下的点击行为同样会产生影响,所以这里面增加了Last Display(包括点击和没点击的所有数据)。
5. 多目标
之前所有的模型都是基于CTR为导向来进行设计的,但是这样用户的负反馈可能会比较多一些,因为一些长尾的内容,或者大众化的内容会比较多,影响用户的体验。
后来考虑设计一个多目标模型,一个是基于点击率的模型,一个是基于收藏率的模型,基于点赞率,基于评论率等等,一共设计8个目标。
从性能方面的考虑,我们将底层权重设置成共享的,最后一层会根据不同的目标进行权重的训练。
主要分为以下步骤:
7. 最终模型结构
综合以上模型的优点,最终设计出如上图所示的模型。
--
05
经验分享
--
06
面临问题
1.推荐页与搜索页的特性不同
2.CTR 预估模型是 pointwise 模型,没有考虑单个内容与其他内容同时出现的影响
3.用户对感兴趣的东西会出现审美疲劳,要及时抓住这种特点,比如一个算法工程师看完几个机器学习文章后就不想再看了,这时候要能推荐一些其他话题的内容
--
07
未来方向
1.强化学习
2.优点
3.缺点
模型结构复杂,模型参数训练较困难。
今天的分享就到这里,谢谢大家。
阅读更多技术干货文章、下载讲师PPT,请关注微信公众号“DataFunTalk”。
分享嘉宾:
单厚智,知乎推荐算法高级工程师,排序算法负责人,硕士毕业于北京邮电大学,曾在搜狗从事广告点击率预估工作,引入GBDT+LR模型;加入知乎后,主要负责推荐页 ranking 工作,首次引入深度学习模型。
活动推荐:
关于我们:
DataFun:专注于大数据、人工智能技术应用的分享与交流。发起于2017年,在北京、上海、深圳、杭州等城市举办超过100+线下和100+线上沙龙、论坛及峰会,已邀请超过2000位专家和学者参与分享。其公众号 DataFunTalk 累计生产原创文章700+,百万+阅读,14万+精准粉丝。
欢迎转载分享评论,转载请私信。
| 留言与评论(共有 0 条评论) “” |