Pyhanlp分词与词性标注的相关内容记得此前是有分享过的。可能时间太久记不太清楚了。以下文章是分享自“baiziyu”所写(小部分内容有修改),供大家学习参考之用。
简介
pyhanlp是HanLP的Python接口。因此后续所有关于pyhanlp的文章中也会写成HanLP。HanLP是完全用Java自实现的自然语言处理工具包。特点是完全用Java实现不引入第三方工具包。完全开源。中文的开源工具能做到这么完整的大概只有HanLP。包括了词法分析、句法分析、分类、聚类、关键词抽取等常见NLP应用任务。并且github上问题回答快,作者很是认真的解决大家提出的问题。虽然用Java实现,HanLP也提供了Python接口。
简单的安装过程,请先确保安装了anaconda3
# 安装命令
$ pip install pyhanlp
# 更新到最新代码包和数据包
$ hanlp update
分词与词性标注
示例
In [1]: from pyhanlp import *
In [5]: print(HanLP.segment("你好,欢迎使用HanLP汉语处理包!接下来请从其他Demo中
...: 体验HanLP丰富的功能~"))
[你好/vl, ,/w, 欢迎/v, 使用/v, HanLP/nx, 汉语/gi, 处理/vn, 包/v, !/w, 接下来/vl, 请/v, 从/p, 其他/rzv, Demo/nx, 中/f, 体验/v, HanLP/nx, 丰富/a, 的/ude1, 功能/n, ~/nx]
In [11]: for word in word_li:
...: print(word.word, word.nature)
...:
你好 vl
, w
欢迎 v
使用 v
HanLP nx
汉语 gi
处理 vn
包 v
! w
接下来 vl
请 v
从 p
其他 rzv
Demo nx
中 f
体验 v
HanLP nx
丰富 a
的 ude1
功能 n
~ nx
关于HanLP.segment的说明。内存要求:120MB以上,标准数据包(35万核心词库+默认用户词典)。HanLP对词典的数据结构进行了长期的优化,哪怕HanLP的词典上百兆也无需担心。HanLP.segment是一个工厂函数,它是对StandardTokenizer的封装。当前StandardTokenizer使用的是viterbi最短路分词。viterbi分词器是目前效率和效果的最佳平衡。该函数的详细代码在github.com/hankcs/HanLP/blob/master/src/main/java/com/hankcs/hanlp/seg/Viterbi/ViterbiSegment.java。分词大致功能有:首先生成词网和词图即可以得到粗分词网,经维特比算法找最短路径和人工干预分词后即可得到粗分结果。之后根据配置可以进行数字识别,人名识别,译名识别,地名识别,机构名识别,如果是索引分词则进行全切分分词,词性标注。
HanLP的com.hankcs.hanlp.tokenizer包中封装了很多开箱即用的分词器,但是不是所有的分词器都能在Python接口中直接使用。这些分词器有BasicTokenizer这是NGram分词器,不识别命名实体,不能使用用户词典。SpeedTokenizer这是最长匹配分词器。NotionalTokenizer这是实词分词器。StandardTokenizer当前效率和效果最佳的分词器。NLPTokenizer更精确的中文分词器。IndexTokenizer适用于信息检索的分词器。
后续将要介绍的内容是文本的向量表示,这里边有一部分内容是跟特征抽取重合的。好了,今天的内容就到这里。
作者:baiziyu
原文链接:https://zhuanlan.zhihu.com/p/58065704
文本分类 文本挖掘 计算语言学
相关推荐
HanLP是由北京大学计算机科学技术研究所开发的自然语言处理库,提供了分词、词性标注、命名实体识别、依存句法分析、语义角色标注等丰富的功能,是NLP领域广泛使用的工具之一。 在学习和使用Python进行NLP时,通常...
在Python版本的pyhanlp中,我们可以找到许多与NLP相关的功能,如分词、词性标注、命名实体识别、依存句法分析、关键词提取等。 分词是NLP的基础,它将连续的文本切割成具有语义意义的单位——词语。pyhanlp提供了...
**Python-自然语言处理工具包HanLP的Python接口** 在Python的世界里,自然语言处理(NLP)是一项关键任务,涉及文本分析、语义理解、情感分析等多个领域。HanLP,由厦门汉云科技有限公司开发,是一款高效、易用的...
南京邮电大学的这份实验报告针对的是自然语言处理(NLP)领域的三项基本任务:词性标注(Part-of-Speech Tagging, POS)、命名实体识别(Named Entity Recognition, NER)以及信息抽取(Information Extraction)。...
本文将深入探讨Python库pyhanlp-0.1.32,它是一个连接Python与Java HanLP的桥梁,为Python开发者提供了强大的中文分词、词性标注、命名实体识别等NLP功能。 首先,我们要理解pyhanlp的核心作用。它是Python对Java ...
pyhanlp:HanLP1.x的Python接口 的Python接口,支持自动下载和升级 ,兼容py2,py3。内部算法通过工业界和学术界考验,配套书籍已经出版,欢迎查阅。学习的已于2020年初发布,次世代最先进的多语种NLP技术,与1.x...
1. **分词**:这是自然语言处理的基础,pyhanlp可以对中文文本进行精确、快速的分词,支持多种分词模式,如精确模式、全模式、搜索引擎模式等。 2. **词性标注**:在分词的基础上,pyhanlp可以为每个词汇赋予对应的...
在自然语言处理(NLP)领域,Python作为主流编程语言之一,拥有丰富的库和工具。PyHanLP,作为Java版HanLP的Python接口,为Python开发者提供了强大的中文分词、词性标注、命名实体识别等NLP功能。本文将深入探讨"....
HanLP是由一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。 功能:中文分词 词性标注 命名实体识别 依存句法...
2. 对问题抽象并提取关键词(pyhanlp模块分词和词性标注,其实我认为如果求简的话,这里可以用jieba替代) 3. 对抽象问句分类得到对应的模板(scikit-learn模块的朴素贝叶斯算法) 4. 根据模板规则到Neo4j数据库中...