SharpICTCLAS 1.0 发布 (感谢工控网发现了一个问题,问题出在字符串比较上,目前已经修正,请重新下载。2007年4月20日)
一、SharpICTCLAS 1.0 版相对于测试版的改进
1、修改了原子分词代码,使得对于全角字母有较好的识别
2、修改了部分词性标注部分的代码
因为词性标注部分的代码存在问题(应当是从ICTCLAS就存在的问题),主要表现在如果某个汉字没有词性,则在词性标注时会出现异常。例如:“这些是永远也没有现成的答桉的”其中“答案”写错了,当对这个有错别字的句子分词时,“桉”字是没有词性的,程序在此时将出现错误。
目前的解决办法是对于这些没有词性的词在最终标注时标注为“字符串”。
2、修改了地名识别的一些问题
这个问题出现在Span类的PlaceRecognize方法中,nStart与nEnd在某些时候会计算错误。在测试版SharpICTCLAS中,句子“明定陵是明十三陵中第十座陵墓”在分词时会因为这个问题导致异常。
3、修改了基于CCID的字符串比较代码
原有代码没有很好考虑对全角、半角混合字符串的比较问题,现在修正过来了。
4、修改了向词库添加词汇的代码
原有代码存在错误,现在改正了过来。
二、仍然有待改进的地方
现在的程序仍然有很多地方有待改进,例如原子分词部分的代码对电子邮件、URL等识别还不是很好,日后可利用正则表达式加以改进;除此之外,对于词性标注以及人名地名识别部分代码 ,我除了修改了部分问题代码外,没有做任何改进和调整,这使得整个代码显得凌乱,有待做一次全面重构。
三、SharpICTCLAS使用时的一些示例代码
为了能够更好的使用SharpICTCLAS,现提供一些示例代码,主要完成的工作包括:1)向词库中添加新词汇;2)对文件的预处理,实现繁体向简体的转换、全角字符向半角字符的转换、利用正则表达式过滤多余HTML标记以及断句等。具体可以访问我的文章《SharpICTCLAS分词系统简介(9)词库扩充》。
目前经过调整后的SharpICTCLAS运行效果还算不错。在对博客园一万五千篇文章进行分词测试过程中,向词库中添加了一千三百多个词汇然后进行分词,效果还不错, 分词异常一共发生了15次,其中有9处是因为存在大量日文字符,另外6处是一句话中单词过多,超出了软件限制(200词)。分词效率也比较令人满意(尽管总体还是比较慢),15000篇文章总用时2.5小时,但这不只是分词的时间,还包括了繁体转简体、利用正则表达式去掉HTML符号,统计词频(这需要进行重复词的判别,我使用了AVL树 ,共统计得到16万词汇)、将分词结果写入SQL Server 2005数据库。如果不考虑这些因素的话,感觉应当和C++程序效率差不多,当然这是没有经过严格测试的结论。
如果大家在使用时发现什么新问题,还请及时告知,我会继续修正这些问题。
- ICTCLAS简介:
计算所汉语词法分析系统ICTCLAS(Institute of Computing Technology, Chinese Lexical Analysis System),功能有:中文分词;词性标注;未登录词识别。分词正确率高达97.58%(973专家评测结果),未登录词识别召回率均高于90%,其中中国人名的识别召回率接近98%;处理速度为31.5Kbytes/s。
著作权: Copyright(c)2002-2005中科院计算所 职务著作权人:张华平
遵循协议:自然语言处理开放资源许可证1.0
Email: zhanghp@software.ict.ac.cn
Homepage: http://www.i3s.ac.cn
- SharpICTCLAS:
.net平台下的ICTCLAS,是由河北理工大学经管学院吕震宇根据Free版ICTCLAS改编而成,并对原有代码做了部分重写与调整。
Email: zhenyulu@163.com
Blog: http://www.cnblogs.com/zhenyulu