近期,尝试了各类的分词及词性标注工具,包括如下软件:
工具 | 中英文支持 | 其他说明 |
中科院的ICTCLAS | 中英 | CPP,多语言接口 |
清华大学的THULANC | 中,英较差 | 多语言支持 |
哈工大的LTP | 中 | CPP,多语言接口 |
复旦的FudanDNN | 中 | Java |
东北大学的NiuParser | 中,英较差 | CPP |
斯坦福的Stanford | 中英 | Java |
Ansj | 中 | Java |
Jieba | 中 | Python |
Word | 中 | Java |
HanLP | 中 | Java |
LingPipe | 英,中较差 | Java |
OpenNLP | 英 | Java |
NLTK | 英 | Python |
Gate | 英 | Java,GUI,但不太符合程序员思维逻辑 |
lucene-analyzers-smartcn | 中 | Java,只分词,不标词性 |
此外,还有几个工具,由于时间关系,没有进行测试,有兴趣的话可以看一下:
mmseg4j
paoding
jcseg
IK-Analyzer
总结如下:
1、无论是英文还是中文,其分词及标注词性的技术已经相对比较成熟;
2、英文和中文完全是两个体系,中文还是国内做的好一些
3、算法是公开的,因此很多时候,模型库比算法要一些
4、模型库够用就好,不是越大越好。尤其是特定语境下的模型库,自己训练的会更好用
5、英文的模型库比国内好太多了,看着好羡慕啊
6、希望国内的科研可以更有套路、更有组织、更专业化一些