从关键词聚类的案例谈谈数据感
2018-11-15 11:47

从关键词聚类的案例谈谈数据感

本文来自微信公众号: caoz的梦呓(ID:caozsay),作者:caozsay。头图来自视觉中国。


很多人想问能不能转数据分析,以及如何学习数据分析。


那么以我的经历来说,我一直会强调,数据分析一方面你可能认为是技术,是分析的手段和方法;但另一方面,数据感非常重要,有数据感的人,用一些简单粗糙的技术,就可以挖掘出很多数据价值;但如果数据感不够,那么,可能你技术很牛,会的算法和手段很多,但面对大量的有价值的数据,依然可能会坐守金山而不自知。


最近,吴亦凡刷榜的新闻热点很大,我在知识星球里吐槽了一句,我说当年百度风云榜的明星榜单,刷榜不要太夸张,现在可能情况好多了,刷榜的发现刷百度回报率太低,都去刷微博了。 


然后我简单回顾了自己的一些工作,当年我分析过百度的搜索日志,找到过一些净化指数的方法,此外,还做过关键词聚类的一些方案,有人就回复问我,这是怎么做的,我今天以这些为案例,来分享一下日常工作中,数据感是怎么体现的。


一、百度指数,如何防刷


百度指数来自于用户搜索行为记录的统计,但这里的用户搜索行为,是有一定疑问的,因为这里可能存在一些机器人,一些营销公司,一些不那么合理的行为。


那么比较容易想到的防刷手段是什么呢,很多人应该第一反应是,看IP是否聚集对不对,如果都是几个固定IP出来的,肯定是刷出来的,但现在肉鸡很多,代理服务器很多,拨号换一个IP成本也很低,那看什么,看客户端类型是不是,如果客户端类型分布很集中,说明搜索来自于同一批终端对不对。


但刷数据的方法,其实有很多种,比如,这不是教人学坏啊,如果你有一个访问量高的网站或者app,或者找一个这样的产品,塞点广告费,然后你内置一个js脚本刷搜索,用户无感知的,这样搜索就来自于完全真实的用户环境,所有IP,客户端类型,地区分布,时间分布,都是完全常态散布的对不对,这时候你用以上的这些分布特征分析,一概无效了。


实际上很多防刷防作弊都是基于真实行为特征和刷数据的行为特征存在一些不一致,而刷数据的那些人,我告诉你们,数据思维都特别强,他们会把各种特征伪造的跟真实行为非常接近,但当时我有一招是刷数据的人想不到的。


你们执行百度搜索的时候,可能很多人没注意到,url里面有个参数,是tn=...,这个参数是什么呢,是百度记录搜索流量渠道的。当时的背景还是PC为王的时候,还没有移动互联网,那时候其实百度自有流量,也就是用户打开www.baidu.com进行搜索的比例,其实最多也就50%,其他都是第三方渠道,比如各种导航网站,第三方浏览器,还有各种电信的dns劫持,这里的第三方渠道,从tn来讲,也包括百度旗下的hao123。刷数据的人基本上没注意过这个,那么当时我发现,如果一个搜索词的tn分布明显异常,比如来自于百度自有渠道的超过95%,可以说明搜索量基本上是刷出来的,因为正常用户搜索行为不是这个分布。只靠这个,其实就可以挤掉很多刷榜的数据水分。不过从公司角度讲,刷榜带来的虚假繁荣可能还不是坏事,就好比微博,你看那些明显扯淡的明星数据作假,他们也是乐见其成。所以我当时找工程师帮忙按照我的思路处理了数据,搞了一份净化版的数据做我的数据分析用,但百度指数那边依然大量刷榜的领导们并未要求处理。


二、百度关键词如何聚类


百度关键词聚类首先要看目标,为啥要说目标呢。


其一,对百度业务收入的分析,我吹过这个牛,百度第一次知道自己不同行业收入分布的情况,是我做出来的,因为我做了商业词聚类,数据分析后台才提供了不同行业的收入分布,我做聚类之前,最开始是靠企业注册的类型来统计的,但由于很多代理商偷懒,数据没法看,超过50%的收入行业是其他,这怎么看。


当时的技术思路也公开了,其实没啥技术含量,但效果我觉得还行。


史上最简单的推荐系统设计


一个至简推荐系统的实现(附源代码)


这里我曾经提出过一个问题,在实现商业词相关推荐的基础上,如何实现有效的关键词聚类呢?有评论猜对了,其实不复杂,找出每个行业的核心词,基于关键词与核心词的关联的延展,来实现自动聚类,比如核心词A,关联词B,然后C与B关联,这样层级延展,并计算关联衰减,如果一个词和不同的行业核心词都有关联,按照关联度高的选择。


实现不复杂,但实现效果好就需要体力活,什么体力活,就是看数据,找坏案例,基于坏案例,优化和调整行业核心词。怎么找坏案例,针对不同行业类型,按关联度从低到高排序,那些关联度低的商业词,很多都是分错类的,肉眼识别出来,看与核心词的关联路径是怎样的,以及用怎样的核心词可以让它正确归类。还有就是没有被覆盖到的关键词,又有一定收入的,都列出来,看为什么覆盖不到,能否从中找出几个核心词让这些覆盖到。


坦白说,技术好的人有更好的途径做聚类,我不行,我技术不过关,但我数据感好,我看数据津津有味,不累,这事是体力活,代码跑一遍,肉眼看一遍,找出坏案例,调整核心词,继续跑,然后继续看,就这样,那么标准是什么呢?是收入的覆盖率。标准也很重要,客户提交的商业词实在太多了,你说我标准是覆盖80%的商业词汇,那没戏,我做不到。但覆盖95%的收入,不难,覆盖top 30%的商业词就够了,要做业务分析,所以这个95%已经很不错了,至少比之前50%的其他要好太多吧,然后再慢慢优化。很多时候呢,做数据分析的人,如果目标感不对,总是抠在技术指标里出不来,那就会有太多不必要的技术开销了,大公司还好说,值得,小公司肯定耗不起了。嗯,实话实说,开始百度规模还小,在数据分析方面不舍得投入人才,后来百度技术投入多了,我的那个粗糙版本早被人家专业技术人员用新方法取代了。


所以很多时候,我能做的事情不是因为我技术好,而是因为我知道要做什么。以及如何用最低的技术开销,去搞定这个事情。至于优化和完善,可能需要更好的技术人员的配合。


这是商业词聚类,其二,用户搜索行为聚类。


比如百度风云榜有分类榜单,百度的分类榜单最早的更新是编辑完成的,但经常有新的热词出现,更新是不及时的,经常有朋友来问,我们有个新游戏很火为什么没有进游戏榜,或者我们新发的小说现在指数特别好为什么小说榜没有收录。


那我后来就说,这事为什么不做成自动的呢?一个新词的指数飙升,我能知道它是什么类型的,比如“琅琊榜”这个词突然飙升了,系统能识别这是电视剧。


其实这事一点都不难,为什么呢,还是数据感,一个词的热度很高,那么只要不是刷出来的,一定会有很多相关的词出现,(咳咳,又是一个分析刷榜的技巧) 比如琅琊榜这个词指数很高,那么“电视剧 琅琊榜”这个词的指数一定不低。此外“琅琊榜 在线看” 类似这样的相关词,都会有不少搜索量,这时候你就注意到,很多相关词是有典型的行业特征词根的,这个事就简单了,把所有行业特征词根整理出来,然后遇到热门词出现的时候,先找到热门词的所有有搜索量的相关词,再把这些相关词分词,包含特征词根的按照词根所属行业聚合起来,按照搜索量计算关联权值即可,有些词本身存在多目标特性,比如苹果这个词,但你基于苹果的相关词的词根聚合,“电影 苹果””苹果手机““苹果 栽种”,搜索指数一排序,你发现,这个词的用户主要搜索目标是通讯设备。少部分是电影和农作物。


当时没有多想一步,其实可以做成深度学习,基于已分类的热门词,对相关词分词,系统寻找规律,是可以找到一些行业特征词根的,然后这个系统就可以成为自完善系统了,那时候还都是手动找行业词根。


以上这一段可能有点绕,其实慢慢思索一下,没什么技术含量,都是简单的思路。


那么想说明什么,如果一个人天天看搜索日志,看百度指数,能不能产生如上的思路,这就是数据感,数据在这里,日志在这里,这是资源,然后你能想到什么,能找到什么可以做的事情,遇到问题怎么思考,别人问我,为什么百度热榜没收录这个词,一般人说,我去反馈一下,你想想,这事为什么不能做成自动的,以及如何做成自动的,数据感都藏在这里。


以上都是当时随手做的工作,当时做的这种技术含量低的体力活很多,驱动力主要是好奇心,还是那句话,如果你对数据不好奇,这碗饭可能你真的不适合。


我随便说个例子,比如现在很多做运营分析的都在提漏斗模型,当然不同领域的一些具体数值定义有自己的标准,但我话说回来,漏斗分析这个思路,如果你说,你做业务运营,如果不看书,没人教你,你就不知道有这个思路,你是领导手把手教,书上写了你才知道这样很有用,甚至还不知道究竟有多大用,那么只能证明你真的没有数据感。这个东西,只要你做运营,你就必须能意识到,并有意识去分析,当然,书上和有经验的人会给你一些业内的标准和分析细节的辅导,这个确实存在一定的经验积累,但这个意识,是不能靠教的。


本文来自微信公众号: caoz的梦呓(ID:caozsay),作者:caozsay。

本内容为作者独立观点,不代表虎嗅立场。未经允许不得转载,授权事宜请联系hezuo@huxiu.com
如对本稿件有异议或投诉,请联系tougao@huxiu.com
正在改变与想要改变世界的人,都在 虎嗅APP
赞赏
关闭赞赏 开启赞赏

支持一下   修改

确定