博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自然语言处理工具pyhanlp分词与词性标注
阅读量:7049 次
发布时间:2019-06-28

本文共 1624 字,大约阅读时间需要 5 分钟。

hot3.png

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适用于信息检索的分词器。

 

后续将要介绍的内容是文本的向量表示,这里边有一部分内容是跟特征抽取重合的。好了,今天的内容就到这里。

转载于:https://my.oschina.net/u/3793864/blog/3051118

你可能感兴趣的文章
从零开始实现一个简易的Java MVC框架
查看>>
基于 Pusher 驱动的 Laravel 事件广播(上)
查看>>
Spark Streaming源码解读之数据清理 内幕
查看>>
项目打包流程
查看>>
使用webiopi控制树莓派的GPIO引脚电平(WEB在线管理)
查看>>
(转)直接拿来用!最火的iOS开源项目(二)
查看>>
【java解惑】Unicode转义符的使用
查看>>
spring线程池ThreadPoolTaskExecutor与阻塞队列BlockingQueue
查看>>
服务器同步
查看>>
visio图片导入word和PPT的最清晰的方式
查看>>
DataGuard 环境rman恢复主库坏块一例
查看>>
邮件服务器最常见的安全问题及解决办法
查看>>
交换机真的只工作在第二层吗?
查看>>
走向DBA[MSSQL篇] 针对大表 设计高效的存储过程【原理篇】 附最差性能sql语句进化过程客串...
查看>>
Python条件判断和循环
查看>>
15年编程生涯,资深架构师总结的7条经验
查看>>
第三节课作业
查看>>
最长回文子串问题
查看>>
ssh客户端及基于key登陆
查看>>
echo命令
查看>>