stanfordcorenlp识别中文人名实战记录及心得

前言:

        一直在找一个能够精确识别中文人名的自然语言处理工具包,期间也找到了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的方法还请指正.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/19042.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

apple登录服务端验证

Sign In With Apple 从登陆到服务器验证 服务端向苹果请求验证 手机端需要提交 user 、authorizationCode 、 identityToken 字段信息(code和token字段苹果返回的是 base64 Data 形式,手机端可以先转换 base64 字符串之后在给服务器)到服务器…

iOS 苹果登录(第三方登录)

Sign In with Apple是iOS 13的新增功能 所以现在苹果的app有第三方登录的功能需要加上苹果的登录(不然审核时会被拒掉) 一、证书文件配置 登录开发者账号,创建Bundle ID时 勾选 Sign In With Apple ,开启登录功能(勾…

Apple ID很久没有登录,使用邮件验证修改手机号的方法

背景:没有已登录的苹果设备 手机号已经更换 知道登录密码(不知道登录密码,在官网修改,也是通过邮件验证) 解决方法 1、登录账号和密码,会提示需要输入验证码。点击“未收到验证码” 2.点击第二项&#x…

Sign In with Apple - 使用苹果账号登录你的应用

编辑:老峰,作者:KANGZUBIN 来源:小专栏《WWDC19 内参》 苹果在 9 月 12 号更新了审核指南,加入 4.8 Sign in with Apple 一条,要求所有使用 第三方登录 的 App,都 必须接入 Sign in with Apple。…

IOS企业应用出现无法验证,需要网络连接以在这台iPad上验证。接入互联网并重试

这两天出现一个很奇怪的现象,IOS 13.5.1版本以上的系统安装应用时企业APP无法信任,但是IOS 13.5.1版本以下又可以信任。然后我做了以下操作之后就可以正常安装和信任了。 1.更换新的Development证书,原先的Development证书类型是Development&…

关于ipad:无法验证服务器身份

ipad 连接网络后,有时候会冒出这个弹窗,并且关掉后仍继续弹出 可以尝试以下几种方法:(我是用③解决的) ①. 确保你的iPad连接的是稳定的网络。有时候网络连接不稳定会导致无法验证服务器身份。 我们学校这个校园网…

Mirai登陆QQ的登陆验证过程

1.配置好一切,启动mirai进行登陆 设置好Bot的账号密码,启动项目 2.弹出如下弹窗,提示我们需要进行滑块验证 1.复制红框内的URL到浏览器打开 2.记得在加载完后按f12打开控制台 3.控制台切换到network/网络 3. 拖动滑动窗口,正确进行验证,观察控制台的响应 1.找到cap_union_new_…

iOS接入Google登录

目录 1.在Google Cloud后台配置客户端ID 2.iOS配置URL Types​编辑 3.代码实操 1.在Google Cloud后台配置客户端ID 首先要在 Google Cloud 中创建一个项目。新创建的Project需要先配置同意屏幕。一共有4步骤需要配置。 1.OAuth 同意屏幕 User Type选择"外部"进行创…

「超全!」谷歌大神 LeetCode 刷题笔记 PDF 分享

这是一本面向有C++编程基础,但缺乏刷题经验的读者的教科书和工具书(不适合完全的编程小白喔);同时,这是一本总结了15种常见类型题,50种细分类型题,101道题解的LeetCode刷题指南~ 作者高畅是谷歌无人车部门(Waymo)的工程师,从事计算机视觉和机器学习方向。 他在美国…

《LeetCode》—— 哈希

今天刷题讲解的主要讲的是关于——哈希这个知识点的题目讲解。 目录 (一)缺失的第一个正整数 (二)数组中只出现一次的两个数字 1、直接法 2、哈希 (三)直线上最多的点数 (一)缺…

文心一言 VS 讯飞星火 VS chatgpt (53)-- 算法导论6.2 5题

五、MAX-HEAPIFY的代码效率较高,但第 10 行中的递归调用可能例外,它可能使某些编译器产生低效的代码。请用循环控制结构取代递归,重写 MAX-HEAPIFY代码。 文心一言: 以下是使用循环控制结构取代递归调用的 MAX-HEAPIFY 代码&…

【Day18】LeetCode算法刷题[1694. 重新格式化电话号码 ] [202.快乐数]

刷题打卡,第十八天 题目一、1694. 重新格式化电话号码题目二、202.快乐数 题目一、1694. 重新格式化电话号码 原题链接:1694. 重新格式化电话号码 题目描述: 给你一个字符串形式的电话号码 number 。number 由数字、空格 、和破折号 - 组…

List解答LeetCode杨辉三角

作者:月亮嚼成星~ 博客主页:月亮嚼成星~的博客主页 专栏:数据结构与算法 工欲善其事必先利其器,给大家介绍一款超牛的斩获大厂offer利器——牛客网 点击免费注册和我一起刷题吧 目录 了解杨辉三角 题目要求: 解答思…

张朝阳开课手推E=mc²,李永乐现场狂做笔记!CEO当太久都忘了他是MIT物理博士...

晓查 萧箫 明敏 鱼羊 发自 凹非寺量子位 | 公众号 QbitAI 张朝阳当物理老师还真是当上瘾了。 刚刚直接完成了一场线下课,当场手推质能方程,一整面黑板墙都差点没盛下。 这个姿势,是不是有你大物老师内范儿了(手动狗头)…

文心一言 VS 讯飞星火 VS chatgpt (25)-- 算法导论4.2 7题

七、设计算法,仅使用三次实数乘法即可完成复数 abi和cdi 相乘。算法需接收a、b、c和d 为输入,分别生成实部 ac-bd 和虚部adbc。 文心一言: 可以使用如下算法来计算复数 abi 和 cdi 的积,且只需进行三次实数乘法: 1.…

文心一言 VS 讯飞星火 VS chatgpt (24)-- 算法导论4.2 6题

六、用Strassen 算法作为子进程来进行一个 knn 矩阵和一个nkn 矩阵相乘,最快需要花费多长时间?对两个输入矩阵规模互换的情况,回答相同的问题。 文心一言: Strassen 算法是一种用于矩阵乘法的分治算法,它将原始的矩阵分解为较小…

文心一言 VS 讯飞星火 VS chatgpt (41)-- 算法导论5.4 5题

五、在大小为n的集合中,一个k字符串构成一个k排列的概率是多少?这个问题和生日悖论有什么关系? 文心一言: 在大小为n的集合中,一个k字符串构成一个k排列的概率是1/k!,这是由于排列的总数是k!,而每个字符串被选中的…

文心一言 VS 讯飞星火 VS chatgpt (18)-- 算法导论4.1 5题

五、使用如下思想为最大子数组问题设计一个非递归的、线性时间的算法。从数组的左边界开始,由左至右处理,记录到目前为止已经处理过的最大子数组。若已知 A[1…j]门的最大子数组,基于如下性质将解扩展为 A[1…j1]的最大子数组:A[1…j1]的最大…

张朝阳开课手推E=mc²,李永乐现场狂做笔记!CEO当太久都忘了他是MIT物理博士

张朝阳当物理老师还真是当上瘾了。 刚刚直接完成了一场线下课,当场手推质能方程,一整面黑板墙都差点没盛下。 这个姿势,是不是有你大物老师内范儿了(手动狗头)。 ‍没地方继续推导了,擦黑板前还要感慨一句…

AI 绘画 - 建筑绘图辅助设计之 SD 基础

前情提要 如果你想学会一门东西,那么就给交给自己一个明确的任务,然后独立完成,之后我们就可以掌握这门技术了; 简介 SD建筑绘画主要目的是将建筑概念转化为可视化的表达形式,以便更好地传达设计理念给业主、团队成…