一、前言
最近工作中需要使用命名实体识别来做一版人名及机构名的预识别demo,评估了独立训练一套NER模型所耗费的标注成本巨大,加上目前只是对该需求进行demo版本的开发,所以花了一段时间对目前现有的开源 NER 工具包进行了调研及优缺点评估。
这次主要使用的开源 NER 工具包有:
-
StanfordCoreNLP
https://stanfordnlp.github.io/CoreNLP/
-
Hanlp
-
foolNLTK
https://github.com/rockyzhengwu/FoolNLTK
- LTP
现在将安装步骤,使用方法,及一些优缺点分析记录在此。
二、StanfordCoreNLP
StanfordCoreNLP 是斯坦福大学发布的 NLP 处理工具,StanfordCoreNLP 的源码使用 Java 编写,目前 Python 可以用两种方法进行调用,一种是使用 StanfordCoreNLP 库,是对 StanfordCoreNLP 进行了 Python 封装。而另一种方法是直接使用 Stanford 官方发布的 Python 版本 StanfordNLP。这里介绍第一种方式。
1.安装方法
(1) 首先 pip install stanfordcorenlp
(2) 其次 由于其源码为 JAVA 编写,所以需要 JDK1.8 及以上版本的支持,下载安装 JDK1.8
(3) 下载 StanfordCoreNLP 的相关文件 ,主要是 相关语言的 JAR 模型,以及 CoreNLP 3.9.2