推荐系统的 fairness bias debias
1 population imbalance
用户不应因为自身的性别 年龄 种族而接受到不同的推荐结果 仅仅是出于政治正确和平台长期利益的考虑
2 multiside fairness
推荐系统不应只服务于用户 也要考虑到物品和平台自身的利益
3 position bias
位置靠前的物品比位置靠后的物品更容易受到用户的注意 从而使模型对用户偏好的感知出现偏差
4 exposure bias
用户看到的只是曝光出来的物品 未曝光或次数少的物品由于缺乏用户行为数据 更加得不到曝光机会 恶性循环
5 selection bias
用户看到的是推荐系统挑选出来的物品 而这个选择物品的过程并不是随机采样的 因而用户看到的物品的分布
和潜在的用户可能感兴趣的物品分布不一致。
6 algorithmic confounding bias
推荐算法训练数据的本身是受推荐算法自身的影响的 如果不考虑这一因素 推荐算法可能越推越窄
7 popularity bias
被推荐物品的全局热度会影响其排序 导致推荐系统可能向用户推荐热门而非相关的物品
参考自 https://zhuanlan.zhihu.com/p/163163906
里面也有各偏差下的解决方案。
内容分发:
1 为了让内容更加高效传达给用户
2 为了让用户获取到更多元的信息
3 内容分发为内容生态提供了更多的用户行为数据,有助于内容供应商和内容需求方更加高效的对接。
内容的形式:
文字、 图片、 音频、 视频
常规分发渠道:
精准分发、 聚合分发、 关联分发、 热点分发、 个性化分发
内容分发的三个核心节点:
内容、 渠道、 用户
推荐系统的数据大致分为以下4类:
用户行为、 物品信息、 用户画像、 外部数据
做召回时,用深度学习模型的话,一般是基于 用户行为 的深度学习召回模型 可将其视为一个 包含数百万类的多分类模型
模型输入: 某一时刻用户的浏览序列
模型输出: 下一刻用户可能会浏览的内容
对比协同过滤,深度学习有以下的优势:
1 更全面的行为表达
2 可添加画像特征
3 考虑用户的行为顺序
4 组合复杂特征
以下 摘自知乎文章: https://zhuanlan.zhihu.com/p/100019681
推荐流程
召回-粗排-精排-重排
召回
有时候因为每个用户召回环节返回的物品数量还是太多,怕排序环节速度跟不上,所以可以在召回和精排之间加入一个粗排环节,通过少量用户和物品特征,简单模型,来对召回的结果进行粗略的排序,在保证一定精准的前提下,进一步减少往后传送的物品数量,粗排往往是可选的,可用可不同,跟场景有关。
目前,召回环节的有监督模型化以及一切Embedding化,这是两个相辅相成的总体发展趋势。
在embedding基础上的模型化召回 是个符合技术发展潮流的方向
传统的标准召回一般都是多路召回
可以这样理解,每一个用了单特征的单路召回 是用了 一个特征的 排序结果。
协同召回 这种可以看作 是只包含UID和ItemID的两个特征的排序结果
我们可以根据召回路 有无 用户个性化因素 来划分
一类是无个性化因素的召回路(比如热门文章) 另一类有有个性化因素的召回路(比如用户兴趣标签召回)
模型召回(可以理解为 多特征融合的召回模型,即对多个单方面的特征都进行了考虑 也就类似于多路召回了) 其实 可以理解为 跟多路召回是一个差不多的关系
此外 召回的方向 还有 用户行为序列召回 , 用户多兴趣拆分 , 知识图谱融合拆分 , 图神经网络模型召回
排序
是推荐系统 最关键 最有技术含量的 环节
可从三个角度看其发展:
1 模型优化目标:
List Wise
多目标优化
2 模型表达能力:
显示特征组合
特征抽取器优化
AutoML
增强学习
3 特征扩充及信息融合:
长短期兴趣分离
用户行为序列
图神经网络
多模态融合
重排
重排这个环节集中了 各种的 业务 和 技术策略 (比如 去除重复 结果打散 强插某种类型的推荐结果)
但是 从技术发展方向看 重排阶段上模型 来代替各种花样的业务策略 是个总体的大趋势
多目标排序
有多个目标函数 找到一种排序方法使得多个目标都达到整体最优。
为什么需要多目标排序:
推荐系统大多基于隐式反馈来推荐 这其中包括偏差。
目标偏差 : 例如购买比点击的表达更有效
物品偏差 : 例如标题党文章点击率高
用户偏差 : 例如有的人喜欢点赞,有的人喜欢收藏
多目标方排序问题的解决方案大概有四种:
1 改变样本权重
2 多模型分数融合
3 排序学习
4 多任务学习(multi-task learning 简称 MTL)
feed流 和 瀑布流 有什么区别?
首先,feed流和瀑布流本质上都是信息分发的方式。
区别点在于:
1 feed流“千人千面”,会针对用户的喜好,推送给用户喜欢的内容。例如抖音、淘宝、知乎。
2 瀑布流“一视同仁”,推送给所有用户的内容都是一致的。例如36氪公众号、得到。
内容生命周期:
试投
加速
衰退
离场
试投:在这个阶段,会给物料一定的推荐量,通过实时计算,会得到这篇物料在第一批投放的人群中的数据指标,如果指标达到一定的值,就会进入下一个阶段--加速;如果指标不能满足,这篇物料基本上就不会有太多的推荐量了。
加速:在这个阶段由于物料有了基本数据的反馈确认,会进一步给该物料更多的推荐量,如果做过头条号的同学一定是能够感受到这样的推荐过程的。这个加速阶段有的是一波流,上来量放得太猛,导致推荐量猛增,试投阶段的数据指标一下就猛跌,这是我们曾经在运营过程遇到过的,后来在算法策略上逐渐优化,在数据指标和推荐量上达到一个较好的临界区间。
衰退:加速过后,物料都会迎来衰退期,但是对于不同的物料衰退的速度不一样,高时效性的物料来的快,去得也快,衰退期就会很短;但对于某些时效弱的物料,衰退的速度就会缓慢一些。比如一条全国油价上调的资讯,会很快的推给大部分用户,然后很快的就离场;而一篇教你怎么改装车的文章,则可能会持续一个月,甚至更长的时间,这种物料呢一开始在加速阶段推荐量可能没有那么多,但随着时间的积累,总的推荐量也很可观。所以这种对时间不敏感、优质的文章也是用户所喜欢的,这样的文章在点赞、评论、收藏这些互动数据指标上也有较好的表现。
离场:离场是什么意思呢,就是这篇物料不在进入推荐的候选集中,这样的物料后续再次被曝光的可能性很小,除非是搜索出来
push:消息推送(或者内容推送,视频推送)
1 如何评价机器学习做的好不好
本质是怎么量化 用户体验。一个好的评价标准,对于行业的发展至关重要,比如imageNet在图像上的效果。但很多工业界的应用,并不能像学术界一样,有单一明确的指标来量化。
现在大部分的推荐系统,核心指标都是点击率(视频类型的大概率是视频播放完成率)。点击率当然很重要,但直接等价与用户体验,谁都知道不合理。
尝试方案:
现阶段,比较落地的方案,是数据驱动,基于一套多粒度的数据指标,评价用户体验,也即是陈然提的:深入了解海量用户体验需要大量精细化的数据支撑。
2 如何可控的让机器学习做的更好。
技术的发展,总是会带来方法论的变化
如何可控的让机器学习做的更好。以我浅薄的见识来看,我们必须放弃不切实际的掌控感,调高自己的风险偏好,接受大部分工作是失败的,可以有效的缓解焦虑。
从方案来看,大概有两个方向。
第一是基于case分析法,一套推荐系统,比如会存在大量的badcase,大部分的badcase是由于模型本身带来的,短期很难解决。但也有不少可以帮助我们理解模型,发现优化点。所以,算法组同学必须重视看case和分析case。
第二是,是基于团队合作的假设验证法。机器学习应用的时候存在大量的不确定性,但不是说大家在乱试。刚起步的团队,follow业界主流线,再结合自身业务特点去解决问题。
短带长: 用户在看完 短视频 片段后会去寻找完整的长视频内容观看 我们称之为 短带长。
其实短带长 更多的是 短视频平台 经常考虑到的一个问题
长视频 与 短视频
长视频,其实做的是内容的生意
短视频,其实做的是流量的生意
长视频平台企图以长带短,以剧、综艺等长视频内容作为短视频的内容素材来源,
这样导致的结果,是短视频内容只能是剧情、花絮、明星、OST这几类围绕长视频主题的内容。
UGC: 用户生产内容(用户自由上传内容 参与度高 内容丰富)
PGC: 专业生产内容(专业分类化 内容精品化 大多传统媒体)
OGC: 品牌生产内容
三者其实是可以转化的
PGC其实可以理解为随着 专业化程度的加强,UGC变为PGC。
一般来说,UGC用户的参与度和粘性都要更高。
PGC算是在特定领域内的单方面信息输出。
PUGC: 集合了UGC, PGC的双重优势,有了UGC的广度,通过PGC产生的专业化的内容能够更好的吸引,沉淀用户。
就比如 在 喜马拉雅FM中,有韩寒,郭德纲的音频页,为平台创造内容。
看到一篇文章,论BiliBili 市值超过 爱奇艺 其实就是 UGC 和 PGC 的差别
链接见: https://www.zhihu.com/question/397623238/answer/1472852006
马太效应 也就是长尾效应
推荐的商品会集中在少部分商品中,而大部分的长尾商品是沉寂的,长此以往 会造成推荐疲劳。
挖掘长尾-更多的个性化-可通过适当的热度降权(前提是保证点击率的情况下)
或是 时间衰减,随着时间的迁移,其整体热度会不断的下降。
网友评论