今日头条推荐算法原理全文详解:为什么叫弹性云服务器地址

時間:2024-01-14 13:50:31 作者:为什么叫弹性云服务器地址 熱度:为什么叫弹性云服务器地址
为什么叫弹性云服务器地址描述::

本次分享将主要介绍今天头条提名系统概览以及内容解析、用户标签、考核解析,内容安全等原理。

一、系统概览

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

第一个维度是内容。头条现在已经是一个综合内容平台,图文、视频、UGC小视频、问答、微头条,每种内容有许多自己的特性,需要斟酌怎样提取差异内容类型的特性做好提名。第二个维度是用户特性。包括各种嗜好标签,职业、年纪、性别等,还有许多模型刻划出的隐式用户嗜好等。第三个维度是环境特性。这是移动互联网时代提名的特色,用户随时随地移动,在任务情况、通勤、旅游等差异的场景,信息偏好有所偏移。

交融三方面的维度,模型会给出一个预估,即猜想提名内容在这一场景下对这一用户是否适合。

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

提名模型中,点击率、浏览时间、点赞、批评、转发包括点赞都是可以量化的目的,能够用模型直接拟合做预估,看线上提升场合可以知道做的好不好。但一个大体量的提名系统,服务用户众多,不能彻底由指标考核,引入数据指标以外的要素也很重要。

比如广告和特型内容频控。像问答卡片就是对照不同凡响的内容格式,其提名的目的不彻底是让用户阅读,还要斟酌吸引用户答覆为社区功劳内容。这些内容和普通内容如何混排,怎样管理频控都需要斟酌。

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

下面我将简朴介绍在上述算法目的的底层上如何对其实现。

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

一个优秀的工业级提名系统需要非常敏捷的算法试验平台,可以支持多种算法组合,包括模型组织调换。由于很难有一套通用的模型架构实用于所有的提名场景。现在很流行将LR和DNN交融,前几年Facebook也将LR和GBDT算法做交融。今天头条旗下几款产品都在沿用同一套强盛的算法提名系统,但依据业务场景差异,模型架构会有所调换。

模型之后再看一下代表的提名特性,主要有四类特性会对提名起到对照重要的作用。

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

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

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

第四类是协同特性,它可以在部门水平上辅助解决所谓算法越推越窄的疑问。协同特性并非斟酌用户已有历史。而是通过用户行为解析差异用户间类似性,比如点击类似、嗜好分类类似、主题类似、嗜好词类似,甚至向量类似,从而开拓模型的试探才干。

模型的培训上,头条系大部门提名产品使用实时培训。实时培训省资源并且反馈快,这对信息流产品非常重要。用户需要行为信息可以被模型快速逮捕并反馈至下一刷的提名功效。我们线上目前基于storm集群实时处置样本数据,包括点击、显现、珍藏、分享等动作类型。模型参数服务器是内部开发的一套高功能的系统,由于头条数据规模增长太快,相似的开源系统不乱性和功能无法知足,而我们自研的系统基础做了许多针对性的优化,提供了完善运维工具,更适配现有的业务场景。

目前,头条的提名算法模型在世界范畴内也是对照大的,涵盖几百亿原始特性和数十亿向量特性。整体的培训过程是线上服务器纪实实时特性,导入到Kafka文件队列中,然落后一步导入Storm集群花费Kafka数据,客户端回传提名的label组成培训样本,随后依据最新样本进行在线培训更新模型参数,终极线上模型得到更新。这个过程中主要的耽搁在用户的动作反馈延时,由于文章提名后用户不一定立刻看,不斟酌这部门时间,整个系统是几乎实时的。

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

召回手段种类有许多,我们主要用的是倒排的思路。离线维护一个倒排,这个倒排的key可以是分类,topic,实体,起源等,排序斟酌热度、新鲜度、动作等。线上召回可以赶快从倒排中依据用户嗜好标签对内容做截断,高效的从很大的内容库中筛选对照靠谱的一小部门内容。

二、内容解析

内容解析包括文本解析,图片解析和视频解析。头条一开端主要做资讯,今日我们主要讲一下文本解析。文本解析在提名系统中一个很重要的作用是用户嗜好建模。没有内容及文本标签,无法得到用户嗜好标签。举个范例,只有知道文章标签是互联网,用户看了互联网标签的文章,才能知道用户有互联网标签,其他关键词也一样。

另一方面,文本内容的标签可以直接辅助提名特性,比如魅族的内容可以提名给关注魅族的用户,这是用户标签的匹配。假如某段时间提名主频道功效不梦想,显露提名窄化,用户会发明到具体的频道提名(如科技、体育、娱乐、军事等)中浏览后,再回主feed,提名功效会更好。由于整个模型是打通的,子频道试探空间较小,更容易知足用户需求。只通过单一信道反馈提高提名精确率难度会对照大,子频道做的好很重要。而这也需要好的内容解析。

上图是今天头条的一个实际文本case。可以看到,这篇文章有分类、关键词、topic、实体词等文本特性。当然不是没有文本特性,提名系统就不能任务,提名系统最早期利用在Amazon,甚至沃尔玛时代就有,包括Netfilx做视频提名也没有文本特性直接协同过滤提名。但对资讯类产品而言,大部门是花费当天内容,没有文本特性新内容冷启动非常艰难,协同类特性无法解决文章冷启动疑问。

今天头条提名系统主要抽取的文本特性包括以下几类。首先是语义标签类特性,显式为文章打上语义标签。这部门标签是由人定义的特性,每个标签有领会的意义,标签体系是预定义的。此外还有隐式语义特性,主要是topic特性和关键词特性,其中topic特性是对于词概率分布的描述,无领会意义;而关键词特性会基于一些统一特性描述,无领会集合。

另外文真相似度特性也非常重要。在头条,曾经用户反馈最大的疑问之一就是为什么总提名重复的内容。这个疑问的难点在于,每个人对重复的定义不一样。举个范例,有人觉得这篇讲皇马和巴萨的文章,昨天已经看过相似内容,今日还说这两个队那就是重复。但对于一个重度球迷而言,尤其是巴萨的球迷,恨不得所有报道都看一遍。解决这一疑问需要依据判断类似文章的主题、行文、主体等内容,依据这些特性做线上手段。

同样,还有时空特性,解析内容的产生地点以及时效性。比如武汉限行的事情推给北京用户可能就没有意义。最后还要斟酌质量相关特性,判断内容是否低俗,色情,是否是软文,鸡汤?

上图是头条语义标签的特性和采用场景。他们之间层级差异,要求差异。

分类的目的是覆盖全面,但愿每篇内容每段视频都有分类;而实体体系要求精准,雷同名字或内容要能领会分辨到底指代哪一个人或物,但不用覆盖很全。概念体系则负责解决对照准确又属于抽象概念的语义。这是我们最初的分类,实践中发明分类和概念在专业上能互用,后来统一用了一套专业架构。

目前,隐式语义特性已经可以很好的辅助提名,而语义标签需要连续标注,新名词新概念不断显露,标注也要不断迭代。其做好的难度和资源投入要远大于隐式语义特性,那为什么还需要语义标签?有一些产品上的需要,比如频道需要有领会定义的分类内容和容易懂得的文本标签体系。语义标签的功效是查验一个公司NLP专业程度的试金石。

今天头条提名系统的线上分类使用代表的层次化文本分类算法。最上面Root,下面第一层的分类是像科技、体育、财经、娱乐,体育这样的大类,再下面细分足球、篮球、乒乓球、网球、田径、游泳,足球再细分国际足球、中国足球,中国足球又细分中甲、中超、国家队,比拟单独的分类器,应用层次化文本分类算法能更好地解决数据倾斜的疑问。有一些例外是,假如要提高召回,可以看到我们连接了一些飞线。这套架构通用,但依据差异的疑问难度,每个元分类器可以异构,像有些分类SVM功效很好,有些要交融CNN,有些要交融RNN再处置一下。

上图是一个实体词辨别算法的case。基于分词结局和词性标注选取候选,期间可能需要依据知识库做一些拼接,有些实体是几个词的组合,要确认哪几个词交融在一起能映射实体的描述。假如结局映射多个实体还要通过词向量、topic分布甚至词频本身等去歧,最后计算一个相关性模型。

三、用户标签

内容解析和用户标签是提名系统的两大基石。内容解析涉及到机器吸取的内容多一些,比拟而言,用户标签工程挑衅更大。

今天头条常用的用户标签包括用户感嗜好的种别和主题、关键词、起源、基于嗜好的用户聚类以及各种垂直嗜好特性(车型,体育球队,股票等)。还有性别、年纪、地点等信息。性别信息通过用户第三方社交账号登录得到。年纪信息通常由模型预计,通过机型、浏览时间分布等预估。常驻地点来自用户授权拜访位置信息,在位置信息的底层上通过传统聚类的想法拿到常驻点。常驻点交融其他信息,可以猜想用户的任务地点、出差地点、旅游地点。这些用户标签非常有助于提名。

当然最简朴的用户标签是阅读过的内容标签。但这里涉及到一些数据处置手段。主要包括:一、过滤噪声。通过停留时间短的点击,过滤题目党。二、热门惩罚。对用户在一些热点文章(如前段时间PG One的报导)上的动作做降权处置。理论上,流传范畴较大的内容,置信度会降落。三、时间衰减。用户嗜好会产生偏移,因此手段更倾向新的用户行为。因此,跟着用户动作的增加,老的特性权重会随时间衰减,新动作功劳的特性权重会更大。四、惩罚显现。假如一篇提名给用户的文章没有被点击,相关特性(种别,关键词,起源)权重会被惩罚。当然同时,也要斟酌全局底细,是不是相关内容推送对照多,以及相关的关闭和dislike信号等。

用户标签发掘总体对照简朴,主要还是刚刚提到的工程挑衅。头条用户标签第一版是批量计算框架,流程对照简朴,每日抽取昨天的日活用户过去两个月的动作数据,在Hadoop集群上批量计算结局。

但疑问在于,跟着用户高速增长,嗜好模型种类和其他批量处置工作都在增加,涉及到的计算量太大。2014年,批量处置工作几百万用户标签更新的Hadoop工作,当天完成已经开端勉强。集群计算资源紧迫很容易阴碍其它任务,集中写入分布式存储系统的包袱也开端增大,并且用户嗜好标签更新耽搁越来越高。

面对这些挑衅。2014年底今天头条上线了用户标签Storm集群流式计算系统。改成流式之后,只要有用户动作更新就更新标签,CPU代价对照小,可以节省80的CPU时间,大大降低了计算资源开销。同时,只需几十台机器就可以支撑每日数千万用户的嗜好模型更新,并且特性更新速度非常快,根本可以做到准实时。这套系统从上线一直采用至今。

当然,我们也发明并非所有用户标签都需要流式系统。像用户的性别、年纪、常驻地点这些信息,不需要实时重复计算,就仍然保存daily更新。

四、考核解析

上面介绍了提名系统的整体架构,那么如何考核提名功效好不好?

有一句我以为非常有聪明的话,“一个事情没法考核就没法优化”。对提名系统也是一样。

事实上,许多因素都会阴碍提名功效。比如侯选集合变化,召回模块的改进或增加,提名特性的增加,模型架构的改进在,算法参数的优化等等,不一一举例。考核的意义就在于,许多优化终极可能是负向功效,并不是优化上线后功效就会改进。

全面的考核提名系统,需要完备的考核体系、强盛的试验平台以及易用的经历解析工具。所谓完备的体系就是并非单一指标衡量,不能只看点击率或者停留时长等,需要综合考核。过去几年我们一直在尝试,能不能综合尽可能多的指标合成唯一的考核指标,但仍在试探中。目前,我们上线还是要由各业务对照资深的同窗构造评审委员会深入商量后决择。

许多公司算法做的不好,并非是工程师才干不够,而是需要一个强盛的试验平台,还有方便的试验解析工具,可以智能解析数据指标的置信度。

一个良好的考核体系建立需要遵循几个原则,首先是照顾短期指标与长期指标。我在之前公司负责电商方向的时候观测到,许多手段调换短期内用户觉得新鲜,但是长期看其实没有任何助益。

其次,要照顾用户指标和生态指标。今天头条作为内容分创作平台,既要为内容创作者提供价值,让他更有尊严的创作,也有责任知足用户,这两者要平衡。还有广告主益处也要斟酌,这是多方博弈和谐衡的过程。

另外,要留心协同效应的阴碍。试验中严格的流量隔离很难做到,要留心外部效应。

强盛的试验平台非常直接的好处是,当同时在线的试验对照多时,可以由平台自动分配流量,无需人工沟通,并且试验结束流量当即回收,提高控制效率。这能辅助公司降低解析成本,加快算法迭代效应,使整个系统的算法优化任务能够快速往前推动。

这是头条AB Test试验系统的根本原理。首先我们会做在离线状态下做好用户分桶,然后线上分配试验流量,将桶里用户打上标签,分给试验组。举个范例,开一个10流量的试验,两个试验组各5,一个5是基线,手段和线上大盘一样,另外一个是新的手段。

试验过程中用户动作会被搜集,根本上是准实时,每小时都可以看到。但由于小时数据有波动,通常是以天为时间节点来看。动作搜集后会有日志处置、分布式统计、写入数据库,非常方便。

在这个系统下工程师只需要设置流量需求、试验时间、定义不同凡响过滤条件,自定义试验组。系统可以自动生成:试验数据对比、试验数据置信度、试验结论结算以及试验优化建议。

当然,只有试验平台是远远不够的。线上试验平台只能通过数据指标变化猜想用户体会的变化,但数据指标和用户体会存在不同,许多指标不能彻底量化。许多改进仍然要通过人工解析,重大改进需要人工考核二次确定。

五、内容安全

最后要介绍今天头条在内容安全上的一些措施。头条现在已经是内地最大的内容创作与分发凭条,必要越来越重视社会义务和行业领导者的义务。假如1的提名内容显露疑问,就会发生较大的阴碍。

因此头条从创办伊始就把内容安全放在公司最高优先级队列。成立之初,已经专门设有考查团队负责内容安全。当时研发所有客户端、后端、算法的同窗一共才不到40人,头条非常重视内容考查。

现在,今天头条的内容主要起源于两部门,一是具有成熟内容生产才干的PGC平台

一是UGC用户内容,如问答、用户批评、微头条。这两部门内容需要通过统一的考查机制。假如是数目相对少的PGC内容,会直接进行风险考查,没有疑问会大范畴提名。UGC内容需要途经一个风险模型的过滤,有疑问的会进入二次风险考查。考查通过后,内容会被真正进行提名。这时假如收到一定量以上的批评或者举报负向反馈,还会再回到复审环节,有疑问直接下架。整个机制相对而言对照健全,作为行业领先者,在内容安全上,今天头条一直用最高的尺度要求自己。

分享内容辨别专业主要鉴黄模型,谩骂模型以及低俗模型。今天头条的低俗模型通过深度吸取算法培训,样本库非常大,图片、文本同时解析。这部门模型更注重召回率,精确率甚至可以牺牲一些。谩骂模型的样本库同样过份百万,召回率高达95+,精确率80+。假如用户常常出言不讳或者不当的批评,我们有一些惩罚机制。

泛低质辨别涉及的场合非常多,像假报导、黑稿、题文不符、题目党、内容质量低等等,这部门内容由机器懂得是非常难的,需要大批反馈信息,包括其他样本信息比对。目前低质模型的精确率和召回率都不是特别高,还需要交融人工复审,将阈值提高。目前终极的召回已到达95,这部门其实还有非常多的任务可以做。头条人工智能试验室李航老师目前也在和密歇根大学共建科研项目,设立传闻辨别平台。

站長聲明:以上關於【今日头条推荐算法原理全文详解-为什么叫弹性云服务器地址】的內容是由各互聯網用戶貢獻並自行上傳的,我們新聞網站並不擁有所有權的故也不會承擔相關法律責任。如您發現具有涉嫌版權及其它版權的內容,歡迎發送至:1@qq.com 進行相關的舉報,本站人員會在2~3個工作日內親自聯繫您,一經查實我們將立刻刪除相關的涉嫌侵權內容。