http://code.google.com/p/pychseg/
第一个版本实现了基于的MMSEG中文分词算法Python 实现。MMSEG实际上是一个正向最大匹配+多个规则的分词算法。链接给出的几个网站写的很清楚了。在开发过程中我增加了一个规则来处理原来的算法中有可能出现的冲突问题。当所有的规则都无法唯一的确定一个chunk时,优先选择后面比较长的词。开发过程中参照了MMSEG的Java实现和ruby实现。并且对性能进行了初步的优化。
目前的性能数据:在Pentium D 2.8G的CPU下处理2.9MB的文本数据,不开启pysco的情况下104s,开启pysco的情况下90s,能达到32KB/s。经测试速度能达到 Java版本MMSEG的1/3,未来如果要进一步优化速度的话应该是把关键的算法的实现移植到c语言中。
TODO:
* 实现NLTK兼容的接口
* C语言级别的优化
* 实现其他算法,目前考虑一个ICTCLAS的python实现,要看有没有时间
* 支持停用词,支持unicode的字母数字检测等
与分词有关的其他想法
* 研究一下ferret/cferret,能否实现一个python binding并且结合进去
* 与nlp/datamining的进一步结合
已有 1 人发表留言,猛击->>这里<<-参与讨论
ITeye推荐