stanford corenlp命名实体识别(基于python)

很多童鞋在用stanford-core-nlp进行命名实体识别时遇到了各种问题,在此本人根据已有经验讲述如何成功利用stanford工具进行命名实体识别处理。

1. 环境安装
需要用到的有java_jdk,stanford有关包(包括stanford-corenlp-full-2018-10-05,如需处理中文,还要下载中文包stanford-chinese-corenlp-2018-10-05-models,这是我目前下载的版本)。
stanford corenlp命名实体识别(基于python)
stanford corenlp命名实体识别(基于python)
可根据自身需要下载相应的语言包。

2. 具体过程

具体的代码我就不做搬运工了,网上很多,大家可以去找一下,比如这位[https://blog.****.net/zhuzuwei/article/details/80546104]

3.问题描述

在一切就绪后准备开心地搓手手等待结果时,却发现程序一直没有结果,连个错误都不报一下。这时查看日志,发现“waiting until the server is avaible”一直出现。
**解决办法
1.查看java是否正确安装,因为stanfordcorenlp是基于java开发的,所以要正确安装java.如何查看java是否正确安装:启动命令行,依次输入java/javac/java -verison 若程序正常出结果,则正确安装,否则没有正确安装或者路径没有配置好。若没有正确安装,返回第一步,下载java去。关于路径配置可参考其他大神的指点。(运行报java无法启动虚拟机也是环境变量的配置问题,在此不提了)
2.需要注意的是,很多童鞋按照上面做了还是会有“waiting until the server is avaible”这样的报错,那么接下来你就该检查java版本位次了。启动命令行,输入“java -version”查看java位次,
stanford corenlp命名实体识别(基于python)
如上图所示,stanford-core-nlp需要64位java才能正常运行。如果没有这个,请返回第一步,下载对应的java去。

4.结果
stanford corenlp命名实体识别(基于python)
如上所示,结果就正确出来了。
不过,命名实体识别的结果不是特别理想,还是有一些错误的。欢迎大家推荐一些准确率高的识别工具或代码。