新词自动发现已经成为文本挖掘方面非常基本常用的技术了。比如,我为了实现某个idea,需要对NBA新闻评论语料进行分词,结果缺少了NBA领域的专业词典,导致分词效果受限。即便在网上找到一份NBA常用词词典,依然无法很好地解决有很多网友自创词的语料分词问题。这时首先对语料进行新词自动发现,得到一份好的领域词典,就是一个很好的解决办法。本文讲述了基于新浪体育NBA新闻评论数据的新词自动发现的例子,最终产生了一些非常有趣的词汇。
我所采用的新词发现的算法思想来源于知名博主matrix67的一篇文章《互联网时代的社会语言学:基于SNS的文本数据挖掘》。这篇文章讲的非常细致,很通俗易懂。我这里就简单地说一下其思想:一个候选词能成为一个词需要两个条件,一是组成该候选词的字连续出现在一起的概率高,比如「电影」;二是该候选词左邻字和右右邻字都比较丰富,比如「看电影」,「评电影」,「好电影」,「差电影」,「烂电影」和「电影院」,「电影展」,「电影是」,「电影产业」,「电影学院」。有这两个条件的限制,就可以确定一个比较合理的词,比如「奥尼尔」是词,而「奥尼」满足条件一,却不满足条件二,就不被看做词。
语料来源
喜欢体育的朋友们一定看过新浪体育,想必都能感觉到新浪体育新闻最好看的不是编辑写的流水线的新闻,而是新闻下的评论,真是一个非常欢乐的体现着体育迷智慧的地方。这地方积聚着酱油,吐槽,色情,暴力,地域之争,偶像之争,球队之争,但这里面同样体现着各种笑点,智慧。我就列举几条吧,当然色情暴力的就算了。
笑了,看球三十年?论天赋,NBA史上只有一人,意识,素质,领袖气质,关键决心完美的结合者。可惜不是你以上提的任何一人
紫松解说:如果这位哥们说的不是乔丹的话,你会不会泪奔呢?事实上这种可能在「评论区」是存在的,从中略能窥探出偶像之争生生不息的根源。
你们可以讨厌詹姆斯,请你们也给他一个尊重
紫松解说:在这种偶像之争白热化的地方看到如此斯文的詹粉,心中涌起一股莫名的感动啊。
科比的悲哀在于他太像乔丹
紫松解说:于¥B$FUCK*&~AV@众评论中涌出这么一句,懂球帝那种一览众山小的赶脚逼人啊。
好了,我真是太喜欢这些评论语料了,想从中研究点群众的智慧。不过还是得先爬取到足够的评论数据,直接通过爬虫爬取这些评论对我来说还是个难题(谁会请一定教教我),我只通过js代码直接在chrome上爬取了10篇左右NBA新闻(2014季后赛第二轮第三轮)的评论,约2000条评论。接下来就对其先进行了新词自动发现。
新词展示
首先要展示的「新词」是语料可以成词的词,所以里面包含了生活常见词,NBA领域词,网友创造的词。可以看出效果是蛮不错的。
羡慕 糟糕 胳膊 遗憾 卸载 香蕉 答案 搬砖 策略 青春 研究 贡献 荣誉 扯淡 图片 莫宁 悲哀 英雄 淘汰 泡椒 休息 孤独 毕竟 粉丝 崇拜 欣赏 培养 依赖 瞧瞧 蜗壳 窝壳 健康 挑拨 横扫 励志 皮蓬 讨厌 影响 戒指 盖帽 貌似 缺乏 报销 便宜 预测 屁股 创造 钓鱼 屌丝 费城 怀念 降薪 职业 包括 选择 工资 精彩 模式 替补 kd 兄弟 世界 眼睛 条件 双塔 灰熊 巅峰 即使 鲨鱼 LBJ 魔术师 张伯伦 勒布朗 名人堂 60E 管理层 伊巴卡 越来越 MVP GDP 董秋迪 nba 命中率 兰多夫 懂球帝 艾佛森 森林狼 艾弗森 NBA 拉塞尔 奥尼尔 伪球迷 抱大腿 乔帮主
如果我去掉其中的生活常见词,即无领域性的词,那么就可以得到一份NBA领域词典。下面是部分展示。有「莫宁」,「皮蓬」,「乔丹」类的人名,「灰熊」,「山猫」,「快船」类的队名,有「挡拆」,「假摔」,「单挑」类的篮球规则词,还有球队地名,人名缩写等。可以看出,词的种类是很齐全的,如果语料够大,我预测是能生成一份非常好的NBA领域词典的。
莫宁 泡椒 蜗壳 窝壳 皮蓬 盖帽 费城 降薪 替补 kd 双塔 灰熊 巅峰 HE 山猫 挡拆 萧华 肖华 吾皇 假摔 软蛋 KG 邓肯 ou 维奇 KD 欧文 脑残 萌波 米勒 控卫 呆呆 聚头 快船 秒杀 wa 抱团 格林 爹娘 五黄 单挑 告母 乔丹 尼玛 库里 满屎 阿伦 麦迪 抢七 LBJ 魔术师 张伯伦 勒布朗 名人堂 60E 管理层 伊巴卡 MVP GDP 董秋迪 nba 兰多夫 懂球帝 艾佛森 森林狼 艾弗森 NBA 拉塞尔 奥尼尔 伪球迷 抱大腿 乔帮主 巴克利 华莱士 刷数据 第四节 步行者 杜兰特 希伯特 加内特 迈阿密 cp3 霍华德
如果我继续把比较正式的NBA领域词汇都去掉,只保留网友自创词,就会得到我文章开头说的比较有趣的词汇。正式的NBA领域词汇不难在网上找到,我在搜狗词库就找到一份,这样就能把正式的人名,地名,队名,规则名称统统去掉。下面就是那些NBA爱好者熟知的和还没听过的词汇。
泡椒 蜗壳 窝壳 kd 双塔 HE 吾皇 假摔 软蛋 KG ou KD 萌波 呆呆 聚头 wa 抱团 爹娘 五黄 告母 尼玛 满屎 抢七 夫兰 de 保送 蓝网 奥胖 阿短 阉狗 SB 太监 TM 小编 苟密 in 逆天 疯狗 si no 克利 威少 sb 装逼 铁神 逗逼 on 干爹 bj 史蒂 条狗 完爆 搞定 波波 连冠 牛逼 大Z an 脏话 短密 狗屎 无脑 小查 爹哨 双少 狗蜜 4号 东决 西决 六步 黑哨 二楼 0e 0岁 哨子 阿杜 逗比 笑死 詹皇 六场 8中 招黑 组队 打铁 明主 密喷 LBJ 60E 管理层 GDP 董秋迪 懂球帝 伪球迷 抱大腿 乔帮主 cp3 死全家 太子杜 18卡
看看哪些是跟科比相关的:蜗壳 窝壳 铁神 打铁 60E 告母 阿短 短密
。这个「60E」到底是个什么典故呢?我查了下,说是60亿地球人都是科比粉丝,黑科比的人通常评论后面会加上一句:60E正在赶来。60E就代表了科比脑残粉。「告母」是指科比状告自己母亲这件事,「阿短」是指科比197cm的臂展没有他203cm的身高长。「短密」当然是指阿短的粉丝。哎,网友起绰号黑人的功夫真是深不可测啊。
看看哪些是跟詹姆斯相关的:吾皇 软蛋 五黄 六步 詹皇 LBJ 抱大腿
。这个「六步」怎么成词啦?我也想了好一会,后来发现指的是詹姆斯的六步上篮。笑喷了。「软蛋」这个称呼怎么加到詹姆斯身上了,可能大家忘了,早几年的季后赛,詹姆斯最后时刻缕缕不投篮,传队友,至输球,最后就收获了这个绰号。关于詹姆斯的「软」,我曾在评论中见过一个很好玩的段子:「二战期间,乔丹 科比 詹姆斯曾经同时被关在某集中营,有一天他们被带到篮球场,卫兵告诉他们,有个机会让他们选择,如果谁能连着罚进十个罚球,就能离开监狱。但是其中只要罚丢了任何一个,就马上要被砍头。。当然,也可以不选择,那就继续呆在集中营里。。。乔丹第一个站出来,冷静的十罚全中。。科比考虑了一会,终于也鼓起勇气,也是十罚全中。詹姆斯想了想,很诚心的祝福了乔丹和科比一路顺风!。。士兵又叫住了正要离开的两人说,你们如果有人再次能十罚全中,也能带走他,但是罚失了,两个人都不能活!科比想了想,SB啊,就算我愿意,詹姆斯还不肯呢,我才不背锅!结果乔丹走上来又连进十个,扶着詹姆斯走出了集中营。。一直到了安全地点,詹姆斯终于回过神来了,揉了揉发软的双腿,“帮主,这十个球应该算我的助攻吧!”」
看看哪些是跟杜兰特相关的:kd KD 保送 干爹 爹哨 双少 阿杜 太子杜
。阿杜较为低调的个性使得自己以往留下的被黑绰号较少,无奈今年季后赛在判罚因素的帮助下才艰险过关,便收获了「干爹」,「太子杜」等沉甸甸的诋毁啊。
看一个有关非巨星球员的:对于这些超级巨星来说,受得了多大诋毁,就受得起多大赞誉。所以我不会为他们被黑而打抱不平。相反,我最同情的是雷霆队的蓝领球员伊巴卡,勤勤恳恳,兢兢业业,最后只能被网友起一个酱油外号「18卡」,太惨了。
看看其他好玩的词汇:至于「完爆」这种词,大家可以尽情想象:「科比完爆詹猩猩」,「五黄完爆科渣」,「阿杜完爆猩猩」,「詹皇完爆太子杜」。总之,你能想象的和不能想象的都会出现网友的评论里。你不信,那我再上一条评论「不说别的,詹姆斯是麦迪的粉丝,杜兰特的偶像也是麦迪,现在联盟的第一人第二人都是麦迪的粉丝,这就足以说明一切了!而且你见过nba的小前锋有谁得分。天赋,技术,能力比麦迪强的!别说詹姆斯,他只是全能一点,技术和得分和麦迪差了不只一点点!」虽然我是喜欢上麦蒂才开始看NBA的,但是被脑残网友这么评论,只想对这网友说:「你少说一句,世界就会客观一些。」再看另外一个词「董秋迪」,又称「懂球帝」,在评论中寻的这么一个解释「所谓得的 董秋迪就是鉴于傻B个呆B中间的那种 傻B占了天时 呆B占了地利 董秋迪占了人和 看了几场球就TM 滔滔不绝 真TM 我都不想告诉 董秋迪 我打篮球的时候 你还是蝌蚪 在老子面前号称董秋迪」。
评论的世界
这就是由新词发现展示出的一些爆笑NBA。一句话:评论的世界很精彩,还有很多东西值得挖掘。
新词发现的代码已经托管在github:new-words-discovery。目前能算出候选词的凝固度和自由度,尚需手动设置阈值进行刷选。
网友评论