pyhanlp的github:https://github.com/hankcs/pyhanlp

pyhanlp官方文档:https://pypi.org/project/pyhanlp/

HanLP主文档目录:https://github.com/hankcs/HanLP/blob/1.x/README.md

pyhanlp案例:https://github.com/hankcs/pyhanlp/tree/master/tests/demos

中文分词≠自然语言处理!

中文分词只是第一步;HanLP从中文分词开始,覆盖词性标注、命名实体识别、句法分析、文本分类等常用任务,提供了丰富的API。

不同于一些简陋的分词类库,HanLP精心优化了内部数据结构和IO接口,做到了毫秒级的冷启动、千万字符每秒的处理速度,而内存最低仅需120MB。无论是移动设备还是大型集群,都能获得良好的体验。

不同于市面上的商业工具,HanLP提供训练模块,可以在用户的语料上训练模型并替换默认模型,以适应不同的领域。项目主页上提供了详细的文档,以及在一些开源语料上训练的模型。

HanLP希望兼顾学术界的精准与工业界的效率,在两者之间取一个平衡,真正将自然语言处理普及到生产环境中去。

我们使用的pyhanlp是用python包装了HanLp的java接口。

HanLP.segment 分词,把一句话分词很碎的词,有准的有不准的,但是这个方法是唯一一个能把词性输出的方法,关于词性可以做很多的延伸和拓展,比如分析一段话的精髓,就可以简单的用词性排除和词性组合法;
 HanLP.extractPhrase 分短语,把一句话分成几个短语,会带一些词语组合(联想),比如A+B组合成一个词,A+C又组合成了一个词;
HanLP.extractSummary 提取段落的摘要,提取出该段落/文章的一些摘要信息,建议组合使用,比如 一个for循环 把每个摘要再次进行分词
HanLP.extractKeyword 提取文章段落的关键词,会精准的提取出一些词语,但是在提取出词语的数量少会比 HanLP.segment少很多, 建议和 HanLP.extractSummary 组合使用;

一、python下安装pyhanlp

pip安装

pip install pyhanlp

第一次import pyhanlp会下载一个比较大的数据集,需要耐心等待下,后面再import就不会有了。

from pyhanlp import *

pyhanlp官方文档

二、pyhanlp使用

1.分词

HanLP.segment

from pyhanlp import *
conten_list=HanLP.parseDependency("我爱自然语言处理技术!")

2.分词和词性标注

HanLP.segment

from pyhanlp import *
conten_list=HanLP.parseDependency("我爱自然语言处理技术!")
for item in content_list:print(item.word,item.nature)

3.依存句法分析

from pyhanlp import *s_dep=HanLP.parseDependency("我爱自然语言处理技术!")
print(s_dep)

4.关键词提取

内部采用TextRankKeyword实现,用户可以直接调用TextRankKeyword.getKeywordList(document, size)

from pyhanlp import *
content = ("程序员(英文Programmer)是从事程序开发、维护的专业人员。""一般将程序员分为程序设计人员和程序编码人员,""但两者的界限并不非常清楚,特别是在中国。""软件从业人员分为初级程序员、高级程序员、系统""分析员和项目经理四大类。")
TextRankKeyword = JClass("com.hankcs.hanlp.summary.TextRankKeyword")
keyword_list = HanLP.extractKeyword(content, 5)
print(keyword_list)
# print(help(HanLP))


5.摘要提取

采用TextRankSentence = JClass("com.hankcs.hanlp.summary.TextRankSentence")

from pyhanlp import *
document = '''水利部水资源司司长陈明忠9月29日在国务院新闻办举行的新闻发布会上透露,根据刚刚完成了水资源管理制度的考核,有部分省接近了红线的指标,有部分省超过红线的指标。对一些超过红线的地方,陈明忠表示,对一些取用水项目进行区域的限批,严格地进行水资源论证和取水许可的批准。'''
TextRankSentence = JClass("com.hankcs.hanlp.summary.TextRankSentence")
sentence_list = HanLP.extractSummary(document, 3)
print(sentence_list)sentence_list = HanLP.extractSummary(document, 2)
print(sentence_list)sentence_list = HanLP.extractSummary(document, 1)
print(sentence_list)sentence_list = HanLP.getSummary(document, 50)
print(sentence_list)sentence_list = HanLP.getSummary(document, 30)
print(sentence_list)sentence_list = HanLP.getSummary(document, 20)
print(sentence_list)

6.感知机词法分析器

from pyhanlp import *PerceptronLexicalAnalyzer=JClass('com.hankcs.hanlp.model.perceptron.PerceptronLexicalAnalyzer')
analyzer=PerceptronLexicalAnalyzer()
print(analyzer.analyze("广州菲宇科技的董事长陈晴小姐到北京中关村的科技园参观学习"))

7.中国人名识别

from pyhanlp import *NER=HanLP.newSegment().enableNameRecognize(True)
p_name=NER.seg('马云、雷军、汪洋、张朝阳的搜狗、韩寒的书、马化腾的腾讯')
print(p_name)

8.音译名识别

from pyhanlp import *sentence = '微软的比尔盖茨、Facebook的扎克伯格跟桑德博格、亚马逊的贝索斯、苹果的库克,这些硅谷的科技人'
person_ner = HanLP.newSegment().enableTranslatedNameRecognize(True)
p_name = person_ner.seg(sentence)
print(p_name)

9.短语提取

from pyhanlp import *document = '''水利部水资源司司长陈明忠9月29日在国务院新闻办举行的新闻发布会上透露,根据刚刚完成了水资源管理制度的考核,有部分省接近了红线的指标,有部分省超过红线的指标。对一些超过红线的地方,陈明忠表示,对一些取用水项目进行区域的限批,严格地进行水资源论证和取水许可的批准。'''
phraseList = HanLP.extractPhrase(document, 3)
print(phraseList)

10.简繁转换

from pyhanlp import *Jianti = HanLP.convertToSimplifiedChinese("我愛自然語言處理技術!")
Fanti = HanLP.convertToTraditionalChinese("我爱自然语言处理技术!")
print(Jianti)
print(Fanti)

11.拼音转换

from pyhanlp import *s = '责任重于泰山'
pinyinList = HanLP.convertToPinyinList(s)
for pinyin in pinyinList:print(pinyin.getPinyinWithoutTone(),pinyin.getTone(), pinyin, pinyin.getPinyinWithToneMark())

声母、韵母

from pyhanlp import *s = '责任重于泰山'
pinyinList = HanLP.convertToPinyinList(s)
for pinyin in pinyinList:print(pinyin.getShengmu(), pinyin.getYunmu())

12.pyhanlp可视化

pyhanlp提供了一个很好的展示交付界面,只要一句命令就能启动一个web服务
hanlp serve
登录http://localhost:8765就能看下可视化界面,能看到分词结果和依存关系的结果

HanLP词性表

a    形容词
ad    副形词
ag    形容词性语素
al    形容词性惯用语
an    名形词
b    区别词
begin  仅用于始##始
bg    区别语素
bl    区别词性惯用语
c    连词
cc    并列连词
d    副词
dg    辄,俱,复之类的副词
dl    连语
e    叹词
end    仅用于终##终
f    方位词
g    学术词汇
gb    生物相关词汇
gbc    生物类别
gc    化学相关词汇
gg    地理地质相关词汇
gi    计算机相关词汇
gm    数学相关词汇
gp    物理相关词汇
h    前缀
i    成语
j    简称略语
k    后缀
l    习用语
m    数词
mg    数语素
Mg    甲乙丙丁之类的数词
mq    数量词
n    名词
nb    生物名
nba    动物名
nbc    动物纲目
nbp    植物名
nf    食品,比如“薯片”
ng    名词性语素
nh    医药疾病等健康相关名词
nhd    疾病
nhm    药品
ni    机构相关(不是独立机构名)
nic    下属机构
nis    机构后缀
nit    教育相关机构
nl    名词性惯用语
nm    物品名
nmc    化学品名
nn    工作相关名词
nnd    职业
nnt    职务职称
nr    人名
nr1    复姓
nr2    蒙古姓名
nrf    音译人名
nrj    日语人名
ns    地名
nsf    音译地名
nt    机构团体名
ntc    公司名
ntcb    银行
ntcf    工厂
ntch    酒店宾馆
nth    医院
nto    政府机构
nts    中小学
ntu    大学
nx    字母专名
nz    其他专名
o    拟声词
p    介词
pba    介词“把”
pbei    介词“被”
q    量词
qg    量词语素
qt    时量词
qv    动量词
r    代词
rg    代词性语素
Rg    古汉语代词性语素
rr    人称代词
ry    疑问代词
rys    处所疑问代词
ryt    时间疑问代词
ryv    谓词性疑问代词
rz    指示代词
rzs    处所指示代词
rzt    时间指示代词
rzv    谓词性指示代词
s    处所词
t    时间词
tg    时间词性语素
u    助词
ud    助词
ude1    的 底
ude2    地
ude3    得
udeng    等 等等 云云
udh    的话
ug    过
uguo    过
uj    助词
ul    连词
ule    了 喽
ulian    连 (“连小学生都会”)
uls    来讲 来说 而言 说来
usuo    所
uv    连词
uyy    一样 一般 似的 般
uz    着
uzhe    着
uzhi    之
v    动词
vd    副动词
vf    趋向动词
vg    动词性语素
vi    不及物动词(内动词)
vl    动词性惯用语
vn    名动词
vshi    动词“是”
vx    形式动词
vyou    动词“有”
w    标点符号
wb    百分号千分号,全角:% ‰ 半角:%
wd    逗号,全角:, 半角:,
wf    分号,全角:; 半角: ;
wh    单位符号,全角:¥ $ £ ° ℃ 半角:$
wj    句号,全角:。
wky    右括号,全角:) 〕 ] } 》 】 〗 〉 半角: ) ] { >
wkz    左括号,全角:( 〔 [ { 《 【 〖 〈 半角:( [ { <
wm    冒号,全角:: 半角: :
wn    顿号,全角:、
wp    破折号,全角:—— -- ——- 半角:— —-
ws    省略号,全角:…… …
wt    叹号,全角:!
ww    问号,全角:?
wyy    右引号,全角:” ’ 』
wyz    左引号,全角:“ ‘ 『
x    字符串
xu    网址URL
xx    非语素字
y    语气词(delete yg)
yg    语气语素
z    状态词
zg    状态词

NLP之pyhanlp安装及其使用相关推荐

  1. 【NLP】pyhanlp的安装与使用

    pyhanlp HanLP是由一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环境中的应用.HanLP具备功能完善.性能高效.架构清晰.语料时新.可自定义的特点. HanLP有如下功 ...

  2. NLP工具——NLTK 安装及使用

    文章目录 1.介绍 2.安装 2.1 安装NLTK 2.2 安装NLTK Data 交互式安装 通过命令行安装 手动安装 3.Demo 4.使用 4.1 搜索文本(Searching Text) 4. ...

  3. HanLP:pyhanlp安装成功之后,第一次使用出错——连接失败或者无此文件

    使用命令`hanlp`来验证安装: C:\Users\Cab>hanlp Downloading http://file.hankcs.com/hanlp/data-for-1.7.3.zip ...

  4. 【NLP】13 ERNIE应用在情绪分类NLP任务——ERNIE安装、中文BERT的使用

    BERT--ERNIE 1. 安装 1.1 安装 PaddlePaddle 1.2 安装 ERNIE 套件 1.3 下载预训练模型(可选) 1.4 下载数据集 2. 持续学习语义理解框架ERNIE-- ...

  5. matlab的NLP功能,pyhanlp 共性分析与短语提取内容详解

    pyhanlp 共性分析与短语提取内容详解 简介 HanLP中的词语提取是基于互信息与信息熵.想要计算互信息与信息熵有限要做的是 文本分词进行共性分析.在作者的原文中,有几个问题,为了便于说明,这里首 ...

  6. 最屌NLP——-BERT之安装篇

    bert目前官方提供tensorflow.keras版本.目前github上也有其他版本的,本文以tensorflow版本为准,环境管理采用anaconda管理. 1.Anaconda环境安装 ten ...

  7. NLP常用库安装(一)genism,nltk

    下面介绍在实现word2vec过程之初,安装genism,nltk这里是建立在大家已经安装完成anaconda后,并熟练安装各种包之后,使用pip命令来实现.对于anaconda建议读者参考前文. 手 ...

  8. 手动安装pyhanlp【遇坑报错全程合集和解说】

    手动安装pyhanlp 之前无论用什么版本的python,使用conda或者pip下载安装pyhanlp老出错.决定手动进行安装. 步骤一: 安装pyhanlp之前看了是得先安装jpype,方法: 方 ...

  9. jieba库 python2.7 安装_Python中文分词工具大合集:安装、使用和测试

    这篇文章事实上整合了前面两篇文章的相关介绍,同时添加一些其他的Python中文分词相关资源,甚至非Python的中文分词工具,仅供参考. 首先介绍之前测试过的8款中文分词工具,这几款工具可以直接在AI ...

最新文章

  1. 如何使用 Ansible 和 anacron 实现自动化
  2. 前端日报-20160527-underscore 源码解读
  3. tomcat 配置方法
  4. c语言转换为python语言_python和c语言
  5. perl语言之列表与数组
  6. 动态列排序_Excel表格利用函数制作排序器(可依据不同字段、升降序排序)
  7. java 九大内置对象_JSP九大内置对象(隐式对象)
  8. nginx配置文件祥解
  9. android 用LruCache读取大图片并缓存(转)
  10. IDEA类和方法注释模板设置(非常详细)
  11. plc程序加密解密方法解读
  12. php字符串去掉指定字符串,php怎么去除指定字符串
  13. 这一年,CyberMiles曾经走过的路
  14. 来自华为员工家属的“抱怨”
  15. OpenCV实战2——进行颜色检测(HSV颜色空间)和分割的隐形斗篷
  16. 计算机任务驱动法教学应用,“任务驱动法”在职教计算机教学中的应用
  17. easypoi模板单文件导出多个sheet页(单文件单sheet复制到多个导出)
  18. 中国芯片人才大军在哪里?IEEE Fellow,投资人,创业者,工程师
  19. UICC, CSIM, RUIM, UIM, USIM, SIM
  20. android日历编程,Android自定义日历Calender代码实现

热门文章

  1. _id随机的 es_ES再现偷ID事件?仅与阿水ID相差1个字,玩家却释怀,原是系统作梗...
  2. google网盘 百度网盘文件互传
  3. Bryntum Gantt 5.0 JS
  4. OpenDDS开发人员指南中文版3.23(2)入门
  5. 邓俊辉 《数据结构》笔记1 绪论
  6. 两码一号(四):蚂蚁产品大盘
  7. SVG In HTML5 Pages
  8. weex请求方法stream 的封装
  9. 总浮动时间(TF) 自由浮动时间(FF) 区别
  10. 我的理解之JAVA中的4种访问权限