搜狗信息流推荐算法实践

本文根据搜狗王东老师在6月9日,DataFunTalk算法技术沙龙中分享的“搜狗信息流推荐算法交流”编辑整理而成,在未改变原意的基础上稍做修改。

\"\"

本次分享将从上面四个方面介绍,挑选了在信息流分享领域最重要的三个方面,从这三个方面就能基本完成一个信息流产品。首先是推荐系统的架构,如下图所示,是一个经典的推荐系统架构。首先是数据源,数据源可能是抓取的,或者是合作的,或者是自媒体产生的。数据源即包括图文的数据源,也包括视频的数据源。本文主要关注图文领域。有了数据源之后,首先要进行一下NLP处理,它的作用就是对文章进行抽象,用有限的、关键的topic进行概括出来。接下来一层是召回层,就是通过用户的兴趣和点击把用户需要的文章召回出来,进行浓缩,从一亿多文章到几千左右的量级。再对几千左右的文章进行个性化的排序,最后进行展现处理,推荐给客户端。用户在客户端进行点击操作时,反馈会回到系统中来更新用户的画像,对用户新的请求进行新的推荐。本次主要讲标橘红色的内容。

\"\"

文章NLP是推荐系统的基石,在搜狗公司文章NLP就是把文章分为三个不同维度的体系,这个维度每个公司都不一样,有的简单的话可能就两个维度,复杂的话可能有更多维度。搜狗是采用三个维度的,大的维度是分类,分类是把整个客观世界的信息分成若干个大的类别,能够覆盖主要的领域,比如说任何一篇文章都可以对应某一个相应的分类上去。比分类更低一级的是标签,标签是属于一部分分类,它也是一个集合,比如说NBA这个标签属于体育分类,但是它也是一些概念的集合,比如说下面的火箭队、乔丹。标签是处于关键词和分类中间的体系,像关键词就属于实体的集合,具体的话比如人名、综艺节目。经过这三级体系,就把这整个文章形成一套非常有结构的组织,每一层体系都能代表用户的兴趣级别。

\"\"

接下来具体讨论下三个级别的概念是怎么计算的。首先是分类这个级别是个比较大的领域,这个领域必须有一定的受众,能够把文章非常恰当的安放到领域当中,目前内容体系有上百个分类,几十个热门分类,比如娱乐、情感、军事、体育等,绝大多数用户的兴趣都会集中在这几个分类当中。怎么训练分类模型呢,采用的是FastText多分类模型,训练的时候每个分类分别收集几十万的文章。

\"\"

分类模型经过一些阶段的迭代,最终选择比较满意的一个。最开始简单的使用FastText模型,进行文本的多分类,最开始把content和title放在一起,作为文本输入到神经网络当中进行分类,分类效果还可以。后来通过研究之后发现对于文章来说,title和content的重要度是不一样的,很多情况下title是能表述文章的,把title和content分成两部分进行FastText训练,再进行全连接,进行多分类,这样准确度能达到93%。后续优化的时候除了使用FastText还进行了多模型的融合,使用多个模型融合再进行投票,最终准确率达到96%。

\"\"

接下来是标签的方法,标签和分类都是有限可数的,标签有几百个,都是人为总结出来的,描述比较精确。每个标签都是对应分类当中的,在计算标签的时候使用TextCNN分类模型,每个标签收集几万篇文章。

\"\"

TextCNN分类模型和FastText模型不一样,FastText对于一个文章只会对应到一个分类当中,但是标签不一样,可以有多个标签。TextCNN分类模型对进行了卷积计算,能在更高维度理解标签的定义。模型的整个架构是把标题和正文分开进行卷积,用两层卷积,再进行两层全连接,最后输出一个分类。为了使分类效果更好,也进行了一些数据增强的处理,比如说单篇文章拆分成多个样本,在预测的时候把整篇文章拆成多段文本进行预测拟合,最后进行投票确定最终标签。不同模型测试的实验效果,人工评估比测试集评估准确率高的原因在于做测试集时一篇文章只会打一个标签,人工评估可以分多个类别。fastText能达到75%,TextCNN能达到88%,然后采用“TextCNN+数据增强+多段结果预测”能达到90%,用RNN和RCNN结果差不多。

\"\"

关键词是各个分类中的热点人物、机构、作品等实体内容,但推荐与知识图谱不同并不需要很多实体,需要能代表兴趣。因此将热点实体经过人工筛选最终筛选出几万的实体量,都是相关领域热门的有代表性的实体。实体词需要实时的进行更新。关键是如何发现实体并将其加入实体集,我们我定期发掘新产生的的热门词汇,通过计算给相关的标注人员推荐给可以作为标注的人们关键词,通过人工方式确定是否可以录入。

\"\"

关键词的计算由于样本太多无法通过分类来计算,解决方案是从文章中找关键词,选择与其topic相关的关键词作为代表。做关键词一般有两种模型,一种是相似度模型(TF-idf、lda、word2vec),将词与文章都用向量代表,算出词与文章的相似度,找最相近的词。另一个是概率模型Skip-Gram+层次softMax,下面着重介绍概率模型。

\"\"

假如有一个文本S,有若干个词,条件概率(见上图)。概率越高则该词更能表示这个文本,更适宜做文本的关键词。将关键词做一个贝叶斯假设,即是词与词之间转换概率的乘积,对词的转换概率的建模。采用word2vec,Skip-Gram思想,输入的是文本空间,经过embedding,然后softMax全连接,最后得出一个词转换为另一个词的转换概率,word2vec不需要右边的树,但是本模型主要利用树结构,算出转换概率后,依据贝叶斯假设选出概率最大的作为关键词,最终准确率能够达到89%。

\"\"

接下来介绍下召回算法,主要是基于内容召回、基于用户、协同过滤的召回等。基于内容召回就是:显式分类,标签,关键词,比如点击周杰伦的文章,周杰伦就会进入你的用户画像里面,下次进行刷新操作就会出现周杰伦相关的文章,进行排序。这三个维度都是人指定的,但是可以用lda等方式将文章分为几百几千的维度,每个维度内文章是相似的,相似原因不是人为可读的,这也可以作为nlp处理的一个方向,还有点击历史相似的文章;协同过滤主要用的是Item-based、LFM、NCF等;还有一些其他的召回,如地域、人口属性、搜索历史、订阅。其他召回不依赖用户行为,对于没有用户行为的新用户你可以通过额外信息进行召回,解决冷启动的问题。

\"\"
\"\"

CB召回是在用户画像维护一个用户兴趣的集合以及相应的权重,线下会维护用户兴趣对应的文章列表。这些列表与用户个性化联系紧密,只要一个用户对军事有兴趣,就会将军事列表拉回来做排序。兴趣文章列表维护是CB召回的核心,有两种策略,一种是基于规则的,第二种就是基于模型排序。我们在召回简化为对CTR预测,使用的是LR模型。特征的选取与文章排序预期有关,优质的文章可读性很强,时效性(越新的文章信息量越足),相关度要高。

\"\"

分为三个维度,一个是文章的基本特征,文章样式、图文、长度、是否包含热门关键词、账号等级(能够很好区分出是否是好文章)、入库时间;还有相关特征,词在文章中的位置、出现的频率以及词和词的向量化与其他关键词的夹角;热度特征主要就是文章的热度、点击、分享、不喜欢,还有文章里面召回词的热度,在一定程度也体现文章的质量。将这些特征作为线下模型计算的特征。

\"\"

接下来讲一下协同过滤召回,主要是协同召回矩阵,横的是doc,竖的是用户。Item-based就是用户来表示文章doc的向量,通过计算doc与doc之间的相似度来确定doc与doc间的相关性,进而推荐相关的内容。首先是维护每一个doc相关的文章排序,除此之外还有query的协同,如搜doc1的人也搜了query,那么搜query的人可能也对doc1感兴趣,location协同,人口属性也是类似。第一种效果最好,后面相对差一些,但是好处如果冷启动发生,下面两种方法就能推出相关的文章。冷启动无法避免,但是CF某种程度能解决这方面的问题。

\"\"

上面的CF是基于矩阵,算的是item与item间的关系,并不直接算item与user的相似度。而隐语模型将矩阵进行分解,变成两个矩阵,将user与item转化为同一个维度,就是对用户点击的分类,就可以直接计算item与user的相似度。目前用的比较多的就是隐语模型,主要用在电影评分领域,在推荐领域也是可以使用。还有一种方式是NCF,就是用神经网络的方式来训练user与item的相似度,通过同样的embedding维度,将user与item统一到同一个向量空间,通过神经网络训练出各自的向量,最后得出用户与item的向量关系。

召回的目的是为了从几亿空间里面找出可以精排的集合,召回基于用户画像,召回与召回间不可比,因此需要对召回集合做个性化排序。

\"\"

依据信息流产品个性化排序大致分为以下几个阶段:起先基于规则的,然后就是基于LR的预估,最常用的点击率预估模型,速度快,效果好, 与人工规则相比,效果提升显著。后续进行优化,一种是GBDT+LR(Facebook提出的一种方法)实验过程中速度受限,对比LR优化效果不明显。后续用了FTRL优化,思想是在线更新LR模型,在LR的基础上,效果提升明显。目前用的比较多的是基于深度学习,wide\u0026amp;deep模型,在FTRL的基础上,效果再次提升6%。传统机器学习主要处理特征比较明显,表格式的学习任务,深度学习主要解决图像、语音、文本等。推荐问题正好是两者问题的交叉,两种方法都可以使用。

\"\"

着重讲一下Wide\u0026amp;deep learning模型,该模型将逻辑回归和深度神经网络结合在一起,逻辑回归有一个记忆能力,deep层有泛化能力,wide和deep层的特征需要甄别,能够很好地提升效果。特征工程主要分为三个方面,一方面文章本身的特征,比如内容方面(nlp特征、图片、篇幅、深度),属性就是文章热度、长好特征、时效性、原创性;还有就是用户特征,如用户兴趣、年龄、性别、学历、地域;第三部分就是做特征交叉,在做GDBT+LR时还需要做人工交叉,比如用户兴趣与内容的匹配度,还会利用FM还做自动交叉。

\"\"

FM交叉也需要embedding,目前流行的用deep,就是FM和deep层用同一层embedding的结果,参数并没有增加,同时完成深度与广度层的embedding,最后进行一个最终预测。

\"\"

最后做一下总结,首先文章NLP是做推荐的基石,开始做文章处理,后续做用户画像、特征交叉时都需要用到文章NLP。文章NLP不仅限对文章抽象,还包括文章的分级,比如深度文章、浅度文章,还有地域类文章。召回算法有很多,策略和算法同样重要,在召回层并不需要使用特别复杂的算法,你用什么策略召回更重要。个性化排序都是从传统模型向深度模型转换,向头条等巨头使用的是多模型融合,效果也更好。对于初期信息流产品可能不需要这些东西,用户画像需要但不需要太细,但是在演进过程中不可或缺。比如多样性,用CTR预测必然收敛,就需要解决如何打散,如何进行用户新兴趣发现等,还有冷启动问题,没有用户行为时如何推荐,还有质量控制也是必须的,比如现在大环境下一旦有不合适东西推荐出来就会出现严重后果;时效性也很重要,但是评估很困难,有些还需要人工与算法结合,人力也是一个挑战;视频在信息流产品比重越来越重,与图像类似,目前基本以CTR乘以时长作为目标预测,图文基本以CTR为主;视频title很短,如果对视频进行topic、tag等操作抽象往往得不到一个好的结果。

本文来自王东在 DataFun 社区的演讲,由 DataFun 编辑整理。

weixin_34150830
关注 关注
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【算法实践信息流推荐算法交流.pdf(附下载链接)
m0_37586850的博客
02-19 263
今天给大家带来科技王东先生所做的分享《信息流推荐算法交流.pdf》,本分享共包含如下四大部分:1、推荐系统架构;2、文章NLP;3、召回算法;4、个性化排序。本PPT共29页,已收...
实践信息流推荐算法实践 & 深入
热门推荐
一寒惊鸿
03-30 1万+
一. 背景 负责信息流推荐系统后台算法的工作也有一段时间,从零开始构建推荐系统的过程中,在总结了业界一些成功的经验的同时,也摸索了一些有效的实践方法。愿在此沉淀,通过交流扩展眼界。推荐系统重在算法,这也是各大公司算法团队不断追新与实践的过程。无奈个人能力有限,团队人力有限,只能一步一步从基础做起。本文将主要介绍信息流视频推荐算法的应用和探索。 二. 算法架构 召回算法:包...
workflow——C++并行计算与异步网络引擎 项目研究(综述)
wadaxinoli的博客
09-29 1475
一.简单介绍workflow workflow是的一个基于C++的并行计算与异步网络引擎。支撑几乎所有后端C++在线服务,包括所有索服务,云输入法,在线广告等,每日处理超百亿请求。这是一个设计轻盈优雅的企业级程序引擎,可以满足大多数C++后端开发需求。 workflow引入了任务流概念,实现了计算任务与通信任务的统一和协同调度,秉持着高性能与轻量级两个核心理念。workflow能屏蔽掉所有底层的概念,提供接口调用,这一点十分方便。 二.workflow可以帮我们做什么? ...
开源项目workflow 综述
weixin_50804419的博客
09-29 2643
2021SC@SDUSC 项目分工 我负责了解workflow如何实现服务寻址,远程过程调用中包含三个角色的节点分别是服务调用方、服务提供方、注册中心,可靠的服务寻址方式主要是为了提供服务的发现,是RPC实现的基石。 其余两个组员分别负责 workflow如何实现网络传输 以及 workflow如何实现 数据流的序列化和反序列化。 workflow简介 workflow是公司开源发布的一款C++服务器引擎,是一个并行计算与异步通信融为一体的编程范式,项目gi...
信息流推荐算法交流.pdf
06-25
信息流推荐算法交流.pdf
信息流推荐算法综述_王东@.pdf
08-24
信息流推荐算法综述_王东@.pdf
信息流推荐算法综述_王东@.zip
10-25
信息流推荐算法综述_王东@
3-2+信息流推荐算法综述.pdf
03-18
3-2+信息流推荐算法综述
词库新词发现算法
01-02
词库新词发现算法、常见的工具类、百度应用、翻译、天气预报、汉语纠错、字符串文本数据提取时间解析、实体抽取等等
SRPC架构介绍 - Sogou基于Workflow的自研RPC框架 - 知.pdf
01-25
Sogou基于Workflow的自研RPC框架
开源框架Workflow网络模型分析
最新发布
yuanshenqiang的博客
02-02 947
本篇博客分享了高性能后端服务框架workflow在windows系统下的网络模型实现原理,通过源码阅读,梳理了workflow中一个典型网络服务的开启步骤和异步网络事件的产生、触发以及处理所经历的过程,着手剥离了网络模型中的关键模块,在此基础上实现了一个高并发TCP Server,扩充实现了UDP并发服务器,开展了压力测试。
sogou/workflow入门(windows版)
蛐蛐的博客
08-28 2787
仓库:https://github.com/sogou/workflow/branches 1.简介 作为的C++服务器引擎,C++工作流支持几乎所有的后端C++在线服务 这是一款设计轻巧优雅的企业级编程引擎,可以满足大多数C++后端开发需求。 2.功能 快速构建一个HTTP 服务器: 作为一个多功能的异步客户端,它目前支持HTTP,Redis,MySQL和Kafka协议。 在自定义协议上实现客户端/服务器并构建您自己的RPC 系统。 srpc基于它,是一个独立的
Sogou workflow 安装使用
Auto
03-08 1272
文章目录Sogou workflow 安装#1 环境#2 安装#3 使用#3.1 主函数#3.2 CMakeLists.txt Sogou workflow 安装 #1 环境 macOS 10.15.5 C++14 OpenSSL 1.1.1 #2 安装 OpenSSL 需要依赖于OpenSSL,推荐OpenSSL 1.1及以上版本 安装OpenSSL brew install openssl WorkFlow git clone https://gitee.com/mirrors/sogo
今天给大家推荐一个开源项目
pennyliang的专栏
04-27 1653
今天给大家推荐一个开源项目 GitHub - sogou/workflow: C++ Parallel Computing and Asynchronous Networking Engine 这个其实是一个赋能C++/C后端工程师的高科技产品,以后我们就不需要自己造轮子就可以享受到大厂一样牛逼稳定的后端服务。 我们今天就从三个部分来展开,一、安装和入门 二、做一个web服务 三、测评 一、安装和入门 预备安装一些必要的包 yum install git cmake cmake3 open
workflow——C++并行计算与异步网络引擎 序列化与反序列化 代码分析(一)
wadaxinoli的博客
10-05 650
一. 简单介绍序列化与反序列化 对象的序列化(Serialization),即把一个对象以流的方式,写入到文件中保存,叫写对象,也叫对象序列化,对象中包含的不仅仅是字符,使用字节流。 对象的反序列化(deserailization),即把文件中保存的对象,以流的方式读取出来,叫做读取对象,也叫对象的反序列。读取的文件保存的都是字节,使用字节流。 对象序列化的作用:在传递,和保存对象(object)的时候,保证对象的完整性和可传递性。 在翻看其它...
WorkFlow学习分享:msgqueue
qq_60328455的博客
10-01 673
参考https://zhuanlan.zhihu.com/p/525985268,由于该文章主要着重讲解思想,没有详解代码,又因为自己基础薄弱,自己琢磨搞懂后,在重要部分打上注释分享下
workflow异步调度框架例程分析——00
qq_44011116的博客
12-05 1425
文章目录workflow例程:00一、创建http服务1、WFHttpServer类2、WFHttpTask类二、开启/关闭服务三、测试四、总结 关于的workflow不在赘述,可以查看知乎介绍https://zhuanlan.zhihu.com/p/165638263 B站也有视频。 从本篇开始根据workflow提供的源码例程为切入点开始分析如何使用workflow搭建异步调度的C++后端代码 workflow例程:00 这个代码很简单,简单到官方都没有给出关于他的任何文档,连编号都是00。但是对
ubuntu 输入法
05-01
虽然Ubuntu自带了很多输入法,但是很多人仍然选择了输入法,因为输入法具有良好的用户体验和较高的准确性。 在Ubuntu上安装输入法非常简单,用户只需要打开终端,输入几个指令就可以完成安装。安装完成...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • element-ui之el-collapse-transition(折叠展开动画)源码解析学习 48729
  • python 爬取国内高匿代理ip(西刺代理)整站DOWN下来 15016
  • 转载:TDM协议 12451
  • 华为交换机批量设置端口trunk或者access 11172
  • 苹果电脑win10双系统如何进入安全模式 10246

最新评论

  • SD卡数据丢失,怎么不试试它?

    dintc: 需要恢复的卡暂时不要存入新的文件,可以用读卡器连接到电脑,再用 WishRecy 找回里面的数据。

  • STM32 USB CAN 学习笔记 - 共享RAM的用法

    liusheng1097: 我有一个问题,您在此篇文章中的描述确实是将CAN所用的内存寄存器分布解符合 F1开发指南 中的512Byte,但是STM32中文参考手册中的 寄存器分布列表,一个寄存器却只占据4个Byte。与本文中16字节大小有出入表情包 我有点懵,请问您这个过滤器、fifo 、邮箱的地址资料是在哪看到的呢?1097072254@qq.com.谢谢

  • Quartz定时器+Spring + @Autowired注入 空指针异常

    misswell: 没测无效

  • Vuejs之axios获取Http响应头

    twj_田: 请问怎么解决的这个问题?

  • Linux内存管理 (25)内存sysfs节点解读

    模范胡萝卜: 你好,我想知道NR_FILE_PAGES代表的是什么类型的页的集合,谢谢

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 二分查找
  • 通过PMP考试
  • XPath
2019年372篇
2018年688篇
2017年912篇
2016年517篇
2015年394篇
2014年338篇
2013年333篇
2012年266篇
2011年201篇
2010年153篇
2009年116篇
2008年105篇
2007年71篇
2006年49篇
2005年24篇
2004年6篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司平凉网站建设设计报价晋城网站定制公司清远网站制作设计价格阜阳网站设计推荐吉安建站多少钱达州网站改版公司邯郸网站制作咸宁网站优化按天扣费推荐松岗网页制作哪家好塔城网站优化多少钱黔东南关键词按天收费公司晋城模板制作咸阳seo优化报价焦作百姓网标王推广多少钱宝安网页设计推荐汕头关键词按天收费价格罗湖建网站公司南宁网站建设设计推荐南宁网站设计公司永州网站推广系统哪家好大理网站seo优化报价营口网站搜索优化爱联网站制作哪家好拉萨建网站报价商丘设计网站推荐宁波网站优化推广报价垦利网络广告推广沈阳网站优化按天计费推荐海南网络广告推广多少钱沙井SEO按效果付费价格歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化