ANSJ
这是一个基于n-Gram+CRF+HMM的中文分词的java实现.
分词速度达到每秒钟大约200万字左右(mac air下测试),准确率能达到96%以上
目前实现了.中文分词....数据结构
高度优化Trie树
在用户自定义词典以及各种类似于Map的场景中,大量使用的一个工具,众所周知,Trie具有高速的文本扫描能力,和较低的内存占用率,是最好的AC机之一,弦外之音,在我的认知范围内...,貌似没有之一.相比其它结构在性能和构造上做到了很好的平衡,但是在java中,大量构建map尤其是hashmap,是一个非常昂贵的操作,通过对于一个map放入大量的key也注定其在自动拆箱装箱,以及解决冲突...我也不想如此,但是为了严谨一些真实的还原算法,的确是用了三个数组来实现的DAT的,主要是为了在判断词语之后避免一次无谓的倒退,算是空间换取时间的一个策略吧,具体感兴趣的可以参见nlp-lang中DAT的创建...TF/IDF 词袋模型 关键词抽取中用到.用来确定一个词的重要程度.同时利用关键词对文章进行自动摘要
CRF 类似CRF的上下文基于词的标注 用来实现新词发现功能,同时新词发现也服务于关键词抽取
ToAnalysis