技术帖:每天被今日头条推送文章 背后的算法技术是什么?
1月11日,北京今日头条总部,一场问诊算法、建言算法的“让算法公开透明”分享会正在进行,雷锋网观察到,包括BAT等在内的诸多科技公司算法工程师、产品经理等100多人参与现场讨论。资深算法架构师、中国科学技术大学曹欢欢博士于现场介绍了今日头条的推荐算法原理。
曹欢欢表示,今日头条资讯推荐系统本质上要解决用户、环境和资讯的匹配,要达到这一效果,其算法推荐系统输入三个维度变量:
-
一是内容特征,图文、视频、UGC小视频、问答、微头条等,每种内容有很多自己的特征,需要分别提取;
-
二是用户特征,包括兴趣标签、职业、年龄、性别、机型等,以及很多模型刻画出的用户隐藏兴趣;
-
三是环境特征,不同的时间不同的地点不同的场景(工作/通勤/旅游等),用户对信息的偏好有所不同。
结合这三方面维度,今日头条的推荐模型做预估,这个内容在这个场景下对这个用户是否合适。
算法推荐要达到不错的效果,需要解决好这四类特征:
-
相关性特征,解决内容和用户的匹配;
-
环境特征,解决基础特征和匹配;
-
热度特征,在冷启动上很有效;
-
协同特征,考虑相似用户的兴趣,在一定程度上解决所谓算法越推越窄的问题。
但是,曹欢欢表示,点击率、阅读时间、点赞、评论、转发,这些都是可以量化的,但一个大体量的推荐系统,服务用户众多,不能完全由指标评估,引入数据以外的要素也很重要。有些算法可以完成,有些算法还做不到、做的不好,这就需要内容干预。
总之,没有一套通用的模型架构适用所有的推荐场景,头条仍需要一个非常灵活的算法实验平台,这个算法不行,马上试另一个算法,实际上是各种算法的一个复杂组合。据雷锋网了解,西瓜视频、火山小视频、抖音短视频、悟空问答,都在用头条这一套推荐系统,但具体到每套系统,架构都不一样,需要不断去试。
正在基于上文所述反复训练推荐的需要,今日头条有一个世界范围内比较大的在线训练推荐模型,包括几百亿特征和几十亿的向量特征。
但是,完全依赖模型推荐成本过高,因此,今日头条也有简化策略的召回模型——基于召回策略,把一个海量、无法把握的内容库,变成一个相对小、可以把握的内容库,再进入推荐模型。这样有效平衡了计算成本和效果。
曹欢欢表示,在今日头条工作前三年,收到用户反馈最大的一个问题就是——“怎么老给我推重复的?”
曹欢欢解释称,每个人对重复的定义不一样。有人昨天看到一篇讲巴萨的文章,今天又看到两篇,可能就觉得烦了。但对于一个重度球迷来讲,比如巴萨球迷,可能恨不得所有报道都看一遍。要解决这个问题,就需要精确抽取文本特征,比如哪些文章说的是一个事儿,哪些文章基本一样等。而文本特征对于推荐的独特价值就在于,没有文本特征,推荐引擎无法工作,同时,文本特征颗粒度越细,冷启动能力越强。
而语义标签的效果是检查一个公司NLP(自然语言处理)的试金石。
频道、兴趣表达等重要产品功能,需要一个有明确定义、容易被理解的文本标签体系。在隐式语义特征已经可以很好地帮助推荐、做好语义标签需要投入远大于隐式语义特征的情况下,仍需要做好语义标签。
除了用户的自然标签,推荐还需要考虑很多复杂的情况:
-
1)过滤噪声:过滤停留时间短的点击,打击标题党;
-
2)惩罚热点:用户在热门文章上的动作做降权处理;
-
3)时间衰减:随着用户动作的增加,老的特征权重会随时间衰减,新动作贡献的特征权重会更大;
-
4)惩罚展现:如果一篇推荐给用户的文章没有被点击,相关特征(类别、关键词、来源)权重会被惩罚;
-
5)考虑全局背景:考虑给定特征的人均点击比例。
现实中,影响推荐效果的因素有很多,需要完备的评估体系,不能只看单一指标,如点击率、留存、收入或是互动,需要看很多指标综合评估:兼顾短期指标和长期指标,兼顾用户指标和生态指标,注意协同效应的影响,有时候需要做彻底的统计隔离等。
那么,所有这些指标可以合成唯一的一个公式吗?“我们苦苦探索了几年,目前还没有做到。”曹欢欢表示。
并且,曹欢欢称,目前很多公司算法做得不好,不是人的问题,而是实验平台的问题。例如A/B Test每次数据都是错的,总上不了线,这个事最后就废了。而一个强大的实验平台,可以实现每天数百个实验同时在线,高效管理和分配实验流量,降低实验分析成本,提高算法迭代效率。
据雷锋网 (公众号:雷锋网) 了解,头条现在拥有健全的内容安全机制,除了人工审核团队,还有技术识别,包括风险内容识别技术,构建千万张图片样本集的鉴黄模型,超过百万样本库的低俗模型和谩骂模型等,以及泛低质内容识别技术,曹欢欢强调。
。