Python的pyhanlp库使用(一)

该库是自然处理处理的库,有如下功能:

中文分词
词性标注
关键词提取
文本摘要
依存句法分析
短语提取

1 安装

       直接使用pip install pyhanlp进行安装,安装后在第一次使用时,当运行from pyhanlp import *时,会下载hanlp的数据文件,如图:

Python的pyhanlp库使用(一)_第1张图片

      但这个文件比较大,通常下载失败,可以进行手动下载并放到要求的路径下。去官网下载data-for-1.7.5.zip(会一直更新,下载最新版的即可),下载链接:

https://github.com/hankcs/HanLP/releases

Python的pyhanlp库使用(一)_第2张图片

  找到 data-for-1.7.2.zip 进行下载,然后把下载的文件放到该目录下:

F(某盘):\Anaconda3\Lib\site-packages\pyhanlp\static

再执行from pyhanlp import *,完成自动解压。

Python的pyhanlp库使用(一)_第3张图片

2 使用

2.1 分词

from pyhanlp import *
sentence = "异地贷款需要具备哪些条件"

# 返回一个列表,可以获取分词和它的词性
words = HanLP.segment(sentence)  
for term in words:
    print(term.word,term.nature)

异地 n
贷款 n
需要 v
具备 v
哪些 ry
条件 n
词性:
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 	状态词

2.2 关键词提取

from pyhanlp import *

text = "3月4日,在北京2022年冬残奥会开幕式上,一本精致美观的手册出现在每位观众和嘉宾的手中,\
        这是由北京印刷学院教授夏小奇带领团队设计的《北京2022年冬残奥会开幕式》手册,\
        在色彩氛围、页码设计、纸张选用等方面都做了暖心设计。"

# 提取文本的两个关键词,返回列表
print(HanLP.extractKeyword(text, 2))

[设计, 手册]

2.3 文本摘要

from pyhanlp import *

text = "3月4日,在北京2022年冬残奥会开幕式上,一本精致美观的手册出现在每位观众和嘉宾的手中,\
        这是由北京印刷学院教授夏小奇带领团队设计的《北京2022年冬残奥会开幕式》手册,\
        在色彩氛围、页码设计、纸张选用等方面都做了暖心设计。"

# 提取文本中的2个关键句作为摘要,返回列表
print(HanLP.extractSummary(document,2))

[这是由北京印刷学院教授夏小奇带领团队设计的《北京2022年冬残奥会开幕式》手册, 在北京2022年冬残奥会开幕式上]

2.4 依存句法分析

from pyhanlp import *
print(HanLP.parseDependency("普京在会谈中强调,俄方将全面完成在乌克兰的行动。"))

1	普京	普京	nh	nrf	_	3	主谓关系	_	_
2	在会谈中	在会谈中	i	l	_	3	状中结构	_	_
3	强调	强调	v	v	_	0	核心关系	_	_
4	,	,	wp	w	_	3	标点符号	_	_
5	俄方	俄方	n	n	_	11	主谓关系	_	_
6	将	将	d	d	_	11	状中结构	_	_
7	全面完成	全面完成	i	l	_	11	定中关系	_	_
8	在	在	p	p	_	11	定中关系	_	_
9	乌克兰	乌克兰	ns	ns	_	8	介宾关系	_	_
10	的	的	u	u	_	8	右附加关系	_	_
11	行动	行动	v	vn	_	3	动宾关系	_	_
12	。	。	wp	w	_	3	标点符号	_	_

可以使用南大NLP实验室开发的可视化工具:http://nlp.nju.edu.cn/tanggc/tools/DependencyViewer.exeicon-default.png?t=M1L8http://nlp.nju.edu.cn/tanggc/tools/DependencyViewer.exe

2.5 短语提取

from pyhanlp import *

text = "全国上下共同努力,统筹疫情防控和经济社会发展,全年主要目标任务较好完成"
#抽取5个短语
phraseList = HanLP.extractPhrase(text, 5)
print(phraseList);

[全国上下共同努力, 疫情防控, 经济社会发展, 防控经济社会, 统筹疫情]

你可能感兴趣的:(python,自然语言处理,nlp,人工智能)