在对中文分词简单实现的过程中考虑到对于新词如人名、地名、专业术语进行区分,采用的方法是除去词库中已经存在的词那么剩余下的单个汉字排除常用的单字后组合为新词,例如“北京福娃是奥运会吉祥物”作为有一个新词的短语,在现有的算法下会分为“北京 福 娃 是 奥运会 吉祥物”六个词,待用的算法将分词后的词集合进行对比,会发现“福 娃”是极少作为单字出现故组合成新词“福娃”,而“是”作为汉语中常用单字词将区分开,无疑改进后的算法仍有不足,但对于新词的识别准确率会提高很多。
此算法需要解决的一个问题即是获得一个常用单字词库——里面包含如“的、是、了”之类的常用单字,人工统计将是非常费时费力的事情。所以采用的方法是通过程序从网络中抓取各类型的网页进行分词,并记录原有算法得到的单字词及其使用的次数,当分析的数据足够多之后最常用单字词即会分析得到。
在进行此项工作很意外的发现了副作用——可以用来统计各网站的热点词汇。通过分析如新华网和新浪网当前首先和次一级页面后很容易发现当前的热点,如昨天(06-02-12)分析新华网会得到“陈水扁”、“元宵”、“冬奥”等热点词汇。
今天通过分析新华网,在258个页面153,6190个汉字去除干扰词(新华网、新闻、记者、社会等)后获得以下前20名的关键词:
中国,--1535
北京,--646
伊朗,--560
情人,--474
奥运,--464
法律,--398
发展,--380
管理,--373
春节,--358
经济,--321
美国,--320
教育,--310
元宵,--305
农民,--304
大学,--292
文化,--264
冬奥,--248
市场,--214
关于软件:
以下是软件在分析Cnblogs关键字时的一些截图:
分析界面:
配置界面:
一些其他的应用联想:
- 知识发掘的自动分类的实现:说起来有些拗口,说白了就是程序根据关键字的分类将出现该关键字的文档自动进行归类。以上的想法的初衷来源于《数据挖掘原理》(<<Principles of Data Mining>> David Hand ),关键字和文档标识(URL/文档文件名等)组成一个庞大的稀疏矩阵——行为关键字、列为文档标识,矩阵的行为关键字匹配的文档篇数,列为该文档拥有的关键字。如果关键字分类则很明白关键字的相关文档也可以规类。本应用对于需要对大量文档进行规类和索引的需求将会有前景(如企业知识库)。当然规类只是应用之一更多的应用可参考该书的文本挖掘的相关内容。
- 建立自动挖掘和归类的文摘站点:设定与网站主题相关的关键字,指定某些需要搜索的站点,网络爬虫将符合关键字的文档自动规类并索引。此举就会形成一个维护量小的文摘内容丰富的站点。
参考资料:《数据挖掘原理》(<<Principles of Data Mining>> David Hand ,Heikki Mananila,Padhraic Smyth 张银奎等译 ),