文本挖掘技术在CIC的应用

数据挖掘(Data Mining)已经不是一个新鲜的概念,“尿布和啤酒” 这一经典案例也被很多人津津乐道: 美国一家大型超市利用数据挖掘技术来分析他们的销售纪录,居然发现尿布和啤酒的销售量之间存在相当大的关联性。经过进一步的调查,找到了产生这个现象的原 因,原来在美国,负责为孩子购买尿布的年轻父亲们,很多时候会顺带着给自己买些啤酒。沃尔马随后采取的措施是,将尿布和啤酒并排放在一起,结果两种产品的 销售量都到了增长。

在CIC,我们也使用一种特殊的数据挖掘技术,也就是文本挖掘(Text Mining),来从每天数以百万计的网络文章中寻找譬如“尿布和啤酒”的潜在规律和趋势。但是和一般意义上的数据挖掘不同, 文本挖掘的研究对象,即文本,是非结构化(Unstructured)的,即没有预先设定好的栏和位,告诉我们这篇文章是在说某年某月谁谁谁做了什么事, 这些信息,都必须使用包括文本向量模型(Vector Space Model),自然语言分析(Natural Language Processing)等技术在内的信息抽取(Information Retrieval)过程得到,然后才能放进结构化的数据库,以供进一步处理。

我们当然希望对于文本的处理结果能够相当准确,这个准确度可以用两个指标来衡量,1. 召回率(Recall),譬如我们想要寻找谈及产品A的文章,那么召回率就是在所有谈及产品A的文章中,多大比例可以被我们发现;2. 精确度(Precision),在我们所认为是谈及产品A的文章,有多少是确实满足我们期待而不是被错误划分进来的。

如果说能相当准确的处理少数文本还不算难,那么每天处理几百万篇文章,就是对整个软件系统的一大考验了,算法的高效,系统的稳定还有可扩展,都起着决定性作用。

除去以上这些,另一大挑战是来自中文。与西方文字不同,汉字字符是没有边界的。西方的文本挖掘技术不能直接应用在中文上,就如同不能直接应用在类似 这样一串字符串上一样 thisistobesegmentedfirstandthenwecandosomethingaboutit. 在汉字字串当中寻找特定信息,我们需要首先进行分词,缺少这个过程,就会产生让人啼笑皆非的错误。譬如寻找包含“可乐”的句子,结果“我可乐坏了”也被当 作结果。

中国网民的用语习惯,会让文本挖掘的过程更为复杂,我们需要知道什么时候“粉丝”,“玉米”不是食物,而是一些特定人群;我们也需要知道“小黑”可能不是一条狗,而是ThinkPad笔记本;当然,我们也得弄清楚“KK” 这款车是指雪佛兰的Spark还是丰田的Camry,抑或是东风雪铁龙的富康。

同时,我们也需要超越绝大多数现有搜索引擎所采用的单纯基于特定关键字的查找匹配方式,而在一定程度上去实现基于语义(Semantic)的搜索,即不论文中出现的是“笔记本”,“本本”,还是“laptop”,当我们在查找“笔记本”时,这篇文章都应该作为结果返回。

面对这么多困难,如果有人觉得CIC的技术人员一定过的苦不堪言,那么他可错了。面向中文网络的文本挖掘实在是有趣极了。首先,迎接那些挑战,解决 各类难题本身就很刺激。同时,有机会和我们的分析团队合作也是相当有意思的事情,我们面向各行各业,消费电子,汽车,运动产品,饮料,汽车,甚至网游等 等,通过挖掘和分析,散布在海量文本当中的蛛丝马迹就可能被拼凑起来,而形成一个完整的故事。我们或许能够发现不为人知的联系,或者预测到潜在的品牌危 机。

对于一个热爱新知的人来说,从事这项技术的研究与开发,可以接触到各类学科的知识,计算机科学,语言学,统计学,社会学,大众传媒等。我们研究文字 的信息熵,计算文本矢量的相似性,用动态规划法(Dynamic Programming)对中文进行正确的分词,用概率理论分析词跟词的关联,计算文本向量矩阵的特征向量(Eigenvector),用分布式系统来实 现大规模的计算和存储...... 如果这些听起来还不够让人兴奋,那么或许我们还可以去看看文本挖掘和量子物理的共同点。

如果有人问我互联网时代,继门户,搜索引擎,Web2.0之后,The next big thing是什么,我的回答会是,不论具体的应用为何,这个应用一定离不开文本挖掘,从海量的网络文本当中,在语义层面寻找富有价值的信息。这类应用,被纽约时报称为Web3.0,网络的应用.正在从手册(Catalog),向智能的向导(Guide)演变。

 

你可能感兴趣的:(文本挖掘,口碑研究)