[655]HanLP 分词
pyhanlp 安装
其为 HanLP 的 Python 接口,支持自动下载与升级 HanLP,兼容 Python2、Python3。
安装命令为 pip install pyhanlp
,使用命令 hanlp 来验证安装。
pyhanlp 目前使用 jpype1 这个 Python 包来调用 HanLP,如果遇到:
building ‘_jpype’ extensionerror: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft VisualC++ Build Tools”: http://landinghub.visualstudio.com/visual-cpp-build-tools
则推荐利用轻量级的 Miniconda 来下载编译好的 jpype1。
conda install -c conda-forge jpype1
pip install pyhanlp
未安装 Java 时会报错:
jpype.jvmfinder.JVMNotFoundException: No JVM shared library file (jvm.dll) found. Try setting up the JAVAHOME environment variable properly.
HanLP 主项目采用 Java 开发,所以需要 Java 运行环境,请安装 JDK。
命令行交互式分词模式
在命令行界面,使用命令 hanlp segment 进入交互分词模式,输入一个句子并回车,HanLP 会输出分词结果:
$ hanlp segment
商品和服务
商品/n 和/cc 服务/vn
当下雨天地面积水分外严重
当/p 下雨天/n 地面/n 积水/n 分外/d 严重/aC:\Users\WYXCz>hanlp parse
徐先生还具体帮助他确定了把画雄鹰、松鼠和麻雀作为主攻目标。
1 徐 徐 nh nr _ 2 定中关系 _ _
2 先生 先生 n n _ 5 主谓关系 _ _
3 还 还 d d _ 5 状中结构 _ _
4 具体 具体 a ad _ 5 状中结构 _ _
5 帮助 帮助 v v _ 0 核心关系 _ _
6 他 他 r r _ 5 兼语 _ _
7 确定 确定 v v _ 5 动宾关系 _ _
8 了 了 u u _ 7 右附加关系 _ _
9 把 把 p p _ 16 状中结构 _ _
10 画 画 v v _ 9 介宾关系 _ _
11 雄鹰 雄鹰 n n _ 10 动宾关系 _ _
12 、 、 wp w _ 13 标点符号 _ _
13 松鼠 松鼠 n n _ 11 并列关系 _ _
14 和 和 c c _ 15 左附加关系 _ _
15 麻雀 麻雀 n n _ 11 并列关系 _ _
16 作为 作为 v v _ 7 动宾关系 _ _
17 主攻 主攻 v vn _ 18 定中关系 _ _
18 目标 目标 n n _ 16 动宾关系 _ _
19 。 。 wp w _ 5 标点符号 _ _
可见,pyhanlp 分词结果是带有词性的。
服务器模式
通过 hanlp serve 来启动内置的 HTTP 服务器,默认本地访问地址为:http://localhost:8765 。
也可以访问官网演示页面:http://hanlp.hankcs.com/。
通过工具类 HanLP 调用常用接口
通过工具类 HanLP 调用常用接口,这种方式应该是我们在项目中最常用的方式。
(1)分词
from pyhanlp import *
content = "现如今,机器学习和深度学习带动人工智能飞速的发展,并在图片处理、语音识别领域取得巨大成功。"
print(HanLP.segment(content))
结果为:
[现如今/t, ,/w, 机器学习/gi, 和/cc, 深度/n, 学习/v, 带动/v, 人工智能/n, 飞速/d, 的/ude1, 发展/vn, ,/w, 并/cc, 在/p, 图片/n, 处理/vn, 、/w, 语音/n, 识别/vn, 领域/n, 取得/v, 巨大/a, 成功/a, 。/w]
(2)自定义词典分词
在没有使用自定义字典时的分词。
txt = "铁甲网是中国最大的工程机械交易平台。"
print(HanLP.segment(txt))
结果为:
[铁甲/n, 网/n, 是/vshi, 中国/ns, 最大/gm, 的/ude1, 工程/n, 机械/n, 交易/vn, 平台/n, 。/w]
添加自定义新词:
CustomDictionary.add("铁甲网")
CustomDictionary.insert("工程机械", "nz 1024")
CustomDictionary.add("交易平台", "nz 1024 n 1")
print(HanLP.segment(txt))
结果为:
[铁甲网/nz, 是/vshi, 中国/ns, 最大/gm, 的/ude1, 工程机械/nz, 交易平台/nz, 。/w]
from pyhanlp import *print(HanLP.segment('你好,欢迎在Python中调用HanLP的API'))
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(HanLP.extractKeyword(document, 2))
# 自动摘要
print(HanLP.extractSummary(document, 3))
# 依存句法分析
print(HanLP.parseDependency("徐先生还具体帮助他确定了把画雄鹰、松鼠和麻雀作为主攻目标。"))
HanLP项目主页:https://github.com/hankcs/HanLP
HanLP下载地址:https://github.com/hankcs/HanLP/releases
Python接口:https://github.com/hankcs/pyhanlp
HanLP在线演示:http://hanlp.hankcs.com/
hanlp、pyhanlp的具体使用方法见:
https://go.ctolib.com/hankcs-pyhanlp.html
http://www.hankcs.com/nlp/hanlp.html
https://github.com/hankcs/HanLP/blob/master/README.md
参考:https://www.jianshu.com/p/009671e56027
[655]HanLP 分词相关推荐
- HanLPTokenizer HanLP分词器
anlp在功能上的扩展主要体现在以下几个方面: •关键词提取 •自动摘要 •短语提取 •拼音转换 •简繁转换 •文本推荐 下面是 hanLP分词器的代码 注:使用maven依赖 <depen ...
- java hanlp分词_Hanlp分词实例:Java实现TFIDF算法
算法介绍 最近要做领域概念的提取,TFIDF作为一个很经典的算法可以作为其中的一步处理. 关于TFIDF算法的介绍可以参考这篇博客http://www.ruanyifeng.com/blog/2013 ...
- python 分词包_python调用hanlp分词包手记
python调用hanlp分词包手记 Hanlp作为一款重要的分词工具,本月初的时候看到大快搜索发布了hanlp的1.7版本,新增了文本聚类.流水线分词等功能.关于hanlp1.7版本的新功能,后面有 ...
- hanlp分词学习笔记
流行中英文分词工具hanlp: 中英文NLP处理工具包, 基于tensorflow2.0, 使用在学术界和行业中推广最先进的深度学习技术. 使用hanlp进行中文分词: >>> im ...
- hanlp java api_python调用hanlp分词包手记
python调用hanlp分词包手记 Hanlp作为一款重要的分词工具,本月初的时候看到大快搜索发布了hanlp的1.7版本,新增了文本聚类.流水线分词等功能.关于hanlp1.7版本的新功能,后面有 ...
- es elasticsearch整合kibana,HanLP分词器
目录 一.准备 二.安装 1.解压 elasticsearch 2.解压 kibana 3.解压 elasticsearch-analysis-hanlp 三.启动&测试 1. elastic ...
- Hanlp分词实例:Java实现TFIDF算法
2019独角兽企业重金招聘Python工程师标准>>> 算法介绍 最近要做领域概念的提取,TFIDF作为一个很经典的算法可以作为其中的一步处理. 关于TFIDF算法的介绍可以参考这篇 ...
- 中文HanLp分词入门
入门 # 比如我们要对 `我来到中华人民共和国` 这句话做一个分词,我们来人为分一下 1. 我 / 来到 / 中华人民共和国 2. 我 / 来到 / 中华 / 华人 / 人民 / 中华人民 / 中华人 ...
- HanLP分词+用户自定义词典
文章目录 1. 分词重要性 2. 词典说明 2.1 CustomDictionary 2.2 追加词典 2.3 词典格式 2.4 添加词典 3. 实验 3.1 未添加词典 3.2 加入词典后 4 其他 ...
最新文章
- go 定义一个结构体并赋初始值_Go中必须谈论的四个迷点
- linux 中文乱码问题的解决方法
- (53)进程结构体EPROCESS,擦除 DebugPort 实现反调试,ActiveProcessLinks 断链实现进程隐藏
- css vue 选项卡_vuejs实现标签选项卡动态更改css样式的方法
- javascript学习系列(16):数组中的every方法
- pythonselenium上传图片视频_如何用selenium、python上传文件(图片)
- 使用Python抓取网页信息
- 数字图像处理——图像去雾技术的对比
- 20155313 2016-2017-2《Java程序设计》课程总结
- 每日英语--Week6
- JavaScript 正则表达式
- JavaScript “use strict“(严格模式)
- SEO入门学习:关键词密度和布局
- 智能世界的罗马是怎样建成的?
- 物联网模块选择注意事项
- 2013年10月22日、|充实自己|看书看到恶心看教学视频看到吐|也许旷几次课也是值得的
- I \ Q信号、IFI \ IFQ信号、差分信号、单端信号知识总结
- 单链表排序之直接插入排序
- zabbix系列:解决zabbix模板不能重复链接到其它模板, 即使透过其它模板
- PS中括号不能调整画笔或仿章大小