基于虎扑数据的中美篮球运动员热度统计

核桃 143 0

虎扑足球为什么不如虎扑篮球那么成功?

1.虎扑当年的崛起与姚明加入火箭有很大关系,中国足球目前没有出现类似事件能引起如此广泛关注。

2.在世界范围内,足球迷的数量碾压篮球迷,但在我天朝,这几年篮球爱好者数量已经有完全压制足球迷的趋势。这一点细说主要是因为

a.中国足球一蹶不振。

b.NBA不断有中国元素加入,后乔丹时代球星迭出。

c.足球对场地条件要求苛刻,而篮球场占地面积小,已经成为青少年参与人数最多的运动。

3.中国足球迷有很大一部分都是甲A时代的中年球迷,没有去论坛讨论的习惯。而现在的篮球迷基本都是与互联网一起成长起来的一代,有在互联网讨论的习惯。

4.大型足球比赛(如世界杯)所能引起的声势浩大,但除去比较专业的球迷,其中有一部分属于凑热闹,还有一部分是博彩爱好者,他们也会起来熬夜看球,但不会对球队、球星以及战术细节有更深入的了解,所以不能在论坛贡献有价值的东西。而篮球比赛不会形成如此狂热的阵势,但看球的人基本都是对球队、球星、比赛细节有自己理解的人,所以基本都可以在论坛上贡献自己的观点。

虎扑18年,消失与永恒

用18年寻找一种属于体育公司的商业模式,漫长而起起伏伏。

18岁,对于任何人与公司来说,都是一个极具标志性的节点。进入“成年”,很多人都会像作家余华所说的:“18岁——我的目的地——去远方。”

虎扑的18岁格外低调,只是在官方微信公众号上发了一篇《虎扑十八岁编年史,面对未来,我们依旧兴致盎然》。对于虎扑的大部分员工来说,的确可能是“兴致盎然”的,但对创始人程杭来说,他已经有意跟公司保持了距离——私下里,他会称“虎扑”已经是兄弟们的事业了。

怎么准确描述虎扑与程杭,的确分寸不好拿捏。

从商业的维度来看,虎扑在过去十年已经属于体育产业里最能折腾的“明星公司”,也常常是大众商业媒体们报道的对象,从融资、成立基金到内部孵化得物(毒)、路人王、识货等项目,虎扑是最具有创业时代极客范儿的体育公司;但从结果的维度倒推,虎扑年与年两次上市未能成功,在完成字节跳动一笔近12.6亿元巨额投资的退出后,程杭至少本人似乎陷入了对体育事业兴趣的低谷——面对未来不确定的大环境,他在经历一段外人难以想象的旅程。

“程杭是戴着谷歌眼镜,跟国内三四线用户玩得很嗨的人。”我的老朋友魏寒枫这样评价他,之前他曾是《彭博商业周刊·中文版》的主编,后来在农业领域创过业。

我很认可魏寒枫对程杭与虎扑的评价。

一些例子就很明显,最典型的就是体育版权方面,18年来,虎扑从来没有正式踏足体育版权——尽管篮球与NBA基因强大,但虎扑一直敬而远之。包括足球领域的欧洲五大联赛以及国内的中超乃至CBA版权,虎扑都保持了克制。当然,有人会说虎扑没钱买版权,但如果稍微了解那些曾疯买版权公司的背后金主能发现,以程杭多年深耕的资源与运营能力,如果真想买一些体育版权,他是有机会的。所以在我看来,最主要的就是程杭算清楚了这笔账,精打细算是程杭的一大标签。

此外,这位福建商人戴着谷歌眼镜,科技感十足,在NBA和足球豪门都跑来中国做商业赛最火热的时候,他们是受益者,签下了包括麦迪、阿里纳斯等在内的NBA球星,到河南新乡、山西晋城这些三四线城市巡游——跟其他瞄准一二线城市的策略完全不同。或许跟程杭早年在美国的经历有关,他对创投领域总是充满着超出一般的兴趣:从创业最开始就拿了晨兴资本的100万美元融资、与贵人鸟成立基金、内部不断孵化创业项目等等。

多年后的今天,程杭更希望自己成为李开复那样的“创业导师”,辅导更多年轻人走上创业之路(投资与指导),而不是自己再沉到泥土里抡起胳膊加油干。

如果说,这就是虎扑与程杭18岁的——去远方。那么,形成这个局面的一切原因可能都跟虎扑的商业模式有关。

一、商业模式:内容基因的短板效应

我是年因为一次采访跟程杭认识的。

那是在北京国家体育中心,程杭参加完一个论坛,他拉着一只箱子,跟我在一个小会议室聊天。过程中,我们聊得最多的就是虎扑的商业模式。

虎扑成立于年,前身叫hoopCHINA,最早就是程杭作为“飞人”乔丹的球迷,在美国留学期间做的兴趣项目。最开始准确地说并不是“创业”,类似现在写公众号做自媒体差不多,他的模式是利用信息不对称来生产内容——程杭会翻阅美国六七十家媒体,每天花2至3个小时进行翻译,这些内容多为球星八卦、更衣室新闻、深度报道等——特色就是国内看不到的。由此也培养了一大批“种子用户”,然后由这些“种子用户”再进一步生产内容和扩大影响力,也是由PGC(专业生产内容)逐步转变成UGC(用户生产内容)——网站的特色是快速、准确、有料。

转折点发生在年。阿迪达斯联系程杭,原因是对方要投放15万元的广告。这让程杭有些不知所措,一方面是这笔钱给他带来惊喜,更主要的是他连公司都还没有注册。最后,在美国留学的他,只好飞到上海来取这笔钱。由此,hoopCHINA改为虎扑,也开始了商业化探索。

但对于虎扑跟很多可以生产好内容的公司一样,能够变现的很少,虎扑最简单的模式就是广告,同时也有帮助耐克、阿迪达斯等品牌做营销以及线下活动等。可是,这种钱赚得确实辛苦——“最好的篮球网站”的影响力与变现力是两回事。

虎扑两次冲击上市未能成功,也跟过于依赖前几名广告商有关,因为一旦跟这几家广告商合作级别下降或者取消,对业绩影响会非常大。一个例子是,去年出现的新疆棉事件,对虎扑等社区的营收影响就不小。

硬币的另一面,程杭却看清楚了商业本质。因为虎扑的商业模式注定来钱不易,所以在版权投入方面一直不去碰,看看新浪体育、腾讯体育、乐视体育、苏宁体育、当代明诚等等经历的故事就知道,程杭在坚持的事情方面确实有着他自己独特的认知。

前段时间新浪体育App已经停更,整合到新闻频道,而腾讯体育虽然拥有NBA版权,但也在经历裁员和调整。

“我觉得门户体育的App时代已经过去,至少目前大众的内容消费习惯,已经不支持体育单独做资讯类App了。”一位腾讯新闻内部人士告诉「动次打次实验室」,“核心还是体育的商业模式不太通,我们可能也会做类似整合。”

懂球帝呢?虽然流量很大,评论量也很大,但纯粹资讯类的体育App广告,也就酒类、牛奶等客户愿意埋单,这些收入相对他们整体的运营投入成本来说,可以说是杯水车薪。但虎扑一直朝着跨界的方向,步子迈得比较大,还孵化了从球鞋起家的得物、识货等项目,程杭带领团队一直试图在打破天花板。

程杭一方面对版权非常拒绝,同时在跨界与创投方面又非常激进,这是为什么?

二、打破天花板:跨界与创投的痴迷者

或许,对于程杭来说,最大的成就不是创立了虎扑,而是那个会写入直男历史的惊人发现:男人更喜欢跟男人在一起。

随之实践的是,虎扑逐渐成为了中文网络世界家喻户晓的直男网站之一,而不再纯粹是“最为知名的篮球社区”。由此而诞生的以“选美大赛”为代表的打法更是让虎扑出现了爆发式增长,同时在情感、娱乐、电竞、汽车甚至美妆和女性生活方式等领域占领地盘,虎扑在篮球以外的话题开始登上热搜,尤其是JRS大战吴亦凡粉丝,更是享受到了流量的巨大满足感。

而“直男聚集地”的发掘者,肯定是程杭本人,他也被称为“中国最会做男人生意的男人”。尽管最近四五年,程杭已经不止一次声称自己在脱离虎扑,但背后最核心的战略与定位还是来源于这位“戴着谷歌眼镜”的福建人。

当然,虎扑一度员工人数达到了千人左右(现在约200人),那可能是体育公司最风光的阶段,但是不管怎样,在新浪、腾讯、咪咕等拥有版权的正规军环伺之下,虎扑依靠图文与社区,还能拥有不仅仅于篮球界的影响力,已属不易。

另一方面,程杭已经把虎扑看成了一个平台。

很多时候,别人问我体育创业的想法,我都会说,体育创业挺好,但赚钱不易,可以作为一个资源的平台、交个朋友很好。而对于程杭来说,虎扑过了这18年,或许就符合这样的一个定位:这个平台基本盘会很稳,轻易不会很差,但要想增长以及获得更大资本想象力也不可能。所以,我们看到虎扑孵化了得物、路人王、虎芽、识货、Deep等,这个平台希望能变成一个源源不断出现新项目的平台,推动者当然是程杭,受益者是那些敢于去尝试并可能取得1%成功的人——当然,也包括程杭自己。

这也是为什么程杭乐于鼓动公司内部或者熟悉的人去创业的原因,或者把项目早早独立出去,因为对于以内容为主的公司来说,这可能是不多的机会之一。

由此我们再回头去看看其他体育公司,也同样如此,不管是新浪体育、腾讯、乐视体育、《体坛周报》以及体奥动力等,他们都曾经有机会无限接近资本市场,尤其是后两者,但他们没有一家能上市成功。原因很简单,过于依赖内容的标的,收入单一,广告商充满变数,纯粹冲刺资本市场的路已经被堵上了一大半——剩下的机会可能就是程杭带领虎扑正在尝试的,因为拥有影响力,可以低成本孵化创业项目。

当然,跟虎扑这种纯粹的商业公司不同,《体坛周报》属于湖南省体委这种性质想要内部孵化也很难给项目负责人更多动力,股份给予多少也不会像程杭那样潇洒——给内部创业者20%-50%的股份。

三、去远方:与谁同行

每年懒熊体育筹备嘉年华,我在准备演讲时,都会问问程杭这一年的收获与感受是什么。年,他给到我的感受是两个:怎么去远方、与谁同行?

这确实是大多数创业者的痛苦之源。

因为多数时候,没有远方、看不到远方在哪里,更找不到可以一起去远方的同行者。年,我在厦门安踏跟丁世忠交流时,他当时之所以从晋江搬到厦门,并不是因为厦门的招商优惠等硬条件,最核心的就是,当他在晋江看到自己的员工状态时,他认为这些人不能够让安踏走得更远。于是,他通过搬公司来实现到达远方,工厂留在晋江。而今安踏又在将部分业务逐步迁移到上海,也就是他们常说的——出江入海——走出晋江,到厦门,然后进入上海。

对虎扑与程杭来说,这个远方目前来看,就是不断折腾新的项目,新的项目必然就得有新的创业者——新的项目对人的能力要求不同,一旦经历过创业测试,是骡子是马就非常清楚了,但哪怕有1%的成功率成为得物这样的,就赚大了。也就有了远方。

从这个角度来看,程杭想脱离虎扑的逻辑是自洽的。最近一两年,听到不少关于虎扑出售的消息,但好在,没有交易成功。因为在我看来,虽然虎扑在某些时候盈利能力没有那么强,而程杭本人也有套现需求,但虎扑这样的公司仍然是一个“取之不穷的宝藏”,体育与篮球永远应该是他们的核心,不管怎么跨界,根基不能丢。这样才能经得起更多的考验——体育用品里诸多品牌像李宁、特步、贵人鸟等都总结过类似的经验。

当然,我也在想,程杭可能选错了行业,如果选类似像张旭豪做饿了吗、姚欣做PPlive(后改名PPTV,年苏宁联合弘毅投资4.2亿美元),而且程杭、张旭豪与姚欣都是大学时代创业,他们都在上海创业,后两者已经完美套现退出,张旭豪更是套现665亿元。姚欣在回到母校引用一位投资人传记中的话说:“一切的成功,都是源于一个梦想和毫无根据的自信。”

今年初,我在上海做东请几个朋友一起吃饭,也邀请了程杭。不过,他因为有事迟到了,到达时已经喝了点小酒。由于人多,我们并没有聊那些过于安静的话题,无关虎扑、无关体育产业,而是不断碰杯喝酒。

嗓门很大,直至最后结束。

声明:本文由懒熊体育原创,转载请注明。

虎扑专业在哪里?

先亮身份吧。从hoopchina开始逛虎扑,大号被F,小号在线多小时。

横向比的话,相比知乎微博贴吧这些地方,虎扑仍然是最专业的篮球论坛。如果纵向比,虎扑可是大不如前了。

作为一个老JR,可以说是亲眼见证虎扑从一个专业的篮球论坛转变成一个现在的泛娱乐论坛。

正如剑魔 @劍魔獨孤求敗 所说,以前张公子,ZUKI等大神还在的时候虎扑还非常专业,SHH帖子质量很高,大家和谐讨论,有理有据,虽然会有各家粉丝互喷的情况,但是版主基本都一视同仁。

而现在呢,篮球饭圈化,追自己的球星像娱乐圈NCF一样。每天的帖子不外乎历史排名、为什么某某某X冠Xmvp还比不上某某某,回个贴格林公式的烂梗发了一个赛季,三十大球星第一是个没进季后赛的三阵三旬老汉。BXJ主干道也是绿来绿去,要么就是官方机器人挑口水,要么就是ZT其他论坛的烂梗。真的是乌烟瘴气。

虎扑有专业的地方吗?当然也有。比如其他答友提到的数据。比如篮球场这个版块就是专门为纯粹的篮球迷准备的,专门做内容的版块。NBA选秀NCAA专区有着NCAA的第一手资料,很全面,也有很多一直关注大学篮球的大神,每年选秀之前我都会去NCAA版块先熟悉一下。运动装备区也有很多专业的大神为小白排忧解难。包括BXJ里的数码区、学府路也都不错。

SHH这种地方,看个热闹就得了。

基于虎扑数据的中美篮球运动员热度统计

1. 前言

在互联网这个汪洋大海中,有一个网站叫虎扑,据称“可能是最好的篮球网站”。虎扑以“湿乎乎板块”为核心,集聚了大量的篮球运动爱好者。就像“湿乎乎”的字面意思一样,虎扑里时不时会因为热点实现事件、话题掀起海啸一般的唾沫星子——这都是JRs争论时喷出来的。以前,这个网站里有很多清凉图片,年少的我每天逛得乐不思蜀。后来,虎扑好像要做个好人,主要呈现体育运动相关相关信息,没有啥刺激性内容了。

作为一个老JR,我在开放区、步行街、湿乎乎潜行十几年,发现大家最喜欢的话题,莫过于“谁是最XX的”。假如说,我发一个帖子问“姚明是当时最厉害的中锋吗”,估计58秒内会有个JRs提着40米的大刀前来发言。“最XX”的话题中,最让人欲罢不能的,当属“谁是最红的巨星”、“谁是篮球界的门面”这类讨论。由于大家没有具体的数据,只能凭感觉比较或者基于简介数据来佐证,这种讨论没办法得出令所有人性福的结论。

作为一个做NLP算法的JR,我利用手上的技能和工具,对虎扑最近若干个月的所有帖子(各大板块的340个主贴和0个跟帖)进行了简单的统计,试图给大家伙一个参考。我是这么做的:识别所有帖子中的人名,并统计每个人名的出现次数,然后直接以名字的频数作为对应球员的热度。这里使用的NER和分词算法都来自阿帕比技术公司开发的NLP工具包。

本文的主要内容是:首先介绍文本的目的和意义;然后直接给出结论,即谁是最火的篮球运动员;接着介绍从数据获取到得出结论的整个过程,包括必要的软件系统设计与开发、数据的基本情况和数据统计的具体方法,以说明结论的合理性。

2. 目的和意义

我做这个分析的首要目的,是想调查一下,中国男子职业篮球联赛(China Basketball Association, CBA)在国内的受众广度。另外,我也想知道CBA的发展阶段,比如相比NBA,其受众广度的大小。这是好奇心驱动的一个项目。

其次,在这个过程中,把数据采集、目标范围定义、数据清洗、建模、可视化等等环节——都玩耍一下。是的,工作一般来说比较枯燥,各种形式的玩耍可以调剂一下。

再次,我需要一个形式,把目前的思维方式、方法论、技术水平等等记录下来,以便以后复盘和优化。

最后,这种分享行为是学术公益活动的一种,可以帮很多需要入门的人避免踩坑。

3. 谁是虎扑篮球热度南波万

在虎扑,谁是最火的篮球运动员?是无极尊吗?废话少说,先上结论。

3.1. 中美篮球职业篮球运动员热度排行榜 3.1.1. 中美明星球员热度比较

如表3-1,是中国职业男子篮球联赛和美国职业男子篮球联赛本赛季注册运动员的热度排行前20名(可视为中美篮球明星)。中美篮球明星榜被美职篮球员统治了——只有4位CBA球员进入了这个榜单,他们是新疆飞虎队的周琦、广东华南虎队的易建联、辽宁飞豹队的郭艾伦和北京鸭队的林书豪。

表 3-1中美现役篮球运动员热度排行top 20

从明星球员的公司情况可以看出,在虎扑网,中职篮明星球员的热度大幅度地低于美职篮明星球员。按理说,虎扑作为一个中文体育网站,是我们的主场,中职篮应该向朱芳雨一样,轻轻松松“一拳打开了天”,如图3-1。实际情况是,美职篮依靠其更高的经济水平和观赏性,以及更高的运营和推广能力,统治了我们的主场。中职篮产生流量的能力水平其实是比较菜的,类似图3-2。

图 3-1 朱8化身为龙(图片来源图 3‑2 我们的真实水平(图片来源www.fabiaoqing.com)3.1.2. 中美普通球员热度比较

篮球是一项集体运动,不只有璀璨的明星,更多的是普通球员。在中美的普通球员之间,有没有类似明星球员那样的热度差距呢?如图3-3,是中职篮和美职篮球员热度的箱型图。由于普通球员的热度相对明星球员非常低,我的“箱子”被压得非常扁,肉眼看不出来最广大人民的情况。

图 3‑3 中美球员热度分布对比

这时候,我们可以用直方图来分析一下。如图3-4,有4个子图,其中左边一列是中职篮和美职篮全体球员的热度直方图。我又截取了两个联盟里热度值小于等于90分位数的球员数据,形成了图3-4里右边一列子图。

图3-4左边一列子图告诉我们,中职篮和美职篮都是明星当道,少数高水平球员产生了绝大部分的热度。剩下的都是默默无闻的普通球员。注意右边一列子图横轴的取值范围,中职篮的普通球员热度,比美职篮的普通球员热度低了一个数量级。

看来我们和人家的差距,是全方位的。

图表 3‑4 中美球员热度直方图

总的来说,我国运动员的热度,在一个国内网友为主的论坛里,是低于美职篮运动员的。

3.2. CBA人物热度榜

如表3-2,是中职篮球员的热度排行。我已经多年不看球了,这个榜单中的一小部分名字不熟、大部分球员不熟,只挑几个熟悉的说说。周琦在CBA球员中的领先优势,比“美国周琦”在NBA球员中的领先优势要大得多。易建联、孙悦、周鹏这几个老家伙,依然具有明星级别的热度。其中易建联依靠不懈的努力,依然具有顶尖的竞技水平。 林书豪作为当年在NBA的“黄人之光”,受到了极高的关注。到了CBA,他直接成为联盟里最火热的球星。从这里也能看出我们的联赛,在推广方面,可以提升的空间还是很大的。小霸王斯塔德迈尔依靠在美职篮的野兽派+技术流打法,有着不错的人气,也进入了前20。

有个现象还是挺好的。这里绝大部分是我们的本土球员,说明大家关注的,主要还是自己人。不论水平如何,咱们对国内球员的支持还是一如既往,希望依靠自己人来提升我国篮球的竞技水平。

中职篮和美职篮这两个商业体育赛事的热度,主要还是靠明星球员来产生。人们围绕这些明星球员创作了各种各样的概念和梗,让体育比赛更有故事性、从而进入球迷的茶余饭后。作为一个产品,体育赛事的用户粘性也就得到了提升。中职篮要加油了,我们的比赛、球员水平需要提升,让球迷们感觉这是个具有美感的体育赛事;也需要用球队文化、故事之类的东西包装一下我们的球员,让他们可以成为球迷们口头禅的一部分。

表 3-2 中职篮球员热度排行top20

3.3. NBA人物热度榜

如表3-3,是美职篮球员热度排行榜。老詹球场上实力超群,场下也是“流量皇帝”,热度值大幅领先于他的同事。据我所知,在湿乎乎里随便发一个关于老詹的帖子,就可以收割曝光量了。雷霆三兄弟不光都成为了了最有价值球员,还都成了最具热度球员。三弟的排行超过了大哥,看来好平台的作用还是非常大的。莱昂纳德依靠高超的技艺,和最近几年的争议性事件,也积累了极高的人气,竟然能排在威少的前面,把雷霆仨兄弟给分开。

这里有一个比较明显的问题,就是金州勇士队的库里没有进入top20。他的热度竟然排在了第76位,不寻常。主要原因是我的球员名字数据库构建的不完整,没有收录类似“库日天”“库昊”“小学生”“金州拉文”“萌库”这样的别称。众所周知,库里的球迷特别喜欢为库里其各种各样的绰号,比如用“库日天”来表达对库里精湛的投篮技术的赞美。漏掉了这些别称的后果,就是这位球员的热度被大大低估了。由于任务架构设计失误,没有保存人名抽取的中间结果,再算一遍的成本抬高,我这里就不重算啦。

表 3-3 美职篮球员热度排行top20

3.4. 特色球员简介

我发现了虎扑里流量最高的篮球运动员,是时候蹭一波热度了。这时候,我需要发挥比大师那种钻研精神,好好地研究一下他们。

说什么最吸引流量呢?当然是有争议性的话题。这里就选最具争议性的话题:球星的梗。

3.4.1. 流量皇帝勒布朗-詹姆斯

果然,詹姆斯在现役篮球运动员中,是热度最高的。

由于没有统计退役球员的数据,没有考虑乔丹、科比这样的流量达人,这里只能说“现役”。

如果这是篇学术论文,我会把詹姆斯的几十个绰号全都收录并展示出来。然而这是个“技术讨论贴”,不利于大家团结的内容就不展示了(一些极端球迷使用了不和谐的措辞,给詹姆斯起了大量涉及人身攻击的绰号),这里只展示围绕生活和篮球的部分绰号。

表3-4 詹姆斯的外号与梗

如图,我统计了老詹今年(实际是从年末开始,但是这个阶段的数据缺失太多)3月份以来,每一个周的热度情况。由于代码的bug,我的聚合操作,是按照“周五-下周四”这样的时间范围来做的。为了避免这几台机器的运转,造成我家气温继续上升,我决定不重算啦。统计的bug不影响曲线所要表达的内容。

今年湖人队没有进入季后赛,所以老詹的热度在相应时间段里比较低,和“长草期”差不多。七月份时,老詹的热度突然升高了一下。当时浓眉哥快要转会到湖人队,大家都在关注这支球队、讨论浓眉能否成功转会。十月中下旬开始,由于新赛季马上就要开始,老詹的热度一下就上来了。

可以说,球员的热度主要依靠比赛带来的曝光量来维持。

图 3‑5 年老詹的热度变化(每周)3.4.2. 男篮旗帜易建联

易建联是中国男篮历史上难得的一号人物,不论是国内比赛,还是国际比赛,都能火力全开。当然他从早期的一个身体素质男,一步步成长为后姚明时代的带头大哥,也是有一个过程的。

表 3-5易建联的外号和梗

3.4.3. 奇男子克里斯-保罗

这位奇男子,如图3-6,在传奇的职业生涯里,积累了无数名号,如表3-6。如此之多的梗,足以体现广大球迷对保罗的关注程度之高。

图 3‑6 克里斯-保罗(图片来源)

表 3-6保罗的常见称号

4. 数据处理系统的设计和开发

知乎和虎扑都有点类似草榴社区的“技术讨论区”,没有干货的人是混不开的。接下来是方法和技术方面的干货。

4.1. 任务需求分析

为了知道谁是虎扑篮球热度第一人,我需要一份虎扑数据,需要从数据中识别出命名实体并做简单的计数。为此,我需要3个工具:(1)一个用来获取虎扑帖子数据的爬虫;(2)一个用于从文本中抽取人的名字的工具;(3)一个用来对人名进行个数统计和可视化的工具。如图2-1,是用于完成任务的系统结构。

为了确保这个任务在可接受的时间内结束,我需要估计一下各个环节的耗时:

(1) 数据获取大概需要10天。这段时间里我可以开发调试命名实体识别环节和数据统计分析环节的代码,并完成报告的大纲和部分内容的撰写。

(2) 之后,就需要尽快完成命名实体识别任务。数据是年3月11日21点41分开始至XXXX的所有帖子,包括大约300万篇主贴加1.2亿回帖(平均每个帖子里的回帖数量大约是40),总共约1.23亿条数据。假设每条数据的处理速度是50毫秒,就需要两个月。这怎么行,都跨年了。必须想办法提升任务的并行度,降低耗时。

(3) 剩下的就是一个频率统计任务,也许3秒就够了。

图 4‑1 数据处理系统结构4.2. 爬虫及获取虎扑数据概况4.2.1. 爬虫

我是个野生的爬虫选手,无力开发一套高水平的爬虫,因此选择依靠开源框架。这里选择的是python的爬虫类第三方库中,最受欢迎的scrapy。

还在学校的时候,我花了超过一个月的时间开发了一个用来下载虎扑数据的爬虫。后来又对爬虫做了几次升级。然而年下半年,虎扑的页面数据结构发生了变动,我需要对爬虫进行大改。然而我是个打工仔,没有那么多的时间搞这个,只能作罢。后来听同事军伟大哥说,他基于scrapy开发爬虫可顺手了,于是我也调研了一下。果然是真香——过年的时候,我一边陪孩子玩,一边从零开始重写,不到一个礼拜就完工了。当然了,这里还需要感谢lxml这个库,它通过支持xpath语法,极大地减少了我们解析html的工作量。

爬虫的结构非常简单:获取数据,然后存到mongo中。由于不清楚分享爬虫代码算不算违法,代码就不分享了。

获取的数据包括两部分:帖子的主贴和对应的回帖。

4.2.2. 虎扑帖子文本数据基本情况

如表4-1,是爬虫获取到的数据概况。可能虎扑数据库的content字段类型为varchar,最大长度为9,因此主贴和跟帖的最大长度接近或等于这个数。

主贴字数的中位数是66,说明大家发帖的时候,还是比较勤快的,为了阐述自己的想法或者疑问,愿意费一点口舌。

跟帖的字数中位数是19,说明JRs喜欢一句话解决战斗。据我目测,湿乎乎的网友说话很少能到这个字数。

表 4-1 数据获取结果概况

4.3. 命名实体识别工具4.3.1. 选择一个合适的人名识别方法

文本中的人名识别,是命名实体识别任务的一种具体情形,可以使用NER的方法来实现。这是一个典型的计算密集型任务,最好使用Spark这样 分布式框架来处理数据量较大的情况。不过呢,我的Hadoop集群已经被自己弄坏了,恢复起来需要一段时间,修完也就跨年了。因此,这里使用了一个搭建

NER方案的制定过程说来话长,放在第5部分。

4.3.2. 用HTTP服务封装NER模型

前面提到,NER环节的耗时会非常长,需要想办法提升并行度。由于模型加载到内存里需要占大约500兆的内存,24G内存里最多放48个进程,也就是最快24小时可以完成计算——不过CPU核心数只有8,进程再多也没用。因此,我这个估算是极度乐观的,实际操作中的耗时肯定远远超过24小时,而且不可控。

为了保证任务耗时可控,我决定用一个简单的分布式架构来处理这些数据:在仅有的3台机器上部署NER服务,然后并发地、以一个设计好的概率分布调用集群。现在的资源是:24G+16G+8G=48G,8+12+24=44个CPU核心。这样,一秒钟可以处理约篇个文档,一天就是”2亿”,应该是够了。乐观情况下,半天计算完毕。如果实际情况不乐观,那就把家里的笔记本也加到集群里。分布式架构的可扩展性还是挺有帮助。

经过仔细优化的集群,实际用了8个小时就处理完全部数据。当时我家室内气温明显上升。

5. 人名识别方案

用来识别文本中的人名方法非常多,可以参考

李鹏宇:命名实体识别的一点经验

统计人名频数任务看起来是最简单的任务,实际上是我花时间最多的一个环节。

我需要回答一个问题:如何判断文本中的一个字符串是否为人名。我的“答案”经过多次修改,终于成熟了。

当然,“真理”是值得追求的。在这个任务中,我只能在成本允许的情况下尽量接近他啦。

5.1. 初步的人名统计方法

一开始的时候,我选择的是一个基于神经网路的NER模型。使用神经网络的原因主要是两个:首先是我已经有一个成熟的NER模型了;其次,神经网络高级啊,说起来倍儿有面子。

这个模型是阿帕比技术公司自己开发NLP工具集中的一个模块,如果想体验这个模型,可以到这里看一下:

阿帕比知识服务平台

。这个模型对中文人名、音译人名的识别能力非常强,F1-score超过了0.9。由于训练语料里没有外文人名,我的模型无法识别“Yao Ming”这样的外文人名。这里选择忽略所有没有以中文表达的人名。这样做的损失是比较小的——虎扑里活跃的绝大部分人是中国人,极少使用外文来称呼一个人,比如我们很少称呼迈克尔-乔丹为“Jordan”(一般是乔丹、帮主、篮球之神、GOAT等)。

我用一份比较小的数据进行了人名统计。在看统计结果的时候,我发现机器找出来的人名中,绝大部分不是篮球运动员——难不成还要把这几百个人的频数挑出来?

这样做的成本有点高,而且万一数据处理流程有Bug、需要重新计算一遍,成本会更高。另外,基于神经网络的模型计算效率太低了,处理完整的数据集需要十几天。成本要爆炸了,不可行。

我得仔细琢磨一下这个场景,看看还有没有更好的选择。

5.2. 更好一点的统计方法

实际上,这个任务是一个典型的词语集合受控的场景:我只需要统计篮球运动员的名字,其他的可以采取类似多诺万教练的态度(可参考“我跟他不熟”)。这种场景非常适合使用基于词典的NER方法。

这样的话,我这个方案就简单了,需要解决两个问题:(1)人名词库的设计和建设;(2)找到文本与人名词库的匹配方法。

5.2.1. 篮球人物姓名数据库设计和构建

篮球运动员的个人资料非常好找:

CBA运动员信息的数据源为

CBA球队-虎扑CBA

NBA运动员信息的数据源是

黄蜂队,NBA黄蜂队,夏洛特黄蜂队介绍_网易NBA数据直播系统

如图5-1,是虎扑网的球队信息中,球员部分。对中国球员,所有球员的姓名全称(比如“易建联”)收录到词库中,其中一部分我个人比较熟悉的球员配备了别称(比如“阿联”、“太空易”)。对外国球员,所有球员的姓名全称(例如”索尼-威姆斯”,“索尼威姆斯”)收录到词库,部分稀少、或不存在歧义的姓(比如“詹姆斯”通常指勒布朗-詹姆斯)作为对应球员的别称收录到词典,部分我个人比较熟悉的球员配备了尽量齐全的别称。

这个词典里实际上存在几种偏见:

(1) 首先,类似勒布朗-詹姆斯独占“詹姆斯”这个姓氏作为别称的做法,是对其他小众、姓氏同为“詹姆斯”的球员的不公平。这样做会把这些小众球员的一点数据转移到勒布朗-詹姆斯的身上,导致一种强者更强的结果。

(2) 我个人越熟悉的球员,具有越详尽的别称,可以以更高的查全率统计得到更精准的热度。其他球员的热度则或多或少地被低估了。

(3) 由于我个人的喜好,一些别称没有被收录到词库中,导致相关球员的热度值被低估了。黑粉也是粉嘛,带来的也是流量。

图 5‑1 虎扑的CBA球员信息

这两份数据已经整理为结构化数据,存储在excel文件中:

人名库构建的主要工作是球员别称的收集整理。在任务的过程中,首先基于领域知识,即对篮球运动员的了解,构建了人名数据库的字段,并添加了一部分别称;其次,基于那个用神经网络做的NER模型,找了一大堆人名,然后从中找了一些别称;另外,我又从论坛、搜索引擎里收集了一部分别称。 5.2.2. 人名匹配方法

按照直觉,我们可以使用子字符串匹配算法来统计人名,这样做起来简单。

不过呢,这样做会遇到严重的歧义问题。比方说,“我想叫姚明天过来给大家展示一下投篮”这句话中,“姚”这个字指的是姚明,“明天”是一个时间。如果使用自字符串匹配,我们就稀里糊涂的把“明天”拆开了。这个例子里只是碰巧对了。如何避免歧义的干扰呢?

我选择使用分词的方式,基于语言模型将文本切分为一个个小单元,然后与人名词库比对、找人名。语言模型可以基于对语法、语义的了解,把类似“姚明天”这样的字词精准切分开。这里使用了一个基于最短路径求解的马尔科夫模型分词工具(也是阿帕比技术公司的)。算法原理可以参考

李鹏宇:基于维特比算法的最短路径分词,及其python实现6. 结束语

至此,这个由好奇心驱动的项目就告一段落。

马上就要过春节了,这里提前送上对所有人的祝福,如图6-1。

图 6‑1 鼠年的祝福!

注意:本文为李鹏宇(知乎个人主页原创作品,受到著作权相关法规的保护。如需引用、转载,请注明来源信息:(1)作者名,即“李鹏宇”;(2)原始网页链接,即当前页面地址。如有疑问,可发邮件至我的邮箱:lipengyuer@126.com。