Beta

It’s a beautiful thing when free data meets free algorithm.

上一篇文章说道最近我在做文本挖掘方面的一些工作,到今天为止暂告一段落。刚好也整理了一份针对中文的《R语言环境下的文本挖掘》, 供感兴趣的童鞋参考(见文章底部)。

自然语言处理(Nature Language Process)是一个非常让人着迷的领域,应用范围非常广泛, 比如去年人机大战中大出风头的IBM Watson,iPhone 4S的语音助理模块Siri, 以及针对于社会热点的舆情分析,这些应用都使用了自然语言处理技术。 当然,统计背景的分析类科研人员更关注于舆情分析这类的文本挖掘技术。

很多统计软件都提供了文本挖掘的功能,比如常见的数据分析软件SAS、SPSS等,以及一些语言如Python、Java,侧重点有所不同。 但对于一般文本挖掘主要包括:

  • Preprocess:数据准备、导入、清洗以及一般性的预处理
  • Associate:关联分析,根据同时出现的频率找出关联规则
  • Cluster:将相似的文档(词条)进行聚类
  • Categorize:将文本划分到预先定义的类别里
  • API:可扩展的应用编程接口

至少在2008年,商业和开源软件的功能特性差不多 (但我不确认Latent Semantic Analysis、Latent Dirichlet Allocation这类的模型是否支持), 只是由于众所周知的缘故,对于API的扩展支持有所差异。

对于中文环境下的文本挖掘,无外乎要解决如下几个问题:

  • 较为精确的中文分词(可能还需要支持个性化题库,甚至词性分析)
  • 生成词条-文档矩阵,甚至矩阵的运算
  • 后续的挖掘算法支撑(传统的以及语义类的)
  • 其他

在R语言环境下,有众多的包支撑解决上述问题。 Ingo Feinerer开发维护的tm包提供了完整的文本挖掘的框架, 借助辅助工具及R包,甚至还可以处理word、pdf文档的读入,文档处理并行化运算,文件数据库的语料处理等问题。

闲话不多说,最下面链接给出了一份基于《Introduction to the tm Package》整理的,基于tm包的中文文本挖掘的介绍性文档,内容包含

  • 互联网网页处理:XML包的简介
  • 中文分词
  • tm包的完整介绍:读写、语料库构建、过滤、转化、元数据、文档-词条矩阵等
  • 文本挖掘技术及应用等

当然,作为非正式发布文档还有很多地方不尽完善,后续可能会有较大更新,请关注博客上的to do list。

文档下载:R语言环境下的文本挖掘

最近事情很多,每天下班回来,自己弄些东西吃,稀里糊涂就到了21点。跟着再浏览一下圈子信息,时间更是倏地一下就到了0点,然后第二天变熊猫……

主要在忙两件事

  • 翻译《R in a nutshell》,三月底应该会到出版社那边
  • 重头戏,整理文本挖掘的相关技术

明天会在公司内部进行文本挖掘的培训,下面是提纲:

说到文本挖掘,就要说一下文本云可视化。前一段时间老觉得wordcloud这个包的可视化图形不是很美观,于是想重写这个包。但随着深入理解文本云,发现非常不简单,是个NP问题,一时半会没有太好的处理办法。从实际项目的角度,这种可视化意义不是很大,几经折腾后无奈放弃。

但这其中的折腾还是蛮有意思的,比如最初的想法是可以绘制任意形状的文本云,比如根据中国地图形状(但太丑了,又放弃):

还有类似这样效果的:

有时间再搞吧——但有时间的话就应该在图像识别这块了,囧!

  • 有人说,爱情是凄美的,没有结局的爱情永远定格在那一刻,才是永恒;
  • 有人说,爱情是天使,就像那可爱的丘比特,会带给我们欢乐和甜蜜;
  • 还有人说,爱情是恶魔,它一次又一次的带我们到痛苦的深渊。

拿到22996 首中文歌曲(844 个流行歌手)之后,总觉得在这些非结构化数据背后肯定隐藏了什么,但到底会有什么模式呢?当经历了分词、构建矩阵、去除停止词、矩阵约减,最终通过模式识别,统计数字之后爱情居然是这样的一个真相:

爱情永远寂寞

  • 爱情、永远、寂寞三个词之间夹杂着幸福、美丽、快乐、感觉、离开、不在、也许、其实、是我、是你、是否、曾经、现在……
  • 永远还覆盖了生命、明天、等待、拥有……
  • 爱情有着眼泪、无法、伤心、感情……
  • 寂寞夹杂着孤单、自由、孤独和沉默。
  • 等待爱情的降临、享受爱情的甜蜜、失去爱情的眷顾的各位,和你的想象一样吗?

回忆

  1. 在中学时代,在流行歌曲的旋律中察觉到懵懂的爱情,但在繁重的学业中又不曾有出路。于是在日记本写下了“飘渺的歌里什么都没有”,从此彻底远离流行歌曲的靡靡之音。
  2. 大学时代,第一次从校内韩国留学生共享文件夹中拖下来两首 MTV,Michael Jackson 的《We are the world》和 Mariah Carey、Whitney Houston 两位天后合唱的《When you believe》,这两首 MTV 几乎反复看了几十遍,彻底明白“余音绕梁,三日不绝”什么意思。时至今日,每每听到这两首歌,依旧觉得灵魂最深处有触动。
  3. 张楚有首歌叫做《孤独的人是可耻的》,实际上这首歌在讲述渴望爱与被爱,没有爱情的人是寂寞的,寂寞的人是可耻的;
  4. 大陆最早热播的青春偶像剧应该是《东爱》了,主题曲《突然发生的爱情》里有这样一句话——如果不曾与你邂逅,我们将永远是陌生人。是的,虽然通篇没有提过爱情,但那个“永远”是那么的刺眼,分明是对爱情追逐。

纽约尼克斯华裔后卫林书豪0.5秒三分绝杀!在带领球队获得五连胜后,在对战猛龙队客场的比赛中,刚刚获得上周东部最佳球员的林书豪全场20投9中拿下27分11次助攻,终场前0.5秒,林书豪的三分逆天绝杀帮助尼克斯以90-87战胜猛龙!迎来六连胜!(叹号真多……)

这场比赛可以总结为:尼克斯队落后了47分钟,平了59.5秒,最后0.5秒领先。赢了!

林书豪辗转很多支球队,甚至CBA东莞都不屑于签约的边缘球员,在尼克斯拿着非保障合同,随着濒临裁撤。哪知道:第一场临危受命成为先发后卫,帮助球队取得首胜;第二场得分28,再次帮助球队获得胜利;第三场职业生涯首次两双,纽约三连胜;第四场对战湖人,在科比的头上砍下38分,屠湖人;第五场准绝杀,成为东部周最佳球员;第六场绝地反击,逆转猛龙,获得六连胜。

有几个细节:

  • 前五场尼克斯缺少两位当家球星,这两位球星年薪2000W+,而林书豪80W-
  • 在尼克斯主场,球迷对林高喊MVP,这种待遇在过去20年里只有三个球员有此殊荣,他们是乔丹、科比和詹姆斯
  • 在第六场,林0.5秒绝杀,全场起立欢呼。但不要忘记,那里是对手猛龙队的主场
  • 据ESPN统计,林首发前5场豪取136分,超过了传奇中锋奥尼尔,是NBA历史第一

噢,忘记说了。林毕业于哈佛大学经济系,如果被裁,没准在华尔街也是个数量分析师。

上赛季NBA球员战力分析

越靠近中心的越平庸,离中心越远的球员必定有某项能力有过人之处。

图上的每个点代表了一个球员,实力最强的25%显示了他们的名字。这张图仁者见仁吧,最近的一年来,关注 NBA 较少,没啥解释的。

岁月是把杀猪刀,昔日呼风唤雨的球星退役的退役,状态下滑的下滑:

  • 那个曾经把上天都感动哭了的麦迪辗转几支球队,成了人见人欺的角色球员;
  • 邓肯虽然还是一尊石佛,但再也不是篮下的王者;
  • 飞跃法国队中锋的扣将卡特飞得不再高,成了打酱油的;
  • 脾气火爆的阿泰斯特改名叫了慈世平……

话说到,去年在上海财经大学讲 R与统计图形时,提到了Edward Muybridge (1830-1904)的赛马动画。在准备材料的时候,我也比较八卦的翻了翻关于赛马动画的历史,结果发现:这幅图型不但是统计动画的鼻祖,同样是现代电影的先驱。

从 Edward Muybride 拍摄赛马动画后,美国的电影产业开始高速的发展,从此加利福尼亚州顺理成章地成为人类电影发展上的重镇,加州的好莱坞产生了大量的电影技术的创新,好莱坞电影也成为美国文化的主要代表之一。

电影、动画的原理,我就不八卦了,一般理科生大概都有些了解。关于这个赛马动画的产生,很有意思:

  • 1872年,前美国加州州长 Leland Stanford(也是斯坦福大学的创立者)是一个狂热的赛马爱好者,为了证明马在奔跑的时候会有一刻所有的蹄子同时悬空,和人打赌,赌金非常高,达到了$25,000。
  • 而在那个年代很难用肉眼确定马在奔跑时的状态(可以想象一下为什么马踏飞燕是那个样子?)。于是 Stanford 找到并雇佣 Muybridge 这个摄影家帮他解决这个问题。
  • Muybridge 本来在 1872 年的时候已经接受了 Stanford 的邀请,为 Stanford 提供那旷世赌博的摄像证据。但这家伙怀疑自己老婆有个情人Larkyns,并且冲动的枪杀了 Larkyns。
  • 直到1877年,Muybridge 被判无罪(Stanford 提供的辩护资助),才又继续他的奔马实验,于是有了这个:

后来 Muybridge 根据这些赛马的图片,创作了人类历史上的第一个小电影。下面这个动画就是用最上面的几张图合并而成的(因为偷懒用ImageMagick自动切割,所以这个小电影有点晃~~)

当然,还有一个效果更好的:

哈,这便是统计动画的原理,也是现代电影的最初版本~~

0%