关于ansj可参见官方网站:http://www.ansj.org/
代码参见git:https://github.com/ansjsun/ansj_seg
在命名实体识别中,据了解CRF为目前较好的解决方案,而在ansj中也提供了此种基于CRF的分词方案,参见NlpAnalysis。
然而由于在实际运用中可能需要对某种命名实体做强化训练,如地名等,此时需使用自己的训练模型,可喜的是ansj中也提供了相应的接口,
调用方法如下:
Model model=CRFModel.parseFileToModel("D:/tmp/sn/model.txt");
model.writeModel("D:/tmp/sn/crf.model");
其中model.txt为通过CRF++训练时的明文结果。
完成后将crf.model替换进src\main\resources\crf即可使用。
在训练时需注意,由于ansj中对模型处理时,只针对B、M、E、S四种状态,因此在组织训练语料时,也需通过这四种状态进行标注。