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

上传人:鲁** 文档编号:488069206 上传时间:2023-07-16 格式:DOCX 页数:17 大小:630.31KB
返回 下载 相关 举报
推荐算法原理全文详解(今日头条、抖音)_第1页
第1页 / 共17页
推荐算法原理全文详解(今日头条、抖音)_第2页
第2页 / 共17页
推荐算法原理全文详解(今日头条、抖音)_第3页
第3页 / 共17页
推荐算法原理全文详解(今日头条、抖音)_第4页
第4页 / 共17页
推荐算法原理全文详解(今日头条、抖音)_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《推荐算法原理全文详解(今日头条、抖音)》由会员分享,可在线阅读,更多相关《推荐算法原理全文详解(今日头条、抖音)(17页珍藏版)》请在金锄头文库上搜索。

1、推荐算法原理全文详解系统概览以及内容分析、用户标签、评估分析,内容安全等原理。1. 系统概览 推荐系统,如果用形式化的方式去描述实际上是拟合一个用户对内容满意 度 的函数,这个函数需要输入三个维度的变量。第一个维度是内容。头条现在已经是一个综合内容平台,图文、视频、UGC 小视频、问答、微头条,每种内容有很多自己的特征,需要考虑怎样 提取不同 内容类型的特征做好推荐。第二个维度是用户特征。包括各种兴趣标签,职业、年龄、性别等, 还有很多 模型刻划出的隐式用户兴趣等。第三个维度是环境特征。这是移动互联网时代推荐的特点,用户随时 随地移 动,在工作场合、通勤、旅游等不同的场景,信息偏好有所偏移。结

2、合三方面的维度,模型会给出一个预估,即推测推荐内容在这一场 景下对这 一用户是否合适。这里还有一个问题,如何引入无法直接衡量的目标?推荐模型中,点击率、阅读时间、点赞、评论、转发包括点赞都是可 以量化的目 标,能够用模型直接拟合做预估,看线上提升情况可以知道做 的好不好。但一个大体量的推荐系统,服务用户众多,不能完全由指标评估,引 入数据指标以 外的要素也很重要。比如广告和特型内容频控。像问答卡片就是比较特殊的内容形式,其 推荐的目标不 完全是让用户浏览,还要考虑吸引用户回答为社区贡献内容。 这些内容和普通内容如何混 排,怎样控制频控都需要考虑。此外,平台出于内容生态和社会责任的考量,像低俗内

3、容的打压,标 题党、低质内 容的打压,重要新闻的置顶、加权、强插,低级别账号内容 降权都是算法本身无法完成, 需要进一步对内容进行干预。面我将简单介绍在上述算法目标的基础上如何对其实现。前面提到的公式 y = F(Xi ,Xu ,Xc),是一个很经典的监督学习问题。可实现的方法有很多,比如传统的协同过滤模型,监督学习算法Logistic Regression 模型,基于深度学习的模型, Machine 和 Factorization GBDT 等。一个优秀的工业级推荐系统需要非常灵活的算法实验平台,可以支持 多种算法组 合,包括模型结构调整。因为很难有一套通用的模型架构适用 于所有的推荐场景。

4、现在很流行将LR和DNN结合,前几年Facebook也将LR和GBDT算法做 结合。今日头条旗下几款产品都在沿用同一套强大的算法推荐系统, 但根据业务场景不 同,模型架构会有所调整。典型推荐特征热度特征全周7AJS 分棗曲度 主魏然嵐模型之后再看一下典型的推荐特征,主要有四类特征会对推荐起到比 较重要的作 用。第一类是相关性特征,就是评估内容的属性和与用户是否匹配。显性 的匹配包括关 键词匹配、分类匹配、来源匹配、主题匹配等。像 FM 模型 中也有一些隐性匹配,从用 户向量与内容向量的距离可以得出。第二类是环境特征,包括地理位置、时间。这些既是 bias 特征,也 能以此构建一 些匹配特征。第

5、三类是热度特征。包括全局热度、分类热度,主题热度,以及关键 词热度等。内 容热度信息在大的推荐系统特别在用户冷启动的时候非常有 效。第四类是协同特征,它可以在部分程度上帮助解决所谓算法越推越窄 的问题。 协同特征并非考虑用户已有历史。而是通过用户行为分析不同用户间 相似性,比如 点击相似、兴趣分类相似、主题相似、兴趣词相似,甚至向 量相似,从而扩展模型的探 索能力。模型的训练上,头条系大部分推荐产品采用实时训练。实时训练省资 源并且反馈 快,这对信息流产品非常重要。用户需要行为信息可以被模型 快速捕捉并反馈至下一刷 的推荐效果。我们线上目前基于 storm 集群实时处理样本数据,包括点击、展现

6、、 收藏、分享 等动作类型。模型参数服务器是内部开发的一套高性能的系统,因为头条数据规模 增长太快,类 似的开源系统稳定性和性能无法满足,而我们自研的系统底 层做了很多针对性的优化, 提供了完善运维工具,更适配现有的业务场景。 目前,头条的推荐算法模型在世界范围 内也是比较大的,包含几百亿原始 特征和数十亿向量特征。整体的训练过程是线上服务器记录实时特征,导入到 Kafka 文件队列 中,然后进 步导入Storm集群消费Kafka数据,客户端回传推荐的label构造训练样本,随后根 据最新样本进行在线训练更新模型参数,最 终线上模型得到更新。 这个过程中主要的延迟在用户的动作反馈延时,因为文章

7、推荐后用户 不定马上看,不考虑这部分时间,整个系统是几乎实时的。系统不可能所有内容全部由模型预估。 所以需要设计一些召回策略,每次推荐时从海 量内容中筛选出千级别 的内容库。召回策略最重要的要求是性能要极致,一般超时不 能超过 毫秒。 50召回策略种类有很多,我们主要用的是倒排的思路。离线维护一个倒 排,这个倒 排的 key 可以是分类, topic ,实体,来源等。排序考虑热度、新鲜度、动作等。线上召回可以迅速从倒排中根据用 户兴趣标签 对内容做截断,高效的从很大的内容库中筛选比较靠谱的一小 部分内容。二、内容分析 内容分析包括文本分析,图片分析和视频分析。头条一开始主要做资讯今天我们主要讲

8、一下文本分析。文本分析在推荐系统中一个很重要的作用是用户兴趣建模。 没有内容及文本标签,无法得到用户兴趣标签。举个例子,只有知道文 章标签 是互联网,用户看了互联网标签的文章,才能知道用户有互联网标签, 其他关键词也一样。一方面,文本内容的标签可以直接帮助推荐特征,比如魅族的内容可以 推荐给关注魅族 的用户,这是用户标签的匹配。如果某段时间推荐主频道效果不理想,出现推荐窄化,用户会发现到具 体的频道推荐 (如科技、体育、娱乐、军事等)中阅读后,再回主 feed, 推 荐效果会更好。因为整个模型是打通的,子频道探索空间较小,更容易满足用户需求。 只通过单一信道 反馈提高推荐准确率难度会比较大,子

9、频道做的好很重要。 而这也需要好的内容分析。上图是今日头条的一个实际文本 case 。可以看到,这篇文章有分类、关 键词、 topic 、实体词等文本特征。当然不是没有文本特征,推荐系统就不能工作,推荐系统最早期应用在Amazon, 甚至沃尔玛时代就有,包括 Netfilx 做视频推荐也没有文本特征直 接协同过滤推荐 但对资讯类产品而言,大部分是消费当天内容,没有文本特征新内容冷 启动非常困难,协同类特征无法解决文章冷启动问题。今日头条推荐系统主要抽取的文本特征包括以下几类。首先是语义标签 类特征,显式为 文章打上语义标签。这部分标签是由人定义的特征,每个标签有明确的意义,标签体系是预 定义的

10、。 此外还有隐式语义特征,主要是 topic 特征和关键词特征,其中 topic 特征是对于词概率 分布的描述,无明确意义;而关键词特征会基于一些统一 特征描述,无明确集合。另外文本相似度特征也非常重要。在头条,曾经用户反馈最大的问题之 一就是为什么总 推荐重复的内容。这个问题的难点在于,每个人对重复的定 义不一样。举个例子,有人觉得这篇讲皇马和巴萨的文章,昨天已经看过类似内容, 今天还说这两 个队那就是重复。 但对于一个重度球迷而言,尤其是巴萨的球迷,恨不得所有报道都看一 遍。解决这一问题需要根据判断相似文章的主题、行文、主体等内容,根据 这些特征做线上 策略。同样,还有时空特征,分析内容的

11、发生地点以及时效性。比如武汉限行 的事 情推给北京用户可能就没有意义。最后还要考虑质量相关特征,判断内 容是否低俗,色 情,是否是软文,鸡汤?图是头条语义标签的特征和使用场景。他们之间层级不同,要求不 同。分类的目标是覆盖全面,希望每篇内容每段视频都有分类;而实体体系要求精准,相同名字或内容要能明确区分究竟指代哪一个人或物,但不 用覆盖很全。 概念体系则负责解决比较精确又属于抽象概念的语义。这是我们最 初的分类,实践 中发现分类和概念在技术上能互用,后来统一用了一套 技术架构。目前,隐式语义特征已经可以很好的帮助推荐,而语义标签需要持 续标注,新名词新概念不断出现,标注也要不断迭代。其做好的难

12、度和 资源投入要远大 于隐式语义特征,那为什么还需要语义标签?有一些产品上的需要,比如频道需要有明确定义的分类内容和容易 理解的文本标签 体系。语义标签的效果是检查一个公司 NLP 技术水平的 样的大类,再下面细分足球、篮 球、乒乓球、网球、田径、游泳 ,足试金石典型的层次化文本分类算法root tTj/? 渤类云力灵9B ?* Si JHr Id斤类更美型:* SVM* SVM CNN* SVM CNN - RNN/Iz元濮. 元分类:希分类 I 路晉裁云分交元分棗r25署詢再今日头条推荐系统的线上分类采用典型的层次化文本分类算法。最上面 Root ,下面第一层的分类是像科技、体育、财经、娱

13、乐,体育这球再细分国际足球、中国足球,中国足球又细分中甲、中超、国家队 相比单独的分类器,利用 层次化文本分类算法能更好地解决数据倾斜的 问题。有一些例外是,如果要提高召回,可以看到我们连接了一些飞线。这套架构通用,但根据不同的问题难度,每个元分类器可以异构,像有 些分类SVM效果很好,有些要结合CNN,有些要结合RNN再处理一下上图是一个实体词识别算法的 case 。基于分词结果和词性标注选取候选, 期间可能需要根 据知识库做一些拼接,有些实体是几个词的组合,要确 定哪几个词结合在一起能映射实体的实体词识别算法扣.一讽球帑It足未 联涌ffl亚 莫科EMtti*描述。 如果结果映射多个实体还

14、要通过词向量、 topic 分布甚至词频本身等去 歧,最后计算 一个相关性模型。三、用户标签 内容分析和用户标签是推荐系统的两大基石。内容分析涉及到机器 学习的 内容多一些,相比而言,用户标签工程挑战更大。今日头条常用的用户标签包括用户感兴趣的类别和主题、关键词、来源、 基于兴趣的用户聚 类以及各种垂直兴趣特征(车型,体育球队,股票等) 还有性别、年龄、地点等信息。 性别信息通过用户第三方社交账号登录得到。年龄信息通常由模型预测, 通过机型、阅读时 间分布等预估。常驻地点来自用户授权访问位置信息,在位置信息的基础上通过传统聚类 的方法拿到常驻 点。常驻点结合其他信息,可以推测用户的工作地点、出

15、差地点、旅游地点。 这些用户标签非常 有助于推荐。当然最简单的用户标签是浏览过的内容标签。但这里涉及到一些数据处理策略。 主要包括:一、过滤噪声。通过停留时间短的点击,过滤标题党。二、热点惩罚。对用户在一些热门文章(如前段时间 PG One 的新闻)上的 动作做降权处 理。理论上,传播范围较大的内容,置信度会下降。三、时间衰减。用户兴趣会发生偏移,因此策略更偏向新的用户行为。因 此,随着用户动作 的增加,老的特征权重会随时间衰减,新动作贡献的特 征权重会更大。四、惩罚展现。如果一篇推荐给用户的文章没有被点击,相关特征(类别, 关键词,来源) 权重会被惩罚。当然同时,也要考虑全局背景,是不是相关内容推送比较多,以及相关的关 闭和 dislike 信号用户标签挖掘总体比较简单,主要还是刚刚提到的工程挑战。头条用户标 签第一版是批量计 算框架,流程比较简单,每天抽取昨天的日活用户过去 两个月的动作数据,在 Hadoop 集 群上批量计算结果。但问题在于,随着用户高速增长,兴趣模型种类和其他批量处理任务都在增 加,涉及到的计算量 太大。2014 年,批量处理任务几百万用户标签更新的 Hadoop 任务,当天完成已经 开始勉强。集群计 算资源紧张很容易影响其它工作,集中写入分布式存储系

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号