中文分词好用的pyhanLP包

【NLP】pyhanlp的安装与使用 介绍pyhanlp HanLP是由一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。 HanLP有如下功能: 中文分词 词性标注 命名实体识别 依存句法分析 关键词提取新词发现 短语提取 自动摘要 文本分类 拼音简繁 安装pyhanlp pip install pyhanlp 安装后在第一次使... 阅读详情

HanLP: Han Language Processing
面向生产环境的多语种自然语言处理工具包(由一系列模型与算法组成的Java工具包),基于 TensorFlow 2.0,目标是普及落地最前沿的NLP技术。目前,基于深度学习的HanLP 2.0正处于alpha测试阶段,未来将实现知识图谱、问答系统、自动摘要、文本语义相似度、指代消解、三元组抽取、实体链接等功能。

HanLP有如下功能:

中文分词
词性标注
命名实体识别
依存句法分析
关键词提取新词发现
短语提取
自动摘要
文本分类
拼音简繁

1 安装

pip install pyhanlp

要求Python 3.6以上,支持Windows,可以在CPU上运行,推荐GPU/TPU。

HanLP-doc-zh.zip

参考 pyhanlp的安装与使用

2 使用场景

2.1 分词(中文分词、中文斷詞、英文分词、任意语种分词)

pyhanlp可以自定义多种分词规则和模型,也可以加入自定义词典,经测试,默认的分词方法效果就不错,而且兼备词性标注以及命名实体识别,可以识别人名、地名、机构名等信息。

from pyhanlp import *
sentence = "下雨天地面积水"

# 返回的list中,每个元素是一个分词后的Term对象,可以获取词(word属性)和词性(nature属性)
term_list = HanLP.segment(sentence)  
for term in term_list:
	print(term.word,term.nature)

作为终端用户,第一步需要从磁盘或网络加载预训练模型。比如,此处用两行代码加载一个名为 PKU_NAME_MERGED_SIX_MONTHS_CONVSEG 的分词模型。

import hanlp
tokenizer = hanlp.load('PKU_NAME_MERGED_SIX_MONTHS_CONVSEG')
tokenizer('商品和服务')
# ['商品', '和', '服务']

HanLP 会自动将 PKU_NAME_MERGED_SIX_MONTHS_CONVSEG 解析为一个URL,然后自动下载并解压。由于巨大的用户量,万一下载失败请重试或参考提示手动下载。

2.2 关键词提取与自动摘要

from pyhanlp import *

document = "南非奥委会说,3名的足球队成员中,有两名是足球队员,一名为球队官员,他们均已在东京被隔离。而在南非橄榄球队集训地日本的鹿儿岛,球队教练尼尔·鲍威尔在检测中结果为阳性。" 

# 提取ducument中的3个关键句作为摘要
print(HanLP.extractSummary(document, 3))

2.3 文本分类

pyhanlp自带的文本分类器选用朴素贝叶斯模型,训练语料需要自己收集,这里使用搜狗文本分类语料迷你版

载之后将文件放到pyhanlp包的pyhanlp/static/data/test文件夹下,即:

C:\Anaconda3\Lib\site-packages\pyhanlp\static\data\test
import os
from pyhanlp import SafeJClass
from tests.test_utility import ensure_data

NaiveBayesClassifier=SafeJClass('com.hankcs.hanlp.classification.classifiers.NaiveBayesClassifier')
IOUtil = SafeJClass('com.hankcs.hanlp.corpus.io.IOUtil')
sogou_corpus_path = ensure_data('搜狗文本分类语料库迷你版',
     'http://file.hankcs.com/corpus/sogou-text-classification-corpus-mini.zip')

def train_or_load_classifier():
    model_path = sogou_corpus_path + '.ser'
    if os.path.isfile(model_path):
        return NaiveBayesClassifier(IOUtil.readObjectFrom(model_path))
    classifier = NaiveBayesClassifier()
    classifier.train(sogou_corpus_path)
    model = classifier.getModel()
    IOUtil.saveObjectTo(model, model_path)
    return NaiveBayesClassifier(model)

def predict(classifier, text):
    print("《%16s》\t属于分类\t【%s】" % (text, classifier.classify(text)))
    # 如需获取离散型随机变量的分布,请使用predict接口
    # print("《%16s》\t属于分类\t【%s】" % (text, classifier.predict(text)))

if __name__ == '__main__':
    classifier = train_or_load_classifier()
    predict(classifier, "研究生考录模式亟待进一步专业化")
    predict(classifier, "如果真想用食物解压,建议可以食用燕麦")

2.4 情感分析

情感分析和文本分类的默认分类模型一样,也是朴素贝叶斯模型,首先我们需要准备训练数据,这里使用谭松波的酒店评论语料
下载之后将文件放到pyhanlp包的pyhanlp/static/data/test文件夹下,即:

C:\Anaconda3\Lib\site-packages\pyhanlp\static\data\test
from pyhanlp import *
from tests.test_utility import ensure_data

IClassifier=JClass('com.hankcs.hanlp.classification.classifiers.IClassifier')
NaiveBayesClassifier=JClass('com.hankcs.hanlp.classification.classifiers.NaiveBayesClassifier')
# 中文情感挖掘语料-ChnSentiCorp 谭松波
chn_senti_corp = ensure_data("ChnSentiCorp情感分析酒店评论", "http://file.hankcs.com/corpus/ChnSentiCorp.zip")

def predict(classifier, text):
    print(text, classifier.classify(text))
    
if __name__ == '__main__':
    classifier = NaiveBayesClassifier()
    #  创建分类器,更高级的功能请参考IClassifier的接口定义
    classifier.train(chn_senti_corp)
    #  训练后的模型支持持久化,下次就不必训练了
    predict(classifier, "前台客房服务态度非常好!早餐很丰富,房价很干净。再接再厉!")
    predict(classifier, "结果大失所望,灯光昏暗,空间极其狭小,床垫质量恶劣,房间还伴着一股霉味。")
predict(classifier, "可利用文本分类实现情感分析,效果不是不行")

2.5 Hanlp.segment的使用

from pyhanlp import *
print HanLP.segment("今天开心了吗?")
# 输出:[今天/t, 开心/a, 了/ule, 吗/y, ?/w]

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 	状态词
中文分词工具安装教程及分词和词性标注应用(jieba、pyhanlp、pkuseg、foolnltk、thulac、snownlp、nlpir) 2.1 jieba 2.1.1 jieba简介 Jieba中文含义结巴,jieba库是目前做的最好的python分词组件。首先它的安装十分便捷,只需要使用pip安装;其次,它不需要另外下载其它的数据包,在这一点上它比其余五款分词工具都要便捷。另外,jieba库支持的文本编码方式为utf-8。 Jieba库包含许多功能,如分词、词性标注、自定义词典、关键词提取。基于jieba的关键词提取有两种... 阅读详情

相关推荐

pyhanlp安装教程

pyhanlp安装教程 1、hanlp简介 HanLP是由一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。 Hanlp具有以下功能: 中文分词 词性标注 命名实体识别 依存句法分析 关键词提取新词发现 短语提取 自动摘要 文本分类 拼音简繁 2、hanlp安装 第一步:h...

大明王 1558

Python的pyhanlp库使用(一)

pyhanlp库使用

ZCS的博客 8516

准确分词:加载自定义字典分词(pyhanlp分词示例)

目录 一、pyhanlp 1.1基本介绍 1.2 pyhanlp加入字典 二、分词对比 tokenizer.py :hanlp函数 cut_data.py 主文件 全部代码、数据集:https://github.com/455125158/NLP_basis 一、pyhanlp 1.1基本介绍 pyhanlp介绍:https://github.com/ha...

陈宸的博客 2832

Python3安装pyhanlp最佳解决方法

Hanlp是一款中文自然语言处理工具。Hanlp支持多种自然语言处理任务,包括分词、词性标注、命名实体识别、依存句法分析、情感分析、文本分类等。高准确率:Hanlp采用了基于神经网络的分词方法,有效提高了分词的准确率和速度。广泛覆盖:Hanlp支持多种自然语言处理任务,包括分词、词性标注、命名实体识别、依存句法分析、情感分析、文本分类等,能够满足大部分的自然语言处理需求。多语种支持:Hanlp支持多种语言的处理,如中文、英文、日文等,可应用于多语言环境下的自然语言处理任务。

weixin_40547993的博客 4291

pyhanlp最全安装和使用教程

HanLP是一个由中国开发者何晗(hankcs)于 2014 年开发的自然语言处理库,自发布之后,HanLP不断更新迭代,进行了许多新功能和性能的优化,Github上Star数量已超过 3w,其在主流自然语言工具包中非常受欢迎。HanLP具有丰富的功能,可以进行一系列文本分析任务,比如词法分析(分词、词性标注、命名实体识别)、句法分析、文本分类/聚类、信息抽取、语义分析等等。发展至今,HanLP已经衍生出了1.x和2.x两大版本。本文pyhanlp0.1.84。

Cachel Wood的博客 1223

hanlp词性列表.docx

Hanlp词性列表,包括词性及注解,以及常用及不常用词的选择

详细讲解如何安装pyhanlp

详细讲解如何安装pyhanlp

敷衍zgf的博客 7564

比例导引算法详解:从理论到Matlab实现(含3D轨迹可视化)

本文深入解析比例导引算法(PNG)的数学原理与Matlab实现,涵盖3D轨迹可视化技术。从基础运动学模型到导航比优化,详细讲解导弹拦截系统的核心算法,并提供Matlab代码示例,帮助读者掌握从理论到实战的全流程。

weixin_33725722的博客 549

pyhanlp的安装方法

pyhanlp的安装方法

xiangfengl的专栏 1712

QtNodeEditor实战:构建高效可视化编程环境的完整指南

本文是QtNodeEditor实战的完整指南,详细介绍了如何利用这一基于Qt框架的可视化编程工具构建高效节点编辑器。内容涵盖从快速集成、自定义节点模型到深入理解MVC数据流架构,并提供了样式定制、场景序列化、动态端口等高级功能的实现方法,帮助开发者快速搭建灵活、可维护的可视化编程环境。

lemon的博客 702

ConvLSTM时空预测实战代码详解

ConvLSTM代码复现

JaysonWong的博客 1万+

Python中文分词工具大合集:安装、使用和测试

转自:AINLP这篇文章事实上整合了之前文章的相关介绍,同时添加一些其他的Python中文分词相关资源,甚至非Python的中文分词工具,仅供参考。首先介绍之前测试过的8...

AI蜗牛车 1万+

【Fluent】太阳辐射模型—Solar Ray Tracing

一、引言Fluent提供了一个太阳能负载模型,可用于计算进入计算域的太阳光线的辐射效应。该模型可以分为:太阳光线追踪和太阳辐照。其中太阳辐照需要使用DO或MC模型,直接向辐射模型提供外光束方向和强度参数。太阳光线追踪不限制辐射模型,可以独立于辐射方程使用,甚至可以在辐射模型off的情况下使用。本文主要介绍太阳光线追踪模型。该模型非常适用于以下领域汽车气候控制 (ACC) 应用建筑物中的人体热舒适建模应用该模型使用着色算法进行太阳光线追踪。光线会透过半透明的面加载在照射面上。

a5567899的博客 7589

自然语言处理分词工具——pyhanlp下载安装

HanLP从中文分词开始,覆盖词性标注、命名实体识别、句法分析、文本分类等常用任务,提供了丰富的API。对于中文文本的分词处理是一个十分有益的工具。由于pyhanlp源码是用java写的,为python提供了API,所以直接调用十分方便,但是在安装时则需要额外提供java环境。

m0_59694317的博客 2411

SAP FI 提示没有为会计年度0 定义版本2025 GP626

SAP 错误 GP626 是一个常见的系统消息,通常表示某个会计年度的版本(如版本 0)未被定义或未激活。:在执行某些事务(如创建采购订单、过账凭证或维护成本中心)时,系统会检查相关版本是否已定义。的“Settings for Each Fiscal Year”界面中,选择一个已激活的会计年度。的“Settings for Each Fiscal Year”界面中,找到未激活的会计年度。:在控制范围(Controlling Area)中,未为指定的会计年度定义版本 0。如果没有,添加或复制现有年度的设置。

GAVIN 2490

全网最详细单细胞保姆级分析教程(一) ---pbmc

通过观察热图,可以了解不同细胞在主成分上的分布情况,以及主成分与细胞特征之间的关系。数据归一化是数据分析中的常见步骤,旨在消除数据集中不同特征之间的量纲差异,并使它们在相同的尺度上进行比较。函数会根据指定的主成分维度计算数据点之间的距离,并找到每个数据点的邻居。函数会根据数据点之间的相似性将其分组到不同的聚类中。数据缩放是数据分析中的常见步骤,旨在将数据的特征值调整到相似的范围,以避免某些特征对分析结果的过度影响。通过可视化维度载荷,可以了解哪些特征对主成分的形成起到了重要作用,以及不同特征之间的相关性。

ZxVSaccount的博客 6707

NLP之pyhanlp安装及其使用

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

菲宇运维 5687

探索gtwr of mgtwr in python

代码】探索gtwr of GWmodel in python。

m0_46268055的博客 3388

知识图谱 — jieba、pyhanlp、smoothnlp工具实现中文分词(词性表)

最近也是在预研知识图谱相关技术。这里面涉及到了一些关于自然语言处理方面的内容和技术。目前已经调研了一些分词、命名体识别相关技术。今天记录下分词工具的使用。 一、什么是知识图谱? 笔者理解的知识图谱是一个巨型的语义网络,形同互联网一样。不过语义网络上每个点是一个实体,两两实体之前存在一条边也就是关系或属性。其实也就是找到一个三元组,类似于(实体、关系、实体)或(实体、属性、属性值)的形式。这里面重要的步骤就是如何把形同这样形式的三元组抽取出来,并且还要保证抽取出三元组的正确性。这无疑是...

zkkkkkkkkkkkkk的博客 3198

3. UFS 电气时钟、复位、信号和电源

当接收到用于从 HS-MODE 到 LS-MODE 转换的 DME_POWERMODE.ind 或用于从 HS-MODE 到 HIBERN8 转换的 DME_HIBERNATE_ENTER.ind 时,UFS 主机可以启动一个计时器。在整个 PA_INIT 过程中,不应门控参考时钟。如果 UFS 主机启动从 HS-MODE 到 LS-MODE 或 HIBERN8 的电源模式更改,则应确保在关闭参考时钟之前,至少已经经过了由 bRefClkGatingWaitTime 定义的最小时间间隔,见图 6.3。

qq_42238448的博客 1293

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

pyhanlp安装与使用

HanLP是由何晗 @hankcs 开发的一个自然语言处理开源包,使用它可以完成中文分词、词性标注、命名实体识别、句法分析、文本分类等任务。 HanLP本身是用java语言写的,github上虽然给出的是“pip install hanlp”的安装和使用方法,但我这个编程菜鸟实测用不了。 要在Python里使用HanLP,可以安装pyhanlp 一、Pyhanlp安装 命令行安装指令: pip install pyhanlp 二、java jdk-8安装 但是,仅安装pyhanlp还无.

Sun_Weiss的博客 1799

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【亲测免费】 PyHanLP 使用教程

PyHanLP 是一个基于 HanLP 的 Python 封装库,旨在提供高效、准确的中文自然语言处理服务。HanLP 是由一系列模型与算法组成的 Java 工具包,而 PyHanLP 则通过 Python 接口使得这些功能可以在 Python 环境中使用。PyHanLP 支持多种自然语言处理任务,包括中文分词、词性标注、命名实体识别、依存句法分析等。 ## 项目快速启动 ### 安装 PyH

gitblog_00030的博客 867

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

常用的中文分词框架

首先介绍之前测试过的8款中文分词工具,这几款工具可以直接在AINLP公众号后台在线测试,严格的说,它们不完全是纯粹的中文分词工具,例如SnowNLP, Thulac, HanLP,LTP,CoreNLP都是很全面的(中文)自然语言处理工具。安装这些模块其实很简单,只要按官方文档的方法安装即可,以下做个简单介绍,主要是在Python3.x & Ubuntu16.04 的环境下测试及安装这些中文分词器。 再附加介绍12款其他的中文分词工具或者中文分词模块,最后的两款fnlp和ansj是比较棒的java

新技术革命 1871

pyhanlp中文分词实战:10种分词算法深度解析与对比

pyhanlp是HanLP自然语言处理工具包的Python接口,为中文分词提供了完整、高效的解决方案。这个开源项目集成了10多种分词算法,从经典的正向/逆向匹配到先进的CRF、感知机模型,为不同场景下的中文分词需求提供了全面支持。无论你是NLP初学者还是经验丰富的开发者,pyhanlp都能帮助你快速实现高质量的中文分词任务。 ## 📦 pyhanlp快速安装指南 安装pyhanlp非常简单,

gitblog_00780的博客 349

java中文分词工具_pyhanlp——分词与词性标注

这篇文章的内容是作为所有文本分类技术的基础而写的,也可以把它作为其他自然语言处理技术的基础。pyhanlp的内容很多,这篇文章先介绍分词和词性标注这一部分。顺便写一个简介。简介 pyhanlp是HanLP的Python接口。因此后续所有关于pyhanlp的文章中也会写成HanLP。HanLP是完全用Java自实现的自然语言处理工具包。特点是完全用Java实现不引入第三...

weixin_39817391的博客 518
上一篇: 使用SVM实现iris花瓣预测
下一篇: 简单命名实体识别
MusicDancing
博客等级 码龄7年 2684粉丝 314原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值