`

自然语言处理工具pyhanlp分词与词性标注

阅读更多

 

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

 

 

文本分类   文本挖掘   计算语言学

  • 大小: 14.4 KB
分享到:
评论

相关推荐

    hanlp-python_spiderpbl_ch11/11.5.py_自然语言处理入门_

    HanLP是由北京大学计算机科学技术研究所开发的自然语言处理库,提供了分词、词性标注、命名实体识别、依存句法分析、语义角色标注等丰富的功能,是NLP领域广泛使用的工具之一。 在学习和使用Python进行NLP时,通常...

    自然语言处理入门随书代码

    在Python版本的pyhanlp中,我们可以找到许多与NLP相关的功能,如分词、词性标注、命名实体识别、依存句法分析、关键词提取等。 分词是NLP的基础,它将连续的文本切割成具有语义意义的单位——词语。pyhanlp提供了...

    Python-自然语言处理工具包HanLP的Python接口

    **Python-自然语言处理工具包HanLP的Python接口** 在Python的世界里,自然语言处理(NLP)是一项关键任务,涉及文本分析、语义理解、情感分析等多个领域。HanLP,由厦门汉云科技有限公司开发,是一款高效、易用的...

    南邮自然语言处理实验三

    南京邮电大学的这份实验报告针对的是自然语言处理(NLP)领域的三项基本任务:词性标注(Part-of-Speech Tagging, POS)、命名实体识别(Named Entity Recognition, NER)以及信息抽取(Information Extraction)。...

    Python库 | pyhanlp-0.1.32.tar.gz

    本文将深入探讨Python库pyhanlp-0.1.32,它是一个连接Python与Java HanLP的桥梁,为Python开发者提供了强大的中文分词、词性标注、命名实体识别等NLP功能。 首先,我们要理解pyhanlp的核心作用。它是Python对Java ...

    pyhanlp:汉语分词词性标注命名实体识别依存句法分析新词发现

    pyhanlp:HanLP1.x的Python接口 的Python接口,支持自动下载和升级 ,兼容py2,py3。内部算法通过工业界和学术界考验,配套书籍已经出版,欢迎查阅。学习的已于2020年初发布,次世代最先进的多语种NLP技术,与1.x...

    PyPI 官网下载 | pyhanlp-0.1.29.tar.gz

    1. **分词**:这是自然语言处理的基础,pyhanlp可以对中文文本进行精确、快速的分词,支持多种分词模式,如精确模式、全模式、搜索引擎模式等。 2. **词性标注**:在分词的基础上,pyhanlp可以为每个词汇赋予对应的...

    .hanlp.zip

    在自然语言处理(NLP)领域,Python作为主流编程语言之一,拥有丰富的库和工具。PyHanLP,作为Java版HanLP的Python接口,为Python开发者提供了强大的中文分词、词性标注、命名实体识别等NLP功能。本文将深入探讨"....

    pyhanlp安装介绍和简单应用

    HanLP是由一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。 功能:中文分词 词性标注 命名实体识别 依存句法...

    基于Python实现的电影问答系统源代码+详细程序注释

    2. 对问题抽象并提取关键词(pyhanlp模块分词和词性标注,其实我认为如果求简的话,这里可以用jieba替代) 3. 对抽象问句分类得到对应的模板(scikit-learn模块的朴素贝叶斯算法) 4. 根据模板规则到Neo4j数据库中...

Global site tag (gtag.js) - Google Analytics