最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

神策数据创始人桑文锋:我在百度如何解决用户分析问题

[复制链接]
跳转到指定楼层
楼主
发表于 2016-12-25 22:45:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
- 分享|桑文锋 -
- 整理丨周小燕 -
  编者按
  桑文锋,前百度大数据部技术经理。2007年加入百度,从零构建了百度的用户行为大数据处理平台。2015年4月离职创建神策数据,为互联网公司提供大数据分析服务。目前的客户有近200家,包括聚美优品、多盟、秒拍、融360等。
  近日,桑文锋在小饭桌人工智能创业班上做了主题演讲,主要包括以下几点:
  1、百度数据从网页数据到用户行为数据的演变;
  2、搜索引擎发展的3个阶段;
  3、提升“百度知道”回答量的几次试验;
  4、做数据平台的两个关键问题:元数据和数据源。
  小饭桌对此进行了不影响原意的整理,以下为分享实录:
2007年,我在“百度知道”做产品研发,在这之后7年多时间里,我的工作都是围绕用户行为数据建设的。
去年4月份,我从百度离职后创立“神策数据”,为互联网公司解决用户行为分析问题,下面我的演讲内容都与用户分析相关。
  
百度内部的数据板块
百度内部两块数据比较重要:网页数据和用户行为数据。网页数据而言,百度在2000年做搜索业务时,全国中文网页数量不超过2亿个,而从网页上整体抓下来的数据中,只有几十GB。谷歌早期抓了2500多万个网页的内容,在1997年和1998年,从网页抓取下来的数据只有47GB。
谷歌与百度都在不断迭代,大约3年前开始,百度开始进入相对稳定状态,常用网页库数据有几百PB,网页库数量趋于稳定。
用户行为数据这一块,百度经历过几个阶段。2008年,百度知道、百度百科等新产品每天共产生几十TB新数据。去年我离开百度时,每天能采集到的用户行为数据达到PB级别。而现在百度每天产生的数据比去年还要增长50%以上,即差不多几个月的时间就能产生几百PB数据,跟之前整个网页库数据一样大。
只要我们创造一个内容之后,它就会被多次浏览、多次访问。所以,用户行为数据是比网页本身高一个数量级的数据。
搜索引擎发展的3个阶段
最开始,搜索是内容相关性的。当时,网页和线上材料都不多,只要你搜的关键词与实际网页内容能够匹配就可以。
但随着内容增多,谁排在前面、谁排在后面成了问题。最初,所有搜索引擎都基于关键词匹配相关内容,但作弊现象开始出现,如果将垃圾词塞进去,用户根本无法搜索到有用的东西。
但当时有那么几个人十分聪明,一个是谷歌的拉里佩奇,一个是百度的李彦宏,还有一个是做学术的。
他们三个人都意识到,链接本身很重要,一个网页被链接多少次,决定这个网页本身的权重是多少。而这也是谷歌、百度起家的东西,许多人以为百度抄袭了谷歌,但我研究了一下李彦宏和拉里佩奇发的专利,李彦宏的专利是在1997年提的,拉里佩奇的专利是1998年提的,李彦宏还更早一些。
这就进入到搜索引擎第二个阶段,基于链接关系决定谁排在前面。
2005年左右,搜索引擎进入第三波——基于用户行为。虽然从网页权重来看,有些东西排在前面,但新问题又产生了——一个老网页一定会比新网页的权重高,但新的页面可能更能满足用户需求。而群众的眼睛是雪亮的,用户进行搜索时,看到比较好的结果就会点击。
那么,可以基于“用户点击”这个数据,决定将什么排到前面。到目前为止,用户行为已经占据非常大的比重,从一些业内专家的说法来看,用户行为权重已经超过50%了。
在百度7年多的经历
接下来我将重点分享,我在百度7年多以来,做用户行为数据的经历。
我在百度知道做了一年研发后,对于接下来该怎么做比较困惑。“百度知道”2005年上线,到2008年的时候已经历时3年,产品形态就是一问一答,产品本身发展得非常成熟、数据非常稳定,每天有9万多个提问、25万个回答。
我觉得改造这款产品,需要研究用户,针对不同用户采用不同策略,甚至给他们展示不同的样式和界面,来提升百度知道的产品黏性和价值。
2008年,为提升百度知道的回答量,我们做了两个功能。
第一个功能基于核心用户。我们抽了35万个近一个月回答超过6个问题的核心用户,用3个多月时间,根据他们以往回答的问题抽取了17万多个兴趣词,结果新版上线后,却发现用户回答量没有发生变化。
我们当时分析原因,发现做个性化推荐之后,用户无非从之前到分类页面回答问题变为到个人中心,但平均回答6个问题的量没有变化。
后来我想,提升产品无非就两种思路:要么吸引更多用户,要么在单个用户上榨取更多东西。既然单个用户被榨取得差不多了,我们就拉新,扩大用户规模,从做核心用户推荐,变为针对所有用户推荐。只要用户在百度知道上做了访问,我们就去搜集他在全百度的数据。
百度内部当时有一个项目叫“后羿”,起源于百度在2008年做个性化广告的设想,即,在用户搜索时出现的广告,不仅基于关键词,还要基于用户行为体验,虽然当时做这件事情有点早,但的确帮我们奠定了根基,当时已经搜集了贴吧、知道或网页上各类用户行为数据,我们就在这个数据集上做训练。
用户在浏览器进行访问的时候,都会种下一个cookie,我们基于此将用户浏览的信息都记录下来。
根据这些信息,我们抽取每个用户权重最高的5个兴趣词,当用户访问百度知道详情页的时候,我们基于他们的兴趣词做实时搜索,将七八个待解决的问题放到页面右侧。
做这个的效果非常好,新版上线后,百度知道的回答量提升了7.5%,而我也因此在2008年获得“最佳百度人”奖。
此后,我对百度知道又做了一些改良,包括让它推荐的问题更具多样性等,还比如将用户半年之前的兴趣,通过权重进行不断迭代,使其衰减,而将最近的回答权重进行调整。但我发现,想再做提升不容易。后来我就开始做用户行为分析。
统一数据需求
百度文化里有一条是——用数据说话,不管做产品调研还是效果评估,都要统计数据。做产品访问都会在服务器端留下日志,基于日志就可以做统计分析。
但是,百度有众多产品,需要对各种各样的数据进行统计分析,如何将数据统计这件事情做得更好一些?
当时遇到几个问题,一是需求周期长,从提出统计需求到需求被处理,需要排队,因为一共只有两三个工程师处理这件事情,整个过程经过写程序、写脚本到上线,将统计结果发送给你需要几天的时间。
此外,运维成本高。每个需求统计都这样处理,团队很快维护了差不多六七百个统计程序,经常出问题。比如,贴吧被人爆了都会导致程序异常。
还有一点,运行速度慢,当时还是单机,300G文件跑起来没问题,但800G文件就跑不出来了。
第四个问题,员工成长受限。让员工写统计脚本,他们写3个月还行,写6个月就不想干了,写1年就立马跑路了,这也导致团队管理产生问题。
当时在百度内部,会基于hadoop去跑一些任务,但对于它能将问题解决到什么程度,我心里没有底。我们设立的架构是,先提供一个界面,期望各个业务线的产品经理、工程师自己去做统计,而不是每次都把任务交给我们团队。将界面设计得小白一点、应用性能高一点。其实只是让大家通过界面配任务,用调度器、代码生成器,将其生成Hadoop的任务进行调度。
差不多一年半的时间里全公司都统一到这个平台中去了,这也是我在百度8年期间,做得最有成就感的事情。
后来,我们与其它团队进行合作,花了两个半月的时间,做了一个框架,并在2011年申请了专利,让开发效率提升,以前做一个统计需要几天,现在只要几分钟或更短的时间就能搞定。很快,大家都集中到统计平台,于是又产生了新问题——资源过于膨胀,当时我们团队只有五六个人,我觉得再这样下去数据规模太大了,无法控制。
当时我的思路受云计算影响,总想着去做一个更牛的计算引擎,但后来觉得这个思路不对,还是应该以数据为中心。2011年上半年,我和另外一个项目经理商量将两个团队合并,成立一个数据团队。后来,我们高级总监又从谷歌那边挖来牛人,这个人之前在雅虎做了7年,后来在谷歌做了5年,一直做数据仓库,他带领我们按照构建整个用户行为的思路去做数据仓库。
百度有七八十个核心业务线,我们将这些业务线产生的数据进行结构化,用谷歌的Protocol Buffer将其格式进行转化之后,再统一到一张表里面去。在这个基础上,我们再建上层主题数据。总之,让全百度各种各样的用户行为数据都统一到一张表。最近这一年多以来,我与很多大的IT公司交流过,他们这一块的数据都做得非常初级,根本没有将基础数据打通、把底层做好。
从2008年我开始做数据,到2012年,这三四年时间我慢慢想清楚,归根结底而言,数据就是一条“流”,我们把数据从源头搬到平台上,在这个基础上,再对数据进行入库、存储建设及管理。然后再去做产品分析和各种各样的应用。
心得
数据平台有两个关键环节,一个是元数据,一个是数据源。如果一个公司既能管理好元数据,又能管理好数据源,整个平台就不会差。
我们常用的业务数据库,实际存储的数据跟元信息都是在一起管理的,所以你感觉不到元数据本身的重要性,但是在大数据处理的情况下,就要把元数据分离出来。
想把数据平台做好,数据源很重要。拿百度来说,网页搜索是它最核心的业务线,其它的都是附属业务线,这些业务线都会用到网页搜索。如果我要变更搜索,下游依赖它的业务程序可能都会挂掉,所以我进行格式升级前都要事先告诉他们,不然可能会出问题。但如果我们让源头本身结构化,下游就不需要跟着源头动,数据解析效率也会比较高。
总结一下,我在百度做用户行为数据的心得:
  第一点,数据源很重要。这也是我们创业思路中核心的一点。在数据采集这一块要“大”、“全”、“细”、“时”。“大”指的是宏观的大而非物理的大。比如每天全国各个地级市的苹果价格数据只有2MB,但基于它做一个苹果的智能调度系统,就是一个大数据应用。“全”强调多种数据源;“细”强调数据维度;“时”强调时效性。
  第二点,用户行为事件模型很有效。规范并结构化用户行为之后,许多数据分析都会变得更容易。Event模型指的是事件模型,之前的叫做访问量模型。
我把2000年后的互联网分成3个阶段:
2000年~2006年是流量时代,谁的流量大谁就牛;
2006年~2011年,进入第二个阶段,我们把它叫做用户时代,谁的用户多谁就牛。比如开心网、人人网、Facebook,不再考量整体访问量,而是关心活跃用户、注册用户数;
2011年后到现在属于订单时代。不论是全民团购还是O2O、在线教育、互联网金融,无非是将线下的交易搬到线上,它本身就是和订单相关的。
以上就是我今天要讲的内容。

楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-4-24 12:19

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表