前言:

一直在找一个能够精确识别中文人名的自然语言处理工具包,期间也找到了stanfordcorenlp, 并且经过在网上的大量摸坑探索之后,还是成功使用上了stanfordcorenlp,但是经过后期比较后,发现精确度还是没有达到满意的效果,后期发现了精度更高一些的jieba和paddlehub, 但还是把这次的摸索做个记录

一,简介

stanfordcorenlp是一个自然语言处理工具包, 提供了一套人类语言技术工具。支持多种自然语言处理基本功能,它集成了很多非常实用的功能,包括分词,词性标注,句法分析等 ,Stanfordcorenlp是它的一个python接口

官网地址:https://stanfordnlp.github.io/CoreNLP/
Github地址:https://github.com/stanfordnlp/CoreNLP

下载地址: https://nlp.stanford.edu/software/corenlp-backup-download.html

二,下载及安装

前言: 安装前需要设置Java环境,就是下载jdk包, 设置环境变量这些,目前这个包我配的是                            java1.8.0_271

当前电脑环境: Python3.7.2+Windows10 64位

1.下载python接口的stanfordcorenlp包, 目前使用3.9.1版本, 使用更稳定,最新的4.x版本可能会遇到错误:

配置好pip后在命令行输入pip install stanfordcorenlp==3.9.1,直接就下载成功

2.下载StanfordCoreNLP压缩包, 跟步骤1的包不一样,这是StanfordCoreNLP源软件包, 进入网站https://nlp.stanford.edu/software/corenlp-backup-download.html,如下图

右击Download CoreNLP 3.9.1 如下图,复制链接地址,在新的空白页打开,如下图

把下载好的压缩包解压后放在Python包的lsit-packages文件夹,

建议改个名,我这里改名为stanfordnlp

如果发现包太小,只有几十kb,可能是由于网络的原因,导致下载不完全,这时建议到GitHub下载

3.接下来下载中文语言包,还是建议到gihub或者官网下载

GitHub - stanfordnlp/CoreNLP: Stanford CoreNLP: A Java suite of core NLP tools.​github.com/stanfordnlp/CoreNLP正在上传…重新上传取消https://link.zhihu.com/?target=https%3A//github.com/stanfordnlp/CoreNLP

4.将下载的中文语言包放在刚刚改名的stanfordnlp文件夹下就按照完毕可以使用了

​​​​​​​三,使用

1.导包: from stanfordcorenlp import StanfordCoreNLP

2.定义StanfordCoreNLP对象,注意路径是改名后的stanfordnlp文件夹的绝对路径, 语言选择中文

from stanfordcorenlp import StanfordCoreNLPnlp = StanfordCoreNLP(r"C:\Users\l84171088\AppData\Local\Programs\Python\Python37\Lib\site-packages\stanfordnlp", lang = "zh")
string_ner = nlp.ner('钟伟政党员组织关系回执')
string_ner1 = nlp.ner('钟伟政党员组织关系回执给阳莉')
string_ner2 = nlp.ner('回执+张颖+002466445')
string_ner
Out[5]: [('钟伟政', 'PERSON'), ('党员', 'O'), ('组织', 'O'), ('关系', 'O'), ('回执', 'O')]string_ner1
Out[6]:
[('钟伟政', 'PERSON'),('党员', 'O'),('组织', 'O'),('关系', 'O'),('回执', 'O'),('给', 'O'),('阳莉', 'O')]string_ner2
Out[7]: [('回执', 'O'), ('+', 'O'), ('张颖+002466445', 'PERSON')]

3.实测总结: 通过string_ner的结果发现要识别的人名'钟伟政'还是识别出来了,可以通过词性标注的'PERSON'获取到, 但是接下来多加了一个人名之后,string_ner1的结果的第二个人名没有识别为'PERSON',到了第三个结果,甚至识别出来的人名还有符号和数字,纳尼,为什么这么不准?只能说模型准确率不够,毕竟这个包是国外这边开发的,不精通汉语的语义吧,还有可能中文包的姓名不够全

4.总体来说,StanfordCoreNLP对于中文人名的识别,个人觉得准确率不够,而且安装步骤复杂,中间很容易出错,对于有高精度的识别的需求就不适用了,如果还有更好的关于StanfordCoreNLP的方法还请指正.

stanfordcorenlp识别中文人名实战记录及心得相关推荐

  1. jieba识别中文人名实战记录及心得

    一,介绍 官方介绍:"结巴"中文分词:做最好的 Python 中文分词组件 我理解的官方的目标是做最好的python中文分词组件,但是在网上一搜,很多文章直接说成了是最好的中文分词 ...

  2. python识别中文人名_中文人名识别

    中文姓名的构成规律 中文姓名一般由二字或三字组成,第一字为姓氏字(复姓为前两字),其后的一到两个汉字为名用字.统计表明,中文姓名在用字上也有一定规律:一方面某些字频频出现在姓名中,如在姓氏用字中,虽然 ...

  3. python识别中文人名_使用Python在NLP中的命名实体识别中提取人名

    我有一句话,我需要单独识别人名: 例如: sentence = "Larry Page is an American business magnate and computer scient ...

  4. python中文人名识别(使用hanlp,LTP,LAC)

    中文人名识别属于命名实体识别的范畴,解决问题的思路很多,但是在实际的应用过程中各种库做的参差不齐,下面是3个开源库的使用方法与效果展示: 首先是hanlp hanlp github主页:https:/ ...

  5. 基于深度学习和指代消解的中文人名识别

    摘要 [目的]命名实体识别是自然语言处理领域的一项基本任务,实体包括人名.地名和组织名等,与其他实体相比,人名与职务.职务变更及人称代词有关.人名的实体识别中,人名语料的残缺及人称指代不明等问题,成为 ...

  6. 基于分布式的短文本命题实体识别之----人名识别(python实现)

    目前对中文分词精度影响最大的主要是两方面:未登录词的识别和歧义切分. 据统计:未登录词中中文姓人名在文本中一般只占2%左右,但这其中高达50%以上的人名会产生切分错误.在所有的分词错误中,与人名有关的 ...

  7. python ui自动化配置文件,python UI自动化实战记录八:添加配置

    添加配置文件写入测试地址等,当环境切换时只需修改配置文件即可. 1 在项目目录下添加文件 config.ini 写入: [Domain] domain = http://test.domain.cn ...

  8. python 中文姓名库_中文人名语料库。中文姓名,姓氏,名字,称呼,日本人名,翻译人名,英文人名。...

    中文人名语料库(Chinese-Names-Corpus) 业余项目"萌名NameMoe(一个基于语料库技术的取名工具)"的副产品. 不定期更新.只删词,不加词. 可用于中文分词. ...

  9. Unity-解决TextMesh没办法识别中文字体

    1.问题描述 最近在用Unity的RuntimesEditor插件,中间七七八八遇到了好多问题,因此开贴记录一下,之后应该会写一个集合贴. 这个问题源自于我想自定义RuntimesEditor的菜单, ...

最新文章

  1. HTTP 无状态中的 状态 到底指的是什么?
  2. 抖音升级老年人防沉迷提醒机制 覆盖多个使用场景
  3. tensorflow 小于_TensorFlow做Sparse Machine Learning
  4. ads pspice 导入_怎么由导入ADS中的pspice的参数模型得到器件模型?
  5. 真的有必要读研究生吗?
  6. java char取值范围是_Java中数据类型的取值范围
  7. 电源管理允许此设备唤醒计算机怎么关掉,允许计算机关闭此设备以节省电量灰色 | MOS86...
  8. 后端工程师第一周实习笔记(实习面试必知大学课堂上却没讲的知识点)
  9. Python——爬取喜马拉雅音频(抖音最火翻唱)
  10. android edittext怎么输入中文,为什么android中edittext不能输入中文
  11. python获取word页数_使用Python的word文档的页数(Number of pages of a word document with Python)...
  12. 一个可以免费下载表情包的小程序
  13. 用户计算机名更改为英文,win10将用户名改为英文怎么改_win10如何更改用户名为英文图文教程-系统城...
  14. C语言之struct
  15. Ubuntu下安装Datax-web数据交换平台
  16. 视频号一场书法直播近20万人观看
  17. JavaScript实现无缝轮播图效果
  18. MATLAB 2021b详解
  19. 俄罗斯方块游戏及排行榜——c语言
  20. 小米时间选择控件_上海非凡教育分享UI组件设计解析之—— 单元控件

热门文章

  1. 没有伞的孩子必须努力奔跑!
  2. 火车售票系统/C语言
  3. Spring学习:Spring的IOC注解
  4. 1476_OSP以及HASL等几种PCB表面处理工艺了解
  5. OSP 与 Session
  6. Text Mesh Pro 1.4.0实现图片组合伤害数字
  7. 控制台线、console线做法
  8. 基于stm32f103c8t6与手机蓝牙控制LED
  9. Python字典推导式
  10. poi导出excel不可读