推荐算法原理全文详解(今日头条、抖音)
头条号推荐原理揭秘

头条号推荐原理大揭秘今日内容大纲1、头条是如何把内容推荐给用户的?2、哪些因素会导致一篇文章没有流量?3、如何改进,提高推荐量和阅读量?一、机器是如何把内容推荐给用户的?头条有一个非常庞大而且聪明的系统,它能知道用户喜欢什么,从而为他定制化推荐内容。
我们可以把头条的推荐机制拆分成两步:第一步:识别一篇内容第二步:确定推荐给谁机器如何理解一篇内容?简单来说,就是依托关键词识别技术进行内容刻画。
什么是关键词识别?以一篇文章《疫情期间企业易发刑事法律风险的若干环节及防控建议》为例:在这篇文章的标题和正文中,多次出现“刑事合规、刑事风险、法律风险分析、刑事法律风险防控建议”等词汇,很明显都是一些法律领域的词,那么这篇文章就会先被粗分类到法律领域,然后再根据具体的关键词细分到如“刑法、劳动法”等二三级分类。
如何让机器更好地识别你的内容呢?目前机器已经非常智能,识别率非常高,不过为了避免给机器识别造成障碍,我们可以避免以下情况:主题跨界的文章,例如范冰冰偷税,这类文章中,如果频繁提到范冰冰,影视方面的词,很可能就会被机器识别成一篇娱乐文章,如果文章被推荐给娱乐用户,阅读量可能非常惨淡。
如果我们希望文章被机器识别到法律领域,就应该尽量在标题和正文中强调正确属性的关键词,比如偷税、刑事责任这些与法律相关的词。
确定推荐给谁(个性化推荐)机器只有理解了海量用户的阅读需求,才会知道要把一篇特定的内容推荐给谁。
用户的阅读需求是以兴趣为核心的,机器会根据用户更喜欢阅读哪类文章,判断用户感兴趣的领域,从而将内容和用户匹配起来。
哪些因素会导致一篇文章没有流量?1、消重文章发布后,首先会经过消重机制检测,抄袭文章、非法转载文章会被消重无法推荐。
此外,自己原创的文章,如果被其他账号先发布到头条平台,也容易导致被消重。
建议:原创、先发头条、保证版权2、审核(机器+人工双重审核)(1)以下情况会导致不推荐、删除处理:时政、敏感、负面说明:不看内容所占的比重,出现这类内容即命中审核规则,无法推荐,哪怕只有一个词语(2)以下情况会限制推荐:地域:地区性新闻,只推某一地区质量:标题党、软文、违规推广【违规推广的定义】1、推广个人微信号、微信群、电话号、qq号、qq群;微信账号截图;二维码2、进行任何商业类推广信息3、在文章中加入诱导用户关注的任何语言违规推广将通过命中策略,轻则禁言扣分,重则封号,希望老师发文时务必注意~审核出现问题该怎么办?在微信群内进行反馈,反馈格式:文章预览链接(点击后台文章标题,会跳转到一个预览链接):问题描述:审核未通过/长时间未审核(半小时以上):文章没有通过审核,删除敏感的地方之后重新发布,可以吗?最好不要!再次发布容易被消重,导致不推荐。
抖音背后的算法和推荐系统的剖析

抖音背后的算法和推荐系统的剖析抖音是一款风靡全球的短视频应用,据统计,截止2021年1月,抖音全球用户已达到10亿,其中海外用户占比超过三分之一。
抖音的火爆背后离不开其强大的算法和推荐系统。
本文将对抖音背后的算法和推荐系统进行剖析。
一、抖音的算法和推荐系统抖音的算法和推荐系统主要包括两个核心组成部分:内容分发和用户洞察。
1. 内容分发内容分发是指如何将内容分发到用户的视野中。
抖音的内容分发主要采用基于大数据和机器学习的推荐算法,其核心是用户行为分析和视频的标签、特征提取。
具体流程如下:(1) 数据采集:抖音每天会收集数十亿条用户的视频浏览、点赞、评论等数据,同时还会收集视频的标签、特征等数据。
(2) 数据预处理:抖音会对采集到的数据进行清洗、去重等预处理工作。
(3) 特征提取:基于采集到的数据,抖音会提取视频的标签、特征等数据,如:颜色、长度、背景音乐、文字、物体等。
(4) 模型训练:抖音会基于机器学习算法,如深度学习、卷积神经网络等,训练一个个性化推荐模型,该模型可以根据用户的历史行为和当前视频的标签、特征等信息,预测用户是否会喜欢该视频,然后将合适的内容推荐给用户。
(5) 推荐评估:为了评估推荐算法的效果,抖音会采用AB测试等多种方式,对不同的推荐算法进行评估,较好的算法可以优先竞争资源。
2. 用户洞察用户洞察是指通过收集、分析和理解用户行为,了解用户需求和喜好,从而提供个性化的推荐服务。
用户洞察主要分为两种方式:一种是用户行为分析,通过分析用户的点击、播放、点赞、评论等行为,了解用户的兴趣和行为习惯;另一种是用户画像分析,通过分析用户的年龄、性别、地域、职业等信息,深入了解用户需求和偏好。
抖音通过这两种方式,不断优化其算法和推荐系统。
二、抖音算法和推荐系统的特点1. 大数据支撑抖音的算法和推荐系统离不开大数据的支撑,其每天收集的数据量达到十亿级别。
只有通过大数据处理和分析,才能了解用户行为和提取视频特征,同时也需要大数据的支持来训练算法模型。
推荐算法原理全文详解(今日头条、抖音)

推荐算法原理全文详解系统概览以及内容分析、用户标签、评估分析,内容安全等原理。
1. 系统概览推荐系统,如果用形式化的方式去描述实际上是拟合一个用户对内容满意度的函数,这个函数需要输入三个维度的变量。
第一个维度是内容。
头条现在已经是一个综合内容平台,图文、视频、UGC小视频、问答、微头条,每种内容有很多自己的特征,需要考虑怎样提取不同内容类型的特征做好推荐。
第二个维度是用户特征。
包括各种兴趣标签,职业、年龄、性别等,还有很多模型刻划出的隐式用户兴趣等。
第三个维度是环境特征。
这是移动互联网时代推荐的特点,用户随时随地移动,在工作场合、通勤、旅游等不同的场景,信息偏好有所偏移。
结合三方面的维度,模型会给出一个预估,即推测推荐内容在这一场景下对这一用户是否合适。
这里还有一个问题,如何引入无法直接衡量的目标?推荐模型中,点击率、阅读时间、点赞、评论、转发包括点赞都是可 以量化的目标,能够用模型直接拟合做预估,看线上提升情况可以知道做 的好不好。
但一个大体量的推荐系统,服务用户众多,不能完全由指标评估,引 入数据指标以外的要素也很重要。
比如广告和特型内容频控。
像问答卡片就是比较特殊的内容形式,其 推荐的目标不完全是让用户浏览,还要考虑吸引用户回答为社区贡献内容。
这些内容和普通内容如何混排,怎样控制频控都需要考虑。
此外,平台出于内容生态和社会责任的考量,像低俗内容的打压,标 题党、低质内容的打压,重要新闻的置顶、加权、强插,低级别账号内容 降权都是算法本身无法完成,需要进一步对内容进行干预。
面我将简单介绍在上述算法目标的基础上如何对其实现。
前面提到的公式 y = F(Xi ,Xu ,Xc) ,是一个很经典的监督学习问题。
可实现的方法有很多,比如传统的协同过滤模型,监督学习算法Logistic Regression 模型,基于深度学习的模型, Machine 和 GBDT 等。
一个优秀的工业级推荐系统需要非常灵活的算法实验平台,可以支持 多种算法组合,包括模型结构调整。
今日头条内容推荐机制总结

标题可以更吸引眼球, 让人有点击欲望
吸引更多人订阅(比 如订阅好礼,文案提 示)
我们头条号的总结和计划
分享页面到社交网络
保持一贯的良好表现, 减少违规
选择正确文章分类频 道
寻找合适的发布时间 点,阅读转发收藏最 好的时间固定发布
文章尽量要贴合实际生 活(不要过于小众)、 通俗易懂,对于头条号 读者的阅读兴趣
头条文章个性化推荐机制
主题相似
相同城市
关键词推 荐
热门普适 性
社交好友 关系推荐
用户长期 兴趣关键 词
LOREM 用户阅读 过的相似 文章推荐
LOREM 拥有相同 地理信息 本地优先
LOREM
内容提取 核心关键 词,匹配 用户历史 行为
LOREM 筛选热门 文章,全 站推荐
LOREM 站外好友 的阅读转 发评论推 荐
今日头条内容推荐机制
总结
2016-12-12
头条 VS. 传统新闻
今日头条是个性化推荐,会根据读 者的爱好进行文章推荐,对于创作 者的好处就是不管你的文章多么小 众,都能获得被推荐的机会 传统的新闻客户端推荐的内容由编 辑一锤定音,资源会无限倾向于大 号,小众的创作者根本拿不到流量。
另外一点就是今日头条是无限刷 新的,只要用户有阅读的需求, 可以持续进行内容消费,这样也 给了创作者更多的曝光机会。
其 他 影 响 头 条 推 荐 因 素
头条号指数
针对性提高头条高5个指标的分数
头条号按照:垂直,原创,互动, 活跃,健康顺序针对性工作。
观察竞争对手头条号内容,发布频 率,标题,图文比例。
我们头条号的总结和计划
尽量头条首发
初始阅读量越多,获 得推荐越多,站内外 推广内容
抖音智能推荐算法

重要性:召回率是 推荐系统效果评估 的重要指标之一, 它反映了推荐系统 的整体性能。
优化方法:通过对 召回率进行评估, 可以发现推荐系统 存在的问题,并采 取相应的优化措施 。
定义:点击率是指用 户点击一个链接或按 钮后,跳转到下一个 页面的比率。
重要性:点击率是评 估推荐系统效果的重 要指标之一,它反映 了用户对推荐结果的 感兴趣程度和信任度。
定期更新:根据用户行为和反馈,定期更新兴趣模型,以反映用户最新 的兴趣和偏好。 动态调整:根据用户的实时互动行为,动态调整兴趣模型,以提供更精 准的推荐。
模型融合:将多个兴趣模型融合,以提高推荐的准确性和覆盖面。
优化算法:不断优化兴趣模型的算法,以提高推荐的效率和准确性。
03
视频特征提取方法:基于深度学习的特征提取方法 视频特征提取流程:视频预处理、特征提取、特征融合 视频特征提取关键技术:卷积神经网络(CNN)、循环神经网络(RNN)、注意力机制等 视频特征提取应用场景:视频分类、视频推荐、视频搜索等
评估方法:通过分析用户在一段时间内的活跃度和流失情况,计算留存 率。
优化方法:通过调整推荐算法的参数和策略,提高用户的使用体验和满 意度,从而提高留存率。
推荐算法的优化: 提高推荐准确度和 效率,降低计算复 杂度
考虑多样性和新颖 性:扩展推荐系统 的推荐结果多样性, 同时保证推荐结果 的质量
考虑用户反馈和行 为数据:利用用户 反馈和行为数据对 推荐结果进行优化 ,提高用户满意度
核心模块:特征提取、模型训 练和预测、推荐列表生成
优势:能够准确推荐用户感兴 趣的内容,提高推荐准确率
定义:基于用户或物品的协同过滤 推荐算法
优点:能够发现用户潜在的兴趣爱 好,并且针对不同用户提供个性化 的推荐服务
图解抖音推荐算法

图解抖音推荐算法抖音推荐算法究竟如何是做抖音短视频运营的同学非常关心的问题,抖音官方并没有披露正式的算法,但凭借着民间的智慧和官方披露的部分信息中,网友已经总结出抖音推荐算法的秘密。
这里整理资料如下:首先看短视频发布后抖音一般会进行的一系列推荐流程第0步:双重审核在抖音,每天有数量庞大的新作品上传,纯靠机器审核容易被钻空子,纯靠人工审核又不太现实。
因此,双重审核成为抖音算法筛选视频内容的第一道门槛。
机器审核:一般是通过提前设置好的人工智能模型来识别你的视频画面和关键词,它主要有两个关键作用:其一,审核作品、文案中是否存在违规行为,如果疑似存在,就会被机器拦截,通过飘黄、标红等提示人工注意;其二,通过抽取视频中的画面、关键帧,与抖音大数据库中已存在的海量作品进行匹配消重,内容重复的作品进行低流量推荐,或者降权推荐(仅粉丝可见、仅自己可见)。
人工审核:主要集中在3块:视频标题、封面截图和视频关键帧。
针对机器审核筛选出疑似违规作品,以及容易出现违规领域的作品,抖音审核人员进行逐个细致审核。
如果确定违规,将根据违规账号进行删除视频、降权通告、封禁账号等处罚。
第一步:冷启动抖音的推荐算法机制是著名的信息流漏斗算法,也是今日头条的核心算法。
通过审核后,第一步叫冷启动流量池曝光,比如你今天上传一个视频,通过双重审核的作品,系统将会分配给你一个初始流量池:200-300在线用户(也可能有上千个曝光)。
不论你是不是大号,只要你有能力产出优质内容,就有机会跟大号竞争。
第二步:数据加权抖音会根据这1000次曝光所产出的数据,结合你账号分值来分析是否给你加权,比如完播率、点赞、关注、评论、转发、转粉、游览深度等。
以上这些都会对你的短视频数据造成影响,以及对你的短视频作出是否要加权的判断,然后会挑选前10%的视频,再增加1万次曝光。
第三步:加大推荐。
今日头条的推荐机制分析

今日头条的推荐机制分析今日头条,大家公认的一个超级大流量平台,其最大的特点就是文章的智能推荐系统。
但是,有些人在今日头条文章动辄几十万、几百万,甚至上千万阅读,但有些则只是几十、几百的流量。
除了内容本身的质量以及账号区别之外,最大的关键就在于其算法推荐规则。
搞懂今日头条文章推荐规则,是在这里进行精细化运营的核心关键。
那么,今日头条海量文章推荐的机制是怎么样呢?为什么有的文章展现量几百万,有的却只有几十几百?对于文章的推荐机制我们又能做些什么?首先在说文章推荐规则之前,另一个机制大家一定要先了解,那就是今日头条的消重机制。
你在头条号发布的内容,在通过审核和进入推荐系统之间,还有一道难关,那就是下面要说的消重机制。
基本上,文章被消重是头条号所发布内容无推荐量的最常见的原因。
1想要被推荐,先了解消重机制1)什么是消重?我们都知道,在互联网上,同样的文章、图片、视频往往会被很多其他媒体转载或复制。
如果我们在百度搜索一篇内容,经常会得到多个网址。
所以,我们一般需要自己筛选和判断,哪个网址更权威,更有价值,再点击去访问就可以了。
但是今日头条不一样,它是基于算法推荐给用户的。
所以一定要保证不能连续给用户推荐了几篇相似的内容,否者用户体验会非常差:怎么老是给我推荐一样的内容,什么鬼系统!所以,今日头条在推荐你的文章之前,必须确定这篇内容:●在系统里是否存在相同或者高度相似的内容?●如果存在,那么这篇内容的来源是否是最权威、最有价值、是否最有可能是原创来源?那么,消重就是指对重复、相似、相关的文章进行分类和比对,使其不会同时或重复出现在用户信息流中的过程。
今日头条首先会通过消重机制来决定同样主题或内容的文章是否有机会被推荐给更多用户。
2)头条号内容消重的关键项那如何判断两个内容是否相同呢?如果让人来判断,可能就要逐字逐句地把文章读完才能判断得出来。
通过计算机这样去判断当然也是可以的,不过,当每天需要处理的内容达到十多万篇次的时候,这么做即使对于计算机来也太麻烦了。
抖音-推荐算法原理全文详解-高级优化师推荐

上图是今日头条的一个实际文本case。可以看到,这篇文章有分类、关键词、topic、实体词等文本特征。
当然不是没有文本特征,推荐系统就不能工作,推荐系统最早期应用在Amazon,甚至沃尔玛时代就有,包括Netfilx做视频推荐也没有文本特征直接协同过滤推荐。
召回策略种类有很多,我们主要用的是倒排的思路。离线维护一个倒排,这个倒排的key可以是分类,topic,实体,来源等。
排序考虑热度、新鲜度、动作等。线上召回可以迅速从倒排中根据用户兴趣标签对内容做截断,高效的从很大的内容库中筛选比较靠谱的一小部分内容。
二、内容分析
内容分析包括文本分析,图片分析和视频分析。头条一开始主要做资讯,今天我们主要讲一下文本分析。文本分析在推荐系统中一个很重要的作用是用户兴趣建模。
此外,平台出于内容生态和社会责任的考量,像低俗内容的打压,标题党、低质内容的打压,重要新闻的置顶、加权、强插,低级别账号内容降权都是算法本身无法完成,需要进一步对内容进行干预。
下面我将简单介绍在上述算法目标的基础上如何对其实现。
前面提到的公式y = F(Xi ,Xu ,Xc),是一个很经典的监督学习问题。可实现的方法有很多,比如传统的协同过滤模型,监督学习算法Logistic Regression模型,基于深度学习的模型,Factorization Machine和GBDT等。
这个过程中主要的延迟在用户的动作反馈延时,因为文章推荐后用户不一定马上看,不考虑这部分时间,整个系统是几乎实时的。
但因为头条目前的内容量非常大,加上小视频内容有千万级别,推荐系统不可能所有内容全部由模型预估。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
推荐算法原理全文详解系统概览以及内容分析、用户标签、评估分析,内容安全等原理。
1.系统概览推荐系统,如果用形式化的方式去描述实际上是拟合一个用户对内容满意度的函数,这个函数需要输入三个维度的变量。
第一个维度是内容。
头条现在已经是一个综合内容平台,图文、视频、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任务,当天完成已经开始勉强。
集群计算资源紧张很容易影响其它工作,集中写入分布式存储系统的压力也开始增大,并且用户兴趣标签更新延迟越来越高。