信息流今日头条SEM竞价算法原理公开了,看信息流是如何展现出来的

2018年1月21日22:22:35 发表评论 3,721

目前,算法分发已经是信息平台、搜索引擎、浏览器、社交软件等几乎所有软件的标配,但同时,算法也开始面临质疑、挑战和误解。

艾奇菌看来,此次公开算法系统原理,也不失为今日头条的一次危机公关,从被约谈到频道整改,再到麦克风窃取隐私风波,头条一直处于风口浪尖上,是业界针对其算法的怀疑、猜忌,更多的是不了解,所以,让算法透明化也是对行业的一种普及和推动。以下为《今日头条算法原理》全文。

信息流今日头条SEM竞价算法原理公开了,看信息流是如何展现出来的

信息流今日头条SEM竞价算法原理公开了,看信息流是如何展现出来的

本次分享主要介绍了今日头条推荐系统概览 以及 内容分析、用户标签、评估分析,内容安全等原理。

一、系统概览

信息流今日头条SEM竞价算法原理公开了,看信息流是如何展现出来的

推荐系统,如果用形式化的方式去描述实际上是 拟合一个用户对内容满意度的函数,这个函数需要输入三个维度的变量。

第一个维度是内容。头条现在已经是一个综合内容平台,图文、视频、UGC小视频、问答、微头条,每种内容有很多自己的特征,需要考虑怎样提取不同内容类型的特征做好推荐。

第二个维度是用户特征。包括各种兴趣标签,职业、年龄、性别等,还有很多模型刻划出的隐式用户兴趣等。

第三个维度是环境特征。这是移动互联网时代推荐的特点,用户随时随地移动,在工作场合、通勤、旅游等不同的场景,信息偏好有所偏移。结合三方面的维度,模型会给出一个预估,即推测推荐内容在这一场景下对这一用户是否合适。

这里还有一个问题,如何引入无法直接衡量的目标?

推荐模型中,点击率、阅读时间、点赞、评论、转发都是可以量化的目标,能够用模型直接拟合做预估,看线上提升情况可以知道做的好不好。但一个大体量的推荐系统,服务用户众多,不能完全由指标评估,引入数据指标以外的要素也很重要。

信息流今日头条SEM竞价算法原理公开了,看信息流是如何展现出来的

比如广告和特型内容频控。像问答卡片就是比较特殊的内容形式,其推荐的目标不完全是让用户浏览,还要考虑吸引用户回答为社区贡献内容。这些内容和普通内容如何混排,怎样控制频控都需要考虑。

此外,平台出于内容生态和社会责任的考量,像低俗内容的打压,标题党、低质内容的打压,重要新闻的置顶、加权、强插,低级别账号内容降权都是算法本身无法完成,需要进一步对内容进行干预。

(小编:这也许就是前段时间头条要大量扩充审核团队的目的)

下面我将简单介绍在上述算法目标的基础上如何对其实现。

信息流今日头条SEM竞价算法原理公开了,看信息流是如何展现出来的

前面提到的公式y = F(Xi ,Xu ,Xc),是一个很经典的监督学习问题。可实现的方法有很多,比如传统的协同过滤模型,监督学习算法Logistic Regression模型,基于深度学习的模型,Factorization Machine和GBDT等。

一个优秀的工业级推荐系统需要非常灵活的算法实验平台,可以支持多种算法组合,包括模型结构调整。因为很难有一套通用的模型架构适用于所有的推荐场景。现在很流行将LR和DNN结合,前几年Facebook也将LR和GBDT算法做结合。今日头条旗下几款产品都在沿用同一套强大的算法推荐系统,但根据业务场景不同,模型架构会有所调整。

信息流今日头条SEM竞价算法原理公开了,看信息流是如何展现出来的

模型之后再看一下典型的推荐特征,主要有四类特征会对推荐起到比较重要的作用。

第一类是相关性特征,就是评估内容的属性和与用户是否匹配。显性的匹配包括关键词匹配、分类匹配、来源匹配、主题匹配等。像FM模型中也有一些隐性匹配,从用户向量与内容向量的距离可以得出。

第二类是环境特征,包括地理位置、时间。这些既是bias特征,也能以此构建一些匹配特征。

第三类是热度特征。包括全局热度、分类热度,主题热度,以及关键词热度等。内容热度信息在大的推荐系统特别在用户冷启动的时候非常有效。

第四类是协同特征,它可以在部分程度上帮助解决所谓算法越推越窄的问题。协同特征并非考虑用户已有历史。而是通过用户行为分析不同用户间相似性,比如点击相似、兴趣分类相似、主题相似、兴趣词相似,甚至向量相似,从而扩展模型的探索能力。

信息流今日头条SEM竞价算法原理公开了,看信息流是如何展现出来的

模型的训练上,头条系大部分推荐产品采用实时训练。实时训练省资源并且反馈快,这对信息流产品非常重要。用户需要行为信息可以被模型快速捕捉并反馈至下一刷的推荐效果。

我们线上目前基于storm集群实时处理样本数据,包括点击、展现、收藏、分享等动作类型。模型参数服务器是内部开发的一套高性能的系统,因为头条数据规模增长太快,类似的开源系统稳定性和性能无法满足,而我们自研的系统底层做了很多针对性的优化,提供了完善运维工具,更适配现有的业务场景。

目前,头条的推荐算法模型在世界范围内也是比较大的,包含几百亿原始特征和数十亿向量特征。整体的训练过程是线上服务器记录实时特征,导入到Kafka文件队列中,然后进一步导入Storm集群消费Kafka数据,客户端回传推荐的label构造训练样本,随后根据最新样本进行在线训练更新模型参数,最终线上模型得到更新。这个过程中主要的延迟在用户的动作反馈延时,因为文章推荐后用户不一定马上看,不考虑这部分时间,整个系统是几乎实时的。

信息流今日头条SEM竞价算法原理公开了,看信息流是如何展现出来的

但因为头条目前的内容量非常大,加上小视频内容有千万级别,推荐系统不可能所有内容全部由模型预估。所以需要设计一些召回策略,每次推荐时从海量内容中筛选出千级别的内容库。召回策略最重要的要求是性能要极致,一般超时不能超过50毫秒。

信息流今日头条SEM竞价算法原理公开了,看信息流是如何展现出来的

召回策略种类有很多,我们主要用的是倒排的思路。离线维护一个倒排,这个倒排的key可以是分类,topic,实体,来源等,排序考虑 热度、新鲜度、动作等。线上召回可以迅速从倒排中根据用户兴趣标签对内容做截断,高效的从很大的内容库中筛选比较靠谱的一小部分内容。

信息流今日头条SEM竞价算法原理公开了,看信息流是如何展现出来的

weinxin
我的微信
本站专注IT互联网领域,分享有用的教程和资源,目的就是希望大家共同进步,一起学习!
IT教程网

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: