ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

[论文笔记]Recommending what video to watch next: a multitask ranking system

2021-07-11 22:02:47  阅读:206  来源: 互联网

标签:候选 偏差 what wise ranking 位置 watch 排序 视频


一.论文题目与作者

Zhao Z ,  Chi E ,  Hong L , et al. Recommending what video to watch next: a multitask ranking system[C]// the 13th ACM Conference. ACM, 2019.

二.创新点

挑战:在Youtube中,有多个影响排序的目标相互竞争。并且,在用户的反馈中,包含隐式的选择偏差。

目标包含两大类:

1.参与度:用户是否点击、与推荐的视频的参与度,如停留时长

2.满意度:用户是否喜欢视频、给视频的打分

在本文中,使用MMoE结构,来优化多个排序目标。同时,在Wide&Deep框架下,额外添加一个浅层网络,接收与位置相关的输入,再输出偏移项,来缓解数据的偏差问题。

通读下来,本文网络结构的创新倒是寥寥,但是涉及很多推荐中的实际问题,如数据偏差、多模态特征处理、point-wise/pair-wise/list-wise等打分方式,倒是让人开眼界不少。

三.推荐相关知识

论文中关于什么是推荐、什么是数据偏差的解释:

  • 个性化的视频推荐系统:

  • 给定query(用户的观看历史)和context(如周五晚上在家,有一个候选的视频列表),返回给用户想看的一个视频列表。

  • 数据偏差:

  • 由于系统的选择使得某视频靠前,用户可能会点击该视频,尽管这不是用户最喜欢或者最需要的视频。当新的模型基于此来训练的时候,就会产生偏差。长期就会产生循环效应。

缓解偏差问题的常见做法:

  1. 在输入特征中引入位置特征,学习P(relevance|pos),预估当pos=1时的相关性P(relevance|pos=1)。即假设当pos=1的时候数据是无偏的。

  2. 从位置中学习偏移项。可以了解下逆倾向分数,inverse propensity score。

推荐系统需要考虑的因素:

  1. 多模态的特征空间通常包括:视频内容、视频缩略图、声音、标题、表述、用户特征等。包括两个难点:1)需要填补低层次内容特征与内容过滤的语义鸿沟;2)从items的稀疏分布中学习协同过滤。

  2. 可扩展性。可扩展性非常重要。推荐系统不仅需要学习数十亿个item和用户的表现形式,而且需要在打分过程中做到高效。

推荐系统两阶段:

  1. 召回

召回,即从巨大的子集中选出数百个候选项。召回的方式有很多,每一种召回方式捕捉query视频和候选视频在某一个方面的相似性。

1)匹配query视频的主题;

2)匹配经常和query视频同时看的视频;

3)给定用户的浏览历史,生成个性化的视频;

4)生成感知上下文的候选视频。

2. 排序

从数百个候选项中生成排序列表。对用户最有用的item会被排在最前面(highest utility)。

本文采用point-wise方法,对每个候选视频进行预测。

point-wise与pair-wise和list-wise的区别:

  • point-wise:对每个候选视频进行预测;

  • pair-wise:对一对候选视频进行预测;

  • list-wise:对多个候选视频进行预测。

与point-wise不同,pair-wise或list-wise是对两个或多个候选项对排序进行预测,可以潜在地改进推荐项目的多样性。本文是基于在线服务的考虑,使用point-wise排序。对于在线服务,point-wise排序对大量的候选视频是最简单和有效的。相比之下,pair-wise或list-wise需要对pairs或lists进行多次打分,以便在给定一组候选项的情况下,得到最佳排序列表,从而限制了它们的可扩展性。

四.网络结构

整体结构可以看作是Wide&Deep模型的扩展,浅层网络可以看作是Wide部分。

模型的输出分为两部分:

  1. 主模型中学到的各个意图;

  2. 浅层网络中学到的倾向分

目标包含两大类:

  1. 参与度

  2. 是否点击:二分类任务

  3. 观看时间:回归任务

  4. 满意度

  5. 是否点击喜欢:二分类任务

  6. 评分:回归任务

对于二分类任务,使用cross entropy loss;对于回归任务,使用squared loss。

通过多分类的任务,得到上述打分后,通过加权和得到最后的综合分数。权重是人工调整的,用于更好的平衡用户的参与度和满意度。

  1. 主模型

主模型使用MMoE网络。不同于使用硬参数共享的shared-bottom model结构,MMoE网络使用软参数共享的方式,建模任务的冲突与关系。具体细节与MMoE类似。

gate是通过softmax函数,对输入进行简单的线性变换得到的:

2.缓解偏差的浅层网络

很常见的一种现象是,用户会因为视频的位置更靠前,而去点击和观看该视频,而不是完全出于自己的实际需求。因此,浅层网络的目标是,缓解来自线上排序系统的偏差。

具体做法是:

在训练的时候,将与选择偏差相关的特征输入到浅层网络中,输出偏差项,将其加入到最后的输出中;

而在线上服务的时候,则去掉位置特征。

所有的impressions都会被使用,随机drop out 10%,防止模型过度依赖位置特征。

在浅层网络的输入中,除了位置特征,还会使用设备特征,是因为不同类型的设备会造成不同的位置偏差。

五.实验结果

本文没有给出离线的实验结果,就一起看一下线上的吧。

  1. multi-task

验证MMoE结构的有效性和MMoE中experts的数量对最终实验结果的影响。

不同子任务对不同的experts的依赖程度。

2. position bias

随着位置越来越低,CTR显著降低。而更高位置的CTR更高,是由于推荐的item更加相关和位置更靠前的综合影响。

(强行理解一下,位置9的CTR低,可能并不是因为完全不相干,也有可能是位置更靠后,所以给位置9的位置偏差绝对值更大一些??

位置1的CTR高,同时位置会更好一些,也就是说,位置带来的副作用更少一些,所以位置偏差的绝对值要更小一些??

不知道是否正确。)

除了在Wide&Deep的框架下,使用浅层网络学习position bias外,还可以使用以下方式:

  1. 直接将input feature作为输入;

  2. 利用迁移学习,在dann中将预测位置作为辅助任务。

实验结果表明在Wide&Deep的框架下使用浅层网络的效果是最好的:

六.未来方向

  1. 探索更多更稳定的多任务学习的结构,例如SNR;

  2. 理解和学习因式分解,建模更多已知或未知的bias;

  3. 模型压缩。

七.总结

读完本文最大的收获就是了解排序中数据偏差带来的影响、召回等知识点。无心插柳。

标签:候选,偏差,what,wise,ranking,位置,watch,排序,视频
来源: https://blog.csdn.net/u013250416/article/details/118660646

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有