【滁州seo】今日头条seo算法原理原来是这样的。

当前位置: 首页 > 常见问题

【滁州seo】今日头条seo算法原理原来是这样的。

如今,算法分发已经成为几乎所有软件的标准,比如信息平台、搜索引擎、浏览器、社交软件等。,但与此同时,算法也开始面临质疑、挑战和误解。今日头条的推荐算法自第一版开发并于年运行以来,经历了四次大的调整和修改。

今日头条委托资深算法架构师曹欢欢博士公开今日头条的算法原理,以期在全行业推广咨询算法和建议算法;通过让算法透明化,可以消除社会各界对算法的误解,逐步推动整个行业让算法更好的造福社会。

以下是今日头条算法原理全文。

今日头条资深算法架构师曹欢欢:

本次分享将主要介绍今日头条推荐系统的概况以及内容分析、用户标注、评价分析、内容安全的原理。

一.系统概述

推荐系统,如果用一种形式化的方式来描述,实际上是一种符合用户对内容满意度的功能。这个函数需要输入三维变量。第一个维度是内容。头条现在是一个综合性的内容平台,包括图文、视频、UGC视频、问答、微头条。每个内容都有自己的特点,需要考虑如何提取不同内容类型的特点并进行推荐。第二个维度是用户特征。包括各种兴趣标签,职业,年龄,性别等。,以及许多模型得出的隐含用户兴趣。第三个维度是环境特征。这是移动互联网时代值得推荐的功能。用户随时随地移动,在职场、通勤、出行等不同场景下,其信息偏好也随之转移。结合三个维度,模型会给出一个估计,即推测推荐内容是否适合这个场景下的这个用户。

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

在推荐模型中,点击率、阅读时间、喜欢、评论、转发,包括喜欢,都是可以量化的指标,可以通过模型的直接拟合来估算。看网上的推广就知道自己做的好不好了。而一个海量的推荐系统,服务的用户量很大,不能完全用指标来评价,引入数据指标以外的因素也很重要。

例如广告和特殊内容频率控制。例如,问答卡就是一种特殊形式的内容。推荐的目标不仅仅是让用户浏览,还要吸引用户回答,为社区做贡献。如何将这些内容与普通内容混合,如何控制频率控制都需要考虑。

此外,出于内容生态和社会责任的考虑,如低俗内容的抑制、标题党和低质内容的抑制、重要新闻的置顶、加权和强制、低级账号内容的降级等,都不是算法本身能够完成的,需要进一步介入内容。

下面,我就简单介绍一下基于以上目标的算法如何实现。

前面提到的公式y=F(,Xu,Xc)是一个经典的监督学习问题。可以实现的方法有很多,如传统的协同过滤模型、监督学习算法LogisticRegression模型、基于深度学习的模型、因子分解机和GBDT等。

一个优秀的工业推荐系统需要一个非常灵活的算法实验平台,可以支持多种算法组合,包括模型结构调整。因为很难为所有推荐的场景建立一个通用的模型架构。现在很流行把LR和DNN结合起来。几年前,脸书还结合了LR和GBDT算法。今天头条的几款产品都在使用同样强大的算法推荐系统,只是模型架构会根据不同的业务场景进行调整。

之后再看典型的推荐特征。有四种主要类型的特征将在推荐中发挥重要作用。

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

第二类是环境特征,包括地理位置和时间。这些特征都是偏置特征,可以用来构造一些匹配特征。

第三类是热特性。包括全球热度、分类热度、话题热度、关键词热度等。内容信息在大型推荐系统中非常有效,尤其是在用户冷启动的时候。

第四类是协同特征,可以在一定程度上帮助解决算法缩小的问题。协作功能不考虑用户的现有历史。而是通过用户行为来分析不同用户之间的相似度,比如点击相似度、兴趣分类相似度、话题相似度、兴趣词相似度,甚至向量相似度,从而扩展模型的探索能力。

在模型的训练上,头条的推荐产品大多采用实时训练。实时培训节省资源,快速反馈,这对于信息流产品来说非常重要。所需的用户行为信息可以被模型快速捕捉并反馈到下一次刷的推荐效果中。目前我们基于暴风集群在线实时处理样本数据,包括点击、展示、收藏、分享等动作类型。参数服务器是内部开发的一套高性能系统,因为头条数据规模增长太快,同类开源系统的稳定性和性能无法满足。但是我们自研系统的底层做了很多有针对性的优化,提供了完善的运维工具,更好的适应现有的业务场景。

目前头条推荐算法模型在国际上也是比较大的,包括几百亿的原创特征和几十亿的向量特征。整个训练过程是在线服务器记录实时特征,导入到Kafka文件队列中,再进一步导入暴风集群消耗的Kafka数据。客户端发回推荐标签构造训练样本,然后进行在线训练,根据更新的样本更新模型参数,从而更新最终的在线模型。这个过程中最主要的延迟是用户的动作反馈延迟,因为用户可能不会在文章被推荐后立即阅读,整个系统不管这个时间都几乎是实时的。

但由于目前头条的内容量非常大,小视频内容有几千万条,推荐系统不可能通过模型预测所有内容。所以需要设计一些召回策略,每次推荐都要从海量内容中筛选出上千个内容库。召回策略更重要的要求是表现要极致。通常,超时不应超过毫秒。

回忆策略有很多种,我们主要用逆向的思路。离线维护反向队列。这个倒排队列的关键字可以是分类、主题、实体、来源等。排名考虑了热度、新鲜度、动作等。在线召回可以根据用户的兴趣标签从倒排列表中快速截出内容,从庞大的内容库中高效筛选出少量可靠的内容。

第二,内容分析

分析包括文本分析、图片分析和视频分析。起初,标题主要是提供信息。今天主要讲一下文本分析。文本分析在推荐系统中的一个非常重要的作用是用户兴趣建模。没有内容和文本标签,就无法获取用户的兴趣标签。比如你只有知道文章标签是互联网,用户阅读了有互联网标签的文章,你才能知道用户有互联网标签,其他关键词也一样。

另一方面,文本内容的标签可以直接帮助推荐功能。比如魅族内容可以推荐给关注魅族的用户,这就是用户标签的匹配。如果某段时间推荐主频道的效果不尽如人意,缩小推荐范围,用户在具体频道推荐(如科技、体育、娱乐、军事等)阅读后会发现,),他们会回到主feed,推荐效果会更好。因为整个模式是开放的,子渠道探索空间小,更容易满足用户需求。仅仅通过单一渠道反馈会很难提高推荐准确率,做好分渠道非常重要。而这也需要很好的内容分析。

上图是今日头条的一个实际文本案例。可以看到,这篇文章有分类、关键词、主题、实体词等文本特征。当然,没有文本特征,推荐系统是不行的。推荐系统在亚马逊用的比较早,甚至在沃尔玛时代就有了,包括Netfilx做视频推荐,没有文字功能直接协同过滤推荐。而对于资讯产品来说,大部分都是消耗当天的内容,没有文字特征的新内容冷启动是非常困难的。协作功能解决不了文章冷启动的问题。

今日头条推荐系统提取的主要文本特征包括以下几类。首先是语义标签功能,对文章进行明确的标签。这部分标签是人定义的,每个标签都有明确的含义,标签系统是预定义的。另外还有隐含语义特征,主要是话题特征和关键词特征,其中话题特征描述的是词的概率分布,没有明确的含义;但是关键字特征会基于一些统一的特征描述,没有明确的设定。

此外,文本相似度特征也很重要。在头条里,用户曾经反馈很大的一个问题就是为什么总是推荐重复的内容。这个问题的难点在于每个人对重复的定义不同。比如有人觉得这篇关于皇马和巴萨的文章昨天看过类似的内容,今天又说这两支球队是复制体。但是对于一个重度球迷,尤其是巴萨球迷来说,我迫不及待的想看到所有的报道。要解决这个问题,需要判断同类文章的主题、风格、主体,并根据这些特点制定上网策略。

同样,还有时空特征,分析内容的位置和时间性。比如把武汉的限行推给北京用户,可能就没什么意义了。之后要考虑质量相关的特征来判断内容是否低俗、色情、软文、鸡汤。

上图是头条语义标签的特点和使用场景。他们的层次不同,要求也不同。

分类的目标是全面覆盖,希望每一个内容、每一个视频都分类;实体系统要求精确,相同的名称或内容要能清楚地区分所指的是哪个人或事,但不一定要完全覆盖。概念系统负责解决更精确和抽象概念的语义。这是我们之前的分类。在实践中,我们发现分类和概念在技术上可以互操作。后来我们统一了一套技术框架。

目前隐含的语义特征已经可以帮助推荐,而语义标签需要不断标注,新的术语和概念不断出现,标注需要不断迭代。它的难度和资源投入远大于隐含语义特征,那为什么还要语义标签呢?有一些产品需求,比如明确定义的分类内容,频道的通俗易懂的文字标签系统。语义标签的效果是检验一个公司NLP技术水平的试金石。

今日头条推荐系统的在线分类采用典型的层次文本分类算法。在根的上面,下面的第一级被分类成像科技、体育、金融、娱乐、体育这样的类别,然后再下面,足球、篮球、乒乓球、网球、田径、游泳& #;,足球细分为国际足球和中国足球,中国足球细分为中甲、中超和国家队& #;与单一分类器相比,层次文本分类算法能更好地解决数据倾斜问题。也有一些例外。如果想提高召回,可以看看我们接了一些飞线。这套架构是通用的,但是根据不同问题的难度,每个元分类器可以是异构的。例如,一些分类支持向量机是有效的,一些应该结合CNN,一些应该结合RNN进行进一步处理。

上图是一个实体词识别算法的案例。根据分词结果和词性标注选择候选词可能需要根据知识库进行一些拼接。有些实体是几个词的组合,需要确定哪些词可以将实体的描述映射在一起。如果结果映射了多个实体,就需要通过词向量、话题分布甚至词频本身进行消歧,然后计算出一个关联模型。

第三,用户标签

内容分析和用户标签是推荐系统的两大基石。内容分析涉及机器学习的内容更多,相比用户标签工程,更具挑战性。

今日头条常用的用户标签包括用户感兴趣的类别和话题、关键词、来源、基于兴趣的用户聚类、各种垂直兴趣特征(车型、运动队、股票等。).还有性别、年龄、地点等信息。性别信息通过登录用户的第三方社交账号获取。年龄信息通常由模型预测,通过模型、阅读时间分布等进行估计。驻留位置来自用户授权的位置信息,驻留位置是在位置信息的基础上通过传统的聚类方法得到的。常驻点可以结合其他信息猜测用户的工作地点、出差地点、旅游地点。这些用户标签对推荐很有帮助。

当然,更简单的用户标签是浏览的内容标签。但是这里涉及到一些数据处理策略。主要包括:1。过滤噪音。点击停留时间短的过滤标题党。第二,热点惩罚。用户在一些热门文章上的动作(比如前段时间PGOne的新闻)被降级。理论上,传播范围广的内容,可信度会低一些。第三,时间衰减。用户的兴趣会发生转移,所以策略更倾向于新的用户行为。所以随着用户动作的增加,旧的特征权重会随着时间衰减,新动作贡献的特征权重会更大。第四,惩罚显示。如果一篇推荐给用户的文章没有被点击,相关特征(类别、关键词、来源)的权重会受到惩罚。同时当然也要考虑全球背景,是否有更多的相关内容推送,以及相关的关闭和不喜欢信号等。

用户标签挖掘通常很简单,主要是由于刚才提到的工程挑战。头条标签第一版是批量计算框架,流程比较简单。每天提取昨天的日常用户近两个月的动作数据,在Hadoop集群上批量计算结果。

但问题是,随着用户的快速增长,兴趣模型等批量处理任务的类型越来越多,涉及的计算量太大。2000年,批量处理几百万用户标签更新的Hadoop task,当天勉强完成。集群计算资源的短缺很容易影响其他工作,集中写入分布式存储系统的压力也越来越大,用户兴趣标签的更新延迟也越来越高。

面对这些挑战。年底,今日头条上线了用户标签暴风集群流计算系统。改成流后,只要用户的动作更新,标签就会更新。CPU成本相对较小,可以节省%的CPU时间,大大降低计算资源开销。同时只需要几十台机器就可以支持每天几千万用户的兴趣模型更新,特征更新速度非常快,基本可以做到准实时。该系统自推出以来一直在使用。

当然,我们也发现,并不是所有的用户标签都需要流系统。用户的性别、年龄、居住地点等信息,无需实时重复计算,仍会保持每日更新。

四。评估和分析

上面介绍了推荐系统的整体架构,那么如何评价推荐效果呢?

有一句话我觉得很明智,“一个东西如果无法评估,就无法优化”。推荐系统也是如此。

其实很多因素都会影响推荐效果。比如候选集的变化、召回模块的改进或增加、推荐特征的增加、模型架构的改进、算法参数的优化等。不是例子。评测的意义在于,很多优化最后可能会有负面效果,但并不是说优化上线后效果就会有所提升。

一个全面的评价和推荐系统需要完整的评价体系、强大的实验平台和易用的实证分析工具。所谓完整的体系,并不是用单一的指标来衡量的。它不能只看点击率或者停留时间长短等。需要综合评价。在过去的几年里,我们一直试图将尽可能多的指标合成一个唯一的评价指标,但我们仍在探索中。目前还是要经过各业务高年级学生组成的评审委员会深入讨论后再做决定。

很多公司算法做的不好,不是工程师能力不够,而是需要强大的实验平台和便捷的实验分析工具,能够智能分析数据指标的置信度。

一个好的评价体系的建立需要遵循几个原则,首先是兼顾短期指标和长期指标。之前负责公司电商方向的时候,我观察到很多战略调整短期内对用户来说感觉很新鲜,但长期来看并无帮助。

其次,用户指标和生态指标都要考虑。今日头条作为内容创作的平台,既要为内容创作者提供价值,让他有尊严地创作,又有义务让用户满意,两者要平衡。还有广告主的利益要考虑,这是一个多方博弈和平衡的过程。

另外,要注意协同效应的影响。严格的流量隔离在实验中很难做到,要注意外部效应。

强大的实验平台非常直接的好处是,当同时有很多在线实验时,平台可以自动分配流量,无需人工沟通,实验结束后可以立即恢复流量,提高管理效率。这样可以帮助公司降低分析成本,加快算法的迭代效果,让整个系统的算法优化快速向前推进。

这就是头条A/BTest实验系统的基本原理。首先做好线下用户分桶,然后线上分发实验流量,给桶里的用户贴上标签,分发到实验组。比如开一个%流量的实验,两个实验组各%一个,一个%为基线,策略与线上市场相同,另一个为新策略。

实验过程中会收集用户动作,几乎是实时的,每小时都能看到。但是,因为每小时的数据是波动的,所以通常以天为时间节点。采集后会有日志处理,分布式统计,写入数据库,非常方便。

在该系统下,工程师只需设置流量需求、实验时间、定义特殊过滤条件和自定义实验组ID。系统可以自动生成:实验数据对比、实验数据置信度、实验结论总结和实验优化建议。

当然,只有实验平台是不够的。线上实验平台只能通过数据指标的变化来猜测用户体验的变化,但数据指标和用户体验是有区别的,很多指标无法完全量化。许多改进仍然需要人工分析,重大改进需要人工评估和重新确认。

动词 (verb的缩写)内容安全

后面会介绍今日头条在内容安全上的一些措施。目前,头条是中国内容创作和分发的大凭证,所以我们必须越来越重视社会责任和行业领导者的责任。如果%的推荐内容出了问题,影响就大了。

因此,从一开始,头条就将内容安全放在公司更高优先级的队列中。在成立之初,就已经成立了专门的审计小组负责内容安全。当时只有几个学生,开发所有的客户端,后端,算法,头条很重视内容审核。

现在,今日头条的内容主要来自两个部分,一个是拥有成熟内容生产能力的PGC平台。

一类是UGC用户内容,如问答、用户评论、微头条等。这两部分需要通过统一的审核机制。如果是比较少量的PGC内容,会直接进行风险审核,没有问题的话会广泛推荐。UGC内容需要经过风险模型的筛选,有问题的会进入二次风险审核。审核通过后,内容才会真正被推荐。这时候如果收到超过一定量的评论或者举报负面反馈,就会回到审核环节,有问题就直接下架。整个机制比较健全。作为行业领导者,今日头条在内容安全方面一直以更高的标准要求自己。

内容分享识别技术主要包括黄色识别模型、辱骂模型和低俗模型。今日头条的低俗模型是深度学习算法训练出来的。样本基数很大,图文同时分析。这部分模型更注重召回率,甚至可以牺牲准确率。滥用模型样本库也超过百万,召回率%+准确率%+。如果用户经常发表直言不讳或不恰当的评论,我们有一些惩罚机制。

泛低质鉴定涉及很多情况,比如假新闻、黑稿、题字不符、标题党、内容质量低等。这部分内容很难被机器理解,需要大量的反馈信息,包括其他样本信息的对比。目前低质量模型的准确率和召回率都不是特别高,需要结合人工审核来提高门槛。目前最终召回已经达到%,这部分还有很多工作要做。头条人工智能实验室老师李航也在与密歇根大学合作建立一个研究项目,建立一个谣言识别平台。

作者:徐州百都网络 | 来源: | 发布于:2022-04-25 20:22:50