- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
今日头条推荐系统解密
今日头条推荐系统解密首先声明本文是技术讨论贴,不是技术泄密贴。作者本人是另一个聚合阅读产品摘客的技术架构工程师,非今日头条员工。本文技术架构对于爬虫、大数据平台、推荐算法等理解不足之处,欢迎大家指正。推荐系统大的来说分为四类:基于人口统计学的推荐、基于内容的推荐、基于协同过滤的推荐和混合的推荐机制【1】。先简单介绍一下这几类的区别。基于人口统计学的推荐就是对用户按属性进行分类推荐,比如按年龄、性别、城市、消费能力等用户天然自带的属性分类,然后推荐不同商品。基于内容的推荐是按物品的天然属性进行分类推荐,比如按物品的功能、价格、产地、类型等物品自带的属性进行分类推荐。基于用户的协同过虑,找有相似购物列表的用户定义为相似用户。从相似用户购物列表中找目标用户没买的物品推荐。和基于人口统计学的推荐不同的事评价两个用户相似与否用的是用户的购物列表比较。基于物品的协同过虑,有相似用户的物品定义为相似物品。从相似物品中找目标用户没有购买的物品推荐。混合推荐就是融合几个推荐策略的结果到一个最终的推荐列表中。融合的方法包括加权、分级、调制和过滤。 基于用户的协同过虑相当于把下图每行看成一个向量,寻找相信用户,推荐相似用户没有的物品;基于物品的协同过虑相当于把下图每列看成一个向量,寻找相似物品,然后推荐相似物品给空缺的用户。 有了上面的铺垫,我们大概知道了推荐系统的常见算法。下面我们来分析对于今日头条这个用户过亿的APP,怎么有效的给用户推荐内容。 推荐的第一步是获取内容,目前开源的爬虫包括Java的Nutch、WebMagic,Python的Scrapy?等。Nutch 完全构建在 Hadoop 分布式计算平台之上,可以部署在由成千上万计算机组成的大型集群上。 Nutch 在垂直搜索、档案互联网搜索等领域得到了广泛应用【2】。Scrapy使用了Twisted异步库来处理网络通讯,是一个优秀的Python网络爬虫。WebMagic的设计参考了Scrapy的架构,并整合了HttpClient、Jsoup等Java最成熟的工具,是一个优秀的轻量级Java爬虫,也是我们摘客目前在使用的爬虫。考虑的数据抓取量,我们有理由相信今日头条用的是Nutch框架。抓取到网页之后,需要将网页信息处理成文本,然后分词和去停止词。目前中文分词主要用两个工具: java的ANSJ和python的Jieba。两个都可以自定义指定分词库和停止词库,在Github上可以找到对应代码,在此就不赘述了。以摘客项目的经验来看ANSJ分词的效果更好一点。 推荐系统的一大特点就是要对推荐物品做特征化处理,对新闻而言就是挑一些有代表性的特征词。比如传统内容网站会在编辑人员输入完文章时,必须要指定一些Tag。以今日头条的新闻抓取量,如果是人工加Tag,会是一项非常费时费力的工作。所以自动化Tagging应该是首选方案。这里提几个自动化Tagging的方案。一个简单的方案是准备一个Tag库,用Tag匹配标题和文章第一段话,如果匹配上打这个Tag。用TFIDF算出新闻最有代表性的词,和Tag库匹配,匹配上的Tag作为文章Tag。用分类的方式,将每个tag看成一类。用机器学习的方式对文章分类,对应的类名为文章Tag。 TFIDF其实是一个简单高效的方式。根据信息论,一篇文章的TFIDF值越大,其包含的信息量越大。所以TFIDF值越大的词是越有可能代表这篇文章的。 上面这么多准备工作完成后就可以进入正题:推荐。在用户不多的时候,协同过滤效果不会很好,基于内容的推荐是首选方案。假设用户对各个Tag的偏好矩阵(UT)是这样的:?时尚汽车体育财经军事国际科技张三1.350.80李四001.30王五0.90.20001.61.9这个偏好矩阵可以通过用户画像得到。假设文章和Tag的矩阵(AT)是这样的:?时尚汽车体育财经军事国际科技A100001.800A20.81.500000A3001.30000这时基于内容的推荐方案有两种:UA1=Max(UT1*AT1, UT2*AT2…) =kUA2=(UT1*AT1+UT2*AT2…) =k第一种方式是挑文章最有代表性的Tag推荐给用户。第二种是计算文章每个Tag权重之和对用户推荐,相当于UT和AT两个矩阵的点积。实际中我们更偏好第一种方案,因为文章只要在一个方面很突出,恰好用户喜欢这个类别,就可以推荐给用户了。而不是Tag很多的那些综合性的文章会胜出。 对于今日头条用户量大,内容量大,协同过滤也是一个不错的选择。以基于用户的协同过滤为例,可以用Person相关系数或余弦相似度找出用户的一些相似用户。相似用户阅读较多的内容推荐给目标用户。上图中潜在因子模型是利用矩阵分解
您可能关注的文档
- 人力资源薪酬主管岗位工作说明书.doc
- 人力资源部招聘流程制度.doc
- 人口死亡信息登记-死亡卡编号生成使用说明.doc
- 人力资源系统需求规格说明书功能性需求说明.doc
- 人大北大清华法学院青年学者沙龙启动仪式暨第一期主题沙龙成功举行.doc
- 人力资源部岗位说明书--党建综治岗.doc
- 人大法学院召开《法学家》杂志编委会成立及编委会第一次会议.doc
- 人大法学院民法学研究会第一次全国会员代表大会暨民法理论研讨会在南京召开.doc
- 人工挖大直径扩底墩成孔检验批质量验收记录.doc
- 人大法学院刘教授表示加快推进“三证合一”登记制度.doc
- 分析let s单元56ago2卷纸zheng unit56.pdf
- 塑胶材料其它分类原料pa9t 12.pdf
- md16x16数字媒体切换器设备.pdf
- 者参考项目发起人学科类型单位序列承包商修订页代码顺序典型.pdf
- 届世界天然气大会阿姆斯特丹2006add10288.pdf
- 期测试记录表每周weekly g1g6 journeys tests level 6 lesson26.pdf
- modernize-whitepaper现代化您应用程序白皮书.pdf
- anybackup产品典型案例分析.pdf
- 约克金融工程课程tfeslide32.pdf
- 广州市妇女儿童医疗中心历份教学药历01tjy.pdf
最近下载
- 广西南宁市天桃实验学校英语六年级小升初期末复习试卷(含答案) (2).doc
- 公路工程标准施工招标文件(2018年3月1日起施行).docx
- 南师附中高一分班测试(数学).pdf VIP
- 中科院研究生院罗铁坚 魏峻 刘丹高级软件工程答案.docx
- 6预防高温中暑应急预案.doc VIP
- 《直肠间质瘤》课件.pptx VIP
- 20230913-2023燕窝品牌发布会“燕归巢 · 美如初”主题活动策划方案.pdf
- 2023年12月苏州大学招聘16名劳务派遣制人员(第五批)笔试历年高频考点难、易错点荟萃附答案带详解.docx
- 四年级数学(上)计算题及答案汇编.docx VIP
- 中国保险行业协会官方-2023年度商业健康保险经营数据分析报告-2024年3月.pdf
文档评论(0)