自然语言处理学习笔记(三)————HanLP安装与使用

目录

1.HanLP安装

2.HanLP使用

(1)预下载

(2)测试

(3)命令行

(4)测试样例

3.pyhanlp可视化

[4. HanLP词性表](#4. HanLP词性表)


1.HanLP安装

HanLP的 Python接口由 pyhanlp包提供,其安装只需一句命令:

python 复制代码
pip install pyhanlp

安装完成

2.HanLP使用

(1)预下载

第一次使用pyhanlp时,会自动下载许多hanlp的jar包(包含许多算法)和数据包(包含许多模型)到pyhanlp的系统路径中,大约六百多兆。

(2)测试

python 复制代码
from pyhanlp import *

print(HanLP.segment('你好,欢迎进入nlp的世界'))

输出结果:

[你好/vl, ,/w, 欢迎/v, 进入/v, nlp/nx, 的/ude1, 世界/n]

程序正常运行,说明安装成功。

(3)命令行

通过命令行,可以在不写代码的前提下轻松调用 HanLP 提供的常见功能。

分词

python 复制代码
》hanlp segment
》你好,欢迎进入nlp的世界!
》你好/vl ,/w 欢迎/v 进入/v nlp/nx 的/ude1 世界/n !/w
》通过命令行,可以在不写代码的前提下轻松调用 HanLP 提供的常见功能。
》通过/p 命令行/n ,/w 可以/v 在/p 不/d 写/v 代码/n 的/ude1 前提/n 下/f 轻松/a 调用/v  /w HanLP/nx  /w 提供/v 的/ude1 常见/a 功能/n 。/w

退出当前模式使用:ctrl+z,然后回车

关闭词性标注:

python 复制代码
》hanlp segment --no-tag
》pyhanlp提供了一个很好的展示交付界面,只要一句命令就能启动一个web服务
》pyhanlp 提供 了 一个 很好 的 展示 交付 界面 , 只要 一 句 命令 就 能 启动 一个 web 服务

句法分析

python 复制代码
》hanlp parse
》第一次使用pyhanlp时,会自动下载许多hanlp的jar包(包含许多算法)和数据包(包含许多模型)到pyhanlp的系统路径中,大约六百多兆。

1       第一    第一    m       m       _       2       定中关系        _       _
2       次      次      q       q       _       3       状中结构        _       _
3       使用    使用    v       v       _       5       定中关系        _       _
4       pyhanlp pyhanlp ws      nx      _       3       动宾关系        _       _
5       时      时      Ng      Ng      _       9       状中结构        _       _
6       ,      ,      wp      w       _       5       标点符号        _       _
7       会      会      v       v       _       9       状中结构        _       _
8       自动    自动    d       d       _       9       状中结构        _       _
9       下载    下载    v       v       _       0       核心关系        _       _
10      许多    许多    m       m       _       11      定中关系        _       _
11      hanlp   hanlp   ws      nx      _       14      定中关系        _       _
12      的      的      u       u       _       11      右附加关系      _       _
13      jar     jar     ws      nx      _       14      定中关系        _       _
14      包      包      n       n       _       9       动宾关系        _       _
15      (      (      wp      w       _       16      标点符号        _       _
16      包含    包含    v       v       _       9       并列关系        _       _
17      许多    许多    m       m       _       18      定中关系        _       _
18      算法    算法    n       n       _       16      动宾关系        _       _
19      )      )      wp      w       _       16      标点符号        _       _
20      和      和      c       c       _       22      左附加关系      _       _
21      数据    数据    n       n       _       22      定中关系        _       _
22      包      包      v       v       _       9       并列关系        _       _
23      (      (      wp      w       _       24      标点符号        _       _
24      包含    包含    v       v       _       22      并列关系        _       _
25      许多    许多    m       m       _       26      定中关系        _       _
26      模型    模型    n       n       _       24      动宾关系        _       _
27      )      )      wp      w       _       24      标点符号        _       _
28      到      到      p       p       _       36      状中结构        _       _
29      pyhanlp pyhanlp ws      nx      _       32      定中关系        _       _
30      的      的      u       u       _       29      右附加关系      _       _
31      系统    系统    n       n       _       32      定中关系        _       _
32      路径    路径    n       n       _       33      定中关系        _       _
33      中      中      nd      f       _       28      介宾关系        _       _
34      ,      ,      wp      w       _       28      标点符号        _       _
35      大约    大约    d       d       _       36      状中结构        _       _
36      六百多兆        六百多兆        i       i       _       22      并列关系        _       _
37      。      。      wp      w       _       9       标点符号        _       _

\
1       \       \       nh      nr      _       0       核心关系        _       _

(4)测试样例

python 复制代码
from pyhanlp import *
print (HanLP.segment('你好,欢迎在Python中调用HanLP的API'))

# 分词
print("-"*100)
print("分词测试")
for term in HanLP.segment("下雨天地面积水"):
print('{}\t{}'.format (term.word, term.nature)) # 获取单词与词性

TestCases = ["商品和服务",
"结婚的和尚未结婚的确实在干扰分词啊",
"买水果然后来世博园最后去世博会",
"中国的首都是北京",
"欢迎新老师生前来就餐",
"工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作",
"随着页游兴起到现在的页游繁盛,依赖于存档进行逻辑判断的设计减少了,但这块也不能完全忽略掉。"]
for sentence in TestCases:
print (HanLP.segment (sentence))

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

# 自动摘要
print("-"*100)
print("自动摘要测试")
print(HanLP.extractSummary(document,3))

3.pyhanlp可视化

pyhanlp提供了一个很好的展示交付界面,只要一句命令就能启动一个web服务

python 复制代码
hanlp serve

登录http://localhost:8765就能看下可视化界面,能看到分词结果和依存关系的结果

4. 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 状态词

相关推荐
lix的小鱼3 分钟前
Scala之Array数组
java·开发语言·后端·python·scala
岁月漫长_5 分钟前
【Ubuntu 22.04】VMware 17 安装Ubuntu 22.04+配置VSCode+Python开发环境
vscode·python·ubuntu
闲看蒹葭1 小时前
基于LLama_factory的Qwen2.5大模型的微调笔记
笔记·大模型·nlp
Power20246661 小时前
NLP论文速读(MPO)|通过混合偏好优化提高多模态大型语言模型的推理能力
人工智能·深度学习·语言模型·自然语言处理·自动化·nlp
运维笑谈1 小时前
【python系列】Python数据类型转换详解
python
Leweslyh1 小时前
线性代数公式速记手册
笔记·学习·线性代数
江-小北2 小时前
Java基础面试题05:简述快速失败(fail-fast)和安全失败(fail-safe)的区别 ?
java·开发语言·python
豚豚糯2 小时前
栈和队列——考研笔记
数据结构·笔记·考研
种花家的n次方2 小时前
pymysql模块
数据库·python
杳戢2 小时前
技术美术百人计划 | 《2.1 色彩空间介绍》笔记
笔记·unity·游戏引擎·图形渲染·技术美术