python调用Hanlp做命名实体识别以及词性标注

之前需要做一个中文命名实体识别的api,看完了一些相关论文以后觉得短时间内自己实现不大现实,于是找了一些开源工具,其中哈工大的LTP效果是很好的,但是免费使用限流量,需要给钱才行; NLPIR的pynlpir似乎还不能支持命名实体识别等复杂工作,只能做一些分词之类;最后还剩下Hanlp,感谢Hanlp的作者hancks无私的将代码开源,还提供了那么详细的文档。

pyhanlp只有少数功能,其他复杂一点的功能需要使用python调用java代码来实现。
以下是api的模型部分,大多是照着文档写成的。
python调用java需要jpype库,具体安装请参考之前的博客:jpype安装的简便方法
python调用Hanlp做命名实体识别以及词性标注_第1张图片
python调用Hanlp做命名实体识别以及词性标注_第2张图片
python调用Hanlp做命名实体识别以及词性标注_第3张图片
识别结果:
在这里插入图片描述
{‘place’: [’ 武胜县/ns’, ’ 宁夏/ns’, ’ 固原市/ns’, ’ 彭阳县/ns’, ’ 红河镇/ns’, ’ 香港/ns’], ‘person’: [’ 宗成庆/nr’], ‘organization’: [’ 蓝翔/nt’, ’ 中国科学院计算技术研究所/nt’], ‘time’: [‘2018年/t’, ’ 6月份/t’, ’ 现在/t’]}

遇到的问题:
在弄这个api时遇到了一些问题,就是当我打开java虚拟机JVM,功能正常使用完关闭了JVM,但是再打开的时候就会报错,所以得一直保持一个JVM一直打开的状态,或者重启kernel才行。网上找了找也没能找到靠谱的解决方案,这个问题只有以后慢慢解决了。如果有人知道如何处理,可以给我发私信。

文章来源于wong小尧的博客

你可能感兴趣的:(python调用Hanlp做命名实体识别以及词性标注)