||
虽然我早先了解一些文本挖掘的知识,但实际开始着手操作也就一年多的时间,这期间有些收获,但更多的是吐槽,遇到问题很多,使用过的工具、方法也不少,但至今并没有形成一套完整的工具,还是小作坊式的在处理一些文本挖掘的事情,不能不说遗憾,今天写这些,是对我以往工作中一些心得的总结,更为自己以后工作提出的要求,以求激励自己进步。
文本挖掘,抽词是第一步,中文抽词工具我接触过计算所的ICTCLAS和复旦的fudanNLP,ICTCLAS自称效果很好,不过我始终没有调用成功过,后来发现是对license控制很严,我那个免费版的抽词工具已经过期,正巧一个师弟也对文本分析感兴趣,他推荐说fudanNLP很好用,可以试用下。然后我就开始用这个工具抽词,说实话,这个工具抽词效果真心一般,后来阅读了下源码,才知道这也就是个学生练手的原型级别的东西,虽然它声称自己可以使用用户提供的词库进行抽词,我找了个搜狗网络词库,处理了下集成到fudanNLP中,从抽取结果上看,很难说这玩意到底用上词库了没。更要命的是,fudanNLP的抽词功能有个很严重的bug,就是同一篇文档,我单独抽词和把这个文档放在一堆文档中一起抽词,抽词的结果不同,造成的结果是,我使用fudanNLP抽词后,一篇文档和自己比较文本相似度,居然还达不到97%以上,这是做文本挖掘难以容忍的。为了回避这个问题,我不得不每对一篇文档抽词,加载一遍fudanNLP,另外再加上编程语言是Java,如果处理文档数量多于1000,内存溢出是非常常见的。我曾经给fudanNLP邮件组发信息,提出过这个bug,后来怎么样就没再关注了。
总之,对于初学者来说,fudanNLP可以用来练练手,但用来做项目,到后期有的是头痛的地方。至于做项目,我个人感觉还是ICTCLAS靠谱点,周围也有人用这个的,说效果还行。
再说下英文抽词,我见过一个师兄使用的工具,是manchester institute of biotech提供的,基于c-value方法实现,不过这个是网页版,你可以上传一个txt或者pdf格式的英文文档,提交后过一会,会在结果网页上返回抽词结果,而且这个网站有个限制,上传文档必须小于2M,对于大批量文本处理,这无疑是很不方便,首先你不可能为了从1000个文档中抽词,就上传1000次文档,第二,即使你很NB地满足了第一个条件,你还需要从抽取结果的网页中检出抽取的关键词及其cvalue数值,当然第二个条件可以通过编写程序处理下html源文件,然后从中抽取出关键词和cvalue数值来满足,不过前提是你得保存1000遍关键词抽取结果的网页。
也许以上处理方式太过原始,manchester institute of biotech也做出很慈悲的姿态,提供webservice接口,你可以事先跟他们取得邮件联系,告诉他们你的IP地址,他们会生成一个API key给你发过来,你使用API key借助WSDL远程调用他们提供的关键词抽取服务,实现关键词抽取。听起来很人性化很不错不是?我花了一天时间调试代码,最终终于可以在我这边从数据库中提取专利号和专利摘要,提交给对方,然后返回相应的关键词了,当时以为真是解决大问题了,然后准备了5万条数据准备让对方抽取下,谁知道刚跑了7条数据,就报错,说连接超时了,后来又是一阵诊断,发现manchester institute of biotech对调用webservice也有限制,不能连续发送多于7次请求,否则关闭连接。
虽然说,到目前为止,英文关键词抽取我还是使用manchester institute of biotech提供的服务,具体来说是使用其他手段规避了这些限制,但就长远来看,我并没有找到用着放心同时很容易教会其他同仁使用的英文关键词抽取方法。合适的方法还在寻找中。
(待续)
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-25 00:23
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社