HanLP中文分词、人名识别、地名识别

HanLP中文分词、人名识别、地名识别

实验目的

  1. 从网上下载和安装HanLP自然语言处理包;
  2. 熟悉HanLP自然语言处理包的基本功能;
  3. 利用网络爬虫获取的信息,调用HanLP的API,进行中文分词、人名识别、地名识别.

研究背景

随着互联网和信息技术的快速发展,网络中产生了海量的文本信息,但是这些信息是散乱存在的,给用户快速查找、浏览文本信息,以及获取有价值的信息带来了诸多不便。鉴于此,自然语言处理技术应运而生,它是信息检索和文本挖掘的重要基础,其主要任务是对文章进行分词处理,获取每个词的词性和词义,作为进一步挖掘信息的基础,为研究人员带来了极大的便利 [1]。

实验内容

使用Python的HanLP自然语言处理包,调用其API,实现中文分词、中国人名识别、音译识别名字和地名识别。本实验选用的文本是实验3网络爬虫(上)爬取的百度百科的前40条简介数据,并且对比了不同语义(Semantic)算法下的结果。

Python实现

HanLP: Han Language Processing

The multilingual NLP library for researchers and companies, built on PyTorch and TensorFlow 2.x, for advancing state-of-the-art deep learning techniques in both academia and industry. HanLP was designed from day one to be efficient, user friendly and extendable. It comes with pretrained models for various human languages including English, Chinese, Japanese and many others.

文本分析目标定义

本实验选用的文本是实验3网络爬虫(上)爬取的百度百科的前40条简介数据。

  • 部分文本展示:

    克隆巴赫(1916—2001),美国心理学家、教育学家。他创建了一套常用的衡量心理或教育测验可靠性的方法——“克隆巴赫系数”(Cronbach’s coefficient alpha),并在此基础上建立了一个用于确定测量误差的统计模型。1957年当选为美国心理学会主席,1973年获美国心理学会颁发的杰出科学贡献奖,1974年当选为国家科学院院士。克隆巴赫系数(Cronbach's alpha)是衡量量表或测验的信度的一种方法。克隆巴赫α系数最早不是由克隆巴赫提出的,基本上克隆巴赫只是在一篇文章中将前人提出的可靠性系数进行了公式化。它克服了部分折半法的缺点,是社会科学研究最常使用的信度分析方法。美利坚合众国(英语:The United States of America,United States,简称“美国”),是由华盛顿哥伦比亚特区、50个州和关岛等众多海外领土组成的联邦共和立宪制国家。其主体部分位于北美洲中部,美国中央情报局《世界概况》1989年至1996年初始版美国总面积是937.3万平方公里,人口3.33亿,通用英语,是一个移民国家。美国原为印第安人的聚居地,15世纪末,西班牙、荷兰、法国、英国等相继移民至此。18世纪前,英国在美国大西洋沿岸建立了13个英属北美殖民地。1775年,爆发了美国人民反抗大英帝国殖民统治的独立战争。芝加哥大学于1890年由石油大王约翰·洛克菲勒创办,素以盛产诺贝尔奖得主而闻名,约40%的诺贝尔经济学奖得主与芝大相关。截止至2020年10月,芝加哥大学的校友、教授及研究人员中,共产生了100位诺奖得主、位列世界第四,另有10位菲尔兹奖得主(世界第六)、4位图灵奖得主及25位普利策奖得主曾在芝大工作或学习。华人诺贝尔物理学奖得主杨振宁、李政道、崔琦均在芝加哥大学取得物理学博士学位。美国第44任总统奥巴马曾长期在芝大法学院教授宪法(1992-2004年)。
    

Install RESTful Packages

本次实验不选用安装本地hanlp包,而是选择了其轻量版的RESTful packages,方便快捷。

HanLPClient实例化

from hanlp_restful import HanLPClient
HanLP = HanLPClient('https://www.hanlp.com/api', auth=None, language='zh')

tokenize [2]

tokenize(text: Union[str, List[str]], coarse: Optional[bool] = None, language=None) → List[List[str]]

Split a document into sentences and tokenize them. Note that it is always faster to tokenize a whole document than to tokenize each sentence one by one. So avoid calling this method sentence by sentence but put sentences into a list and pass them to the text argument.

fine-grained

seg = HanLP.tokenize(sample)
seg

部分输出:

[['克隆巴赫', '美国', '心理学家', '、', '教育学家', '。'],['他', '创建', '了', '一套', '常用', '的', '衡量',...],...
]

coarse-grained

seg_coar = HanLP.tokenize(sample, coarse=True)
seg_coar

部分输出:

[ ...['1957年', '当选', '为', '美国心理学会', '主席', ',', '1973年', '获', '美国心理学会', '颁发', '的', '杰出', ... ], ...
]

Named Entity Recognition [3]

Each element is a tuple of (entity, type, begin, end), where ends are exclusive offsets.

pku [4]

doc = HanLP(sample, tasks='ner/pku', language='zh')
ner_pku = doc['ner/pku']
ner_pku

部分输出:

[[['克隆巴赫', 'nr', 0, 1], ['美国', 'ns', 7, 8]],[['巴赫', 'nr', 18, 19]],[['美国心理学会', 'nt', 4, 7], ['美国心理学会', 'nt', 12, 15], ['国家科学院', 'nt', 26, 28]],[['巴赫', 'nr', 1, 2]],...
]

人名提取(nr):

nr = [w[0] for s in ner_pku for w in s if w[1]=='nr']
set(nr)
{'巴赫', '维纳', '波旁', '卡尔·海因里希·马克思', '恩格斯', '克隆巴赫', 'Silicon', '乔治·贝克莱', 'J.C', '汉斯·摩根索', '崔琦', '杨振宁', '恩利克·费米', '路易·', '安培', '奥巴马', '雷蒙·阿隆', '斯坦福', '李·克隆巴赫', '菲利浦', '亚伯拉罕·林肯', '约翰·洛克菲勒', 'Lee', '胡润', '卡尔·马克思', '马克思', '乔治·华盛顿', '李政道'}

地名提取(ns):

{'德国', '麦克斯韦', '希腊', '北美洲', '好莱坞', '绥靖', '旧金山', '法国', '中国', '美国', '旧金山湾区', '加利福尼亚州', '白宫', '关岛', '欧美', '加州', '泰晤士', '尔湾', '爱琴海', '香港特区', '华尔街', '奥克兰', '土耳其', '以色列', '北美', '西班牙', '费城', '荷兰', '自由州', '苏联', '帕罗奥多市', '硅谷', '伯克利市', '百老汇', '西欧', '圣迭戈', 'Berkeley', '大英帝国', '斯坦福', '欧洲', '蓄奴州', '地中海', '西西里', '美利坚合众国', '罗马', '古希腊', 'America', '圣塔芭芭拉', '华盛顿哥伦比亚特区', '拉丁美洲', '意大利', '洛杉矶', '爱奥尼亚', '巴黎', '英国', '芝加哥', '大西洋'}

msra [5]

部分输出:

[[['克隆巴赫', 'PERSON', 0, 1], ['2001', 'DATE', 4, 5], ['美国', 'LOCATION', 7, 8]],[['巴赫', 'PERSON', 18, 19]],[['1957年', 'DATE', 0, 2],['美国心理学会', 'ORGANIZATION', 4, 7],['1973年', 'DATE', 9, 11],...],...
]

人名提取(PERSON):

{'巴赫', '维纳', '波旁', '卡尔·海因里希·马克思', '恩格斯', '克隆巴赫', '普利策', '菲尔兹奖', '乔治·贝克莱', 'J.C', '汉斯·摩根索', '崔琦', '李政道', '杨振宁', '恩利克·费米', '路易·', '安培', '奥巴马', '雷蒙·阿隆', '斯坦福', '李·克隆巴赫', '菲利浦', '亚伯拉罕·林肯', '约翰·洛克菲勒', '诺贝尔奖', 'Lee', '胡润', '卡尔·马克思', '马克思', '乔治·华盛顿', '诺贝尔'}

地名提取(LOCATION):

{'德国', '麦克斯韦', '希腊', '北美洲', '绥靖', '旧金山', '法国', '中国', '华盛顿', '美国', '旧金山湾区', '加利福尼亚州', 'Silicon', '法', '北湾', '关岛', '欧美', '伯克利', '加州', '英', '泰晤士', 'Renaissance', '香港特区', '爱琴海', '奥克兰', '希腊半岛', '土耳其', 'Joseph', '大陆', '以色列', '北美', '西班牙', '费城', '荷兰', '自由州', '苏联', '帕罗奥多市', '硅谷', '伯克利市', '西欧', '哥伦比亚特区', 'cybernetics', 'Berkeley', '大英帝国', '欧洲', '美', '西里尔', '蓄奴州', '地中海', '西西里', '美利坚合众国', 'California', '曼哈顿', '阿拉伯语', '希波', '罗马', '古希腊', 'UCSB', 'America', '拉丁美洲', '意大利', '洛杉矶', '爱奥尼亚', '巴黎', '英国', '芝加哥', '大西洋', '地球'}

对比分析

可以发现,msra算法比pku算法识别到了更多英文地名和人名。此外,msra的可识别的实体种类也更多,但速度更慢。对于实际文本分析问题来说,要根据具体问题,选择合适的算法。

python3.8 with packages: hanlp_restful

参考文献

  1. 鲁江坤, 汪林林. Python数据挖掘实践[M]. 西安: 西安电子科技大学出版社, 2021. 190-205.
  2. NER: https://hanlp.hankcs.com/docs/api/hanlp/pretrained/ner.html
  3. TOK: https://hanlp.hankcs.com/docs/api/hanlp/pretrained/tok.html
  4. pku: https://hanlp.hankcs.com/docs/annotations/ner/pku.html
  5. msra: https://hanlp.hankcs.com/docs/annotations/ner/msra.html
  6. He,Han and Choi,Jinho D. (2021) .Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing.Online and Punta Cana, Dominican Republic:Association for Computational Linguistics.

转载请注明出处:©️Sylvan Ding

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

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

相关文章

这些行业,将率先落地AI芯片 | 星前沿

来源:联想之星广义上,所有面向AI应用的芯片都可以称为AI芯片。目前一般认为是针对AI算法做了特殊加速设计的芯片。现阶段,这些人工智能算法一般以深度学习算法为主,也可以包括其他浅层机器学习算法。人工智能芯片分类一般有按技术…

[NOI2007]社交网络

题目描述 在社交网络(social network)的研究中,我们常常使用图论概念去解释一些社会现象。不妨看这样的一个问题。在一个社交圈子里有n个人,人与人之间有不同程度的关系。我 们将这个关系网络对应到一个n个结点的无向图上&#xf…

vueJs的简单入门以及基础语法

vue的api vue官网API 1基础语法 1-1基本数据绑定 <div id"app">{{ msg }} </div> //script new Vue({el:"#app",//代表vue的范围data:{msg:hello Vue //数据} }) 在这个例子中我们可以进行赋值 var app new Vue(...); app.msg 初探vue; //那…

应用数学的强大威力

来源&#xff1a;数学中国 应用数学思想是科研当中非常重要的一种思维方式以及研究方法。今天我们就借助戴世强教授的三篇有关应用数学的文章来详细了解一下这些问题&#xff1a;什么是“应用数学思维”&#xff1f;我们如何在研究中使用应用数学思维&#xff1f;应用数学思维…

正则化实现降噪,分别使用最小二乘、定步长梯度下降和回溯法的梯度下降求解最优解

正则化实现降噪&#xff0c;分别使用最小二乘、定步长梯度下降和回溯法的梯度下降求解最优解 原创文章&#xff01;转载需注明来源&#xff1a;©️ Sylvan Ding’s Blog ❤️ 实验目的 参考 INTRODUCTION TO NONELINEAR OPTIMIZATION. Amir Beck. 2014 的 3.4 Denoising …

双向 RNN

1.基本理论 双向 RNN 结合时间上从序列起点开始移动的 RNN 和另一个时间上从序列末尾开始移动的 RNN 2.逻辑图 其中 h (t) 代表通过时间向前移动的子 RNN 的状态&#xff0c;g (t) 代表通过时间向后移动的子 RNN 的状态 允许输出单元 o (t) 能够计算同时依赖于过去和未来且对时…

Hadoop伪分布式配置和搭建,hadoop单机安装,wordcount实例测试,hadoop安装java目录怎么找,问题及问题解决方法

Hadoop伪分布式配置和搭建&#xff0c;hadoop单机安装&#xff0c;wordcount实例测试&#xff0c;hadoop安装java目录怎么找&#xff0c;问题及问题解决方法 环境说明 系统&#xff1a;ubuntu18.04 主机名&#xff1a;test1 用户名&#xff1a;sylvan hadoop单机安装 换源操作…

AI时代竟有智能化鸿沟,具备哪些条件才能跨过?

来源&#xff1a;CSDN移动互联网“早古”时期&#xff0c;普通人因为收入差距问题而无法做到人手一部智能手机&#xff0c;从而导致数字鸿沟。同样&#xff0c;在当前这个AI&#xff0c;也就是人工智能扮演越来越关键作用的时代&#xff0c;企业也站在了类似的抉择交接线上——…

[js] 渲染树构建、布局及绘制

渲染树构建、布局及绘制 转载于:https://www.cnblogs.com/iiiiiher/p/10065345.html

INTRODUCTION TO NONELINEAR OPTIMIZATION Excise 5.2 Freudenstein and Roth Test Function

Amir Beck’s INTRODUCTION TO NONELINEAR OPTIMIZATION Theory, Algorithms, and Applications with MATLAB Excise 5.2 INTRODUCTION TO NONELINEAR OPTIMIZATION Theory, Algorithms, and Applications with MATLAB. Amir Beck. 2014 本文主要涉及题目(ii)的MATLAB部分&…

石正丽/周鹏团队发表冠状病毒新研究,进一步证明新冠非实验室泄漏

来源&#xff1a;中国生物技术网 新冠病毒SARS-CoV-2造成了近一个世纪以来最具破坏性的大流行COVID-19&#xff0c;而其中尚未解决的科学问题之一是这种病毒的自然来源。近日&#xff0c;来自中科院武汉病毒所、中国科学院大学的研究人员在预印本网站BioRxiv上提交了一篇论文&…

-bash: id: command not found -bash: tty: command not found

ID:未找到命令-BASH:TTY:未找到命令 输入命令&#xff1a;export PATH/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin转载于:https://www.cnblogs.com/zhhy/p/10066218.html

L1正则化降噪,对偶函数的构造,求解含L1正则项的优化问题,梯度投影法

L1正则化降噪&#xff0c;对偶函数的构造&#xff0c;求解含L1正则项的优化问题&#xff0c;梯度投影法 本文主要实现L1正则化降噪&#xff0c;L2 正则化降噪的文章在&#xff1a; https://blog.csdn.net/IYXUAN/article/details/121565229 原创文章&#xff01;转载需注明来源…

HBase之Table.put客户端流程(续)

上篇博文中已经谈到&#xff0c;有两个流程没有讲到。一个是MetaTableAccessor.getRegionLocations&#xff0c;另外一个是ConnectionImplementation.cacheLocation。这一节&#xff0c;就让我们单独来介绍这两个流程。首先让我们来到MetaTableAccessor.getRegionLocations。1.…

普华永道:AI规模化应用,基础知识先行

来源&#xff1a;Forbes作者&#xff1a;Cindy Gordon编译&#xff1a;科技行者人工智能&#xff08;AI&#xff09;是正在改变很多行业的游戏规则。据统计&#xff0c;人工智能有望为2030年的全球经济贡献高达15.7万亿美元&#xff0c;比中国和印度目前的产出之和还要多。其中…

ADMM,ISTA,FISTA算法步骤详解,MATLAB代码,求解LASSO优化问题

ADMM,ISTA,FISTA算法步骤详解&#xff0c;MATLAB代码&#xff0c;求解LASSO优化问题 原创文章&#xff01;转载需注明来源&#xff1a;©️ Sylvan Ding’s Blog ❤️ 实验目的 了解 ADMM, ISTA, FISTA 算法的基本原理、收敛性和复杂度&#xff1b;使用上述三种算法&#…

Spring详解(八)------事务管理

目录 1、事务介绍2、事务的四个特性&#xff08;ACID&#xff09;3、Spring 事务管理的核心接口4、 PlatformTransactionManager 事务管理器5、TransactionStatus 事务状态6、TransactionDefinition 基本事务属性的定义7、Spring 编程式事务和声明式事务的区别 8、不用事务…

A股光刻胶飙涨背后:仅一家可供应高端光刻胶

来源&#xff1a;芯师爷部分素材来源&#xff1a;前瞻产业研究院、华泰证券5月27日&#xff0c;半导体光刻胶概念股开盘即走强&#xff0c;截至收盘&#xff0c;A股光刻胶板块涨幅达6.48%。其中晶瑞股份、广信材料直线拉升大涨20%封涨停&#xff0c;容大感光大涨13.28%&#xf…

二〇二二注定是踔厉奋发、笃行不怠的一年

2021年&#xff0c;我在生活上、学习上、工作上都有着太多太多遗憾&#xff0c;很多想做的事、计划好的事并没有得到落实。但正如张宇老师所说&#xff0c;人生本来就是一段段幸福夹杂着不可避免的遗憾组成的&#xff0c;所取得的成绩远远大于遗憾&#xff0c;毕竟前途似海&…

为什么机器学习算法难以优化?一文详解算法优化内部机制

来源&#xff1a; 机器之心作者&#xff1a;JONAS DEGRAVE、IRA KORSHUNOVA编辑&#xff1a;小舟选自&#xff1a;engraved.blog损失线性组合是正确的选择吗&#xff1f;这篇文章或许能够给你答案。在机器学习中&#xff0c;损失的线性组合无处不在。虽然它们带有一些陷阱&…