自然语言处理工具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适用于信息检索的分词器。
后续将要介绍的内容是文本的向量表示,这里边有一部分内容是跟特征抽取重合的。好了,今天的内容就到这里。
自然语言处理工具pyhanlp分词与词性标注的更多相关文章
- NLP自然语言处理 jieba中文分词,关键词提取,词性标注,并行分词,起止位置,文本挖掘,NLP WordEmbedding的概念和实现
1. NLP 走近自然语言处理 概念 Natural Language Processing/Understanding,自然语言处理/理解 日常对话.办公写作.上网浏览 希望机器能像人一样去理解,以 ...
- Python分词工具——pyhanlp
本文为本人学习pyhanlp的笔记,大多知识点来源于GitHubhttps://github.com/hankcs/HanLP/blob/master/README.md,文中的demo代码来源于该G ...
- 一套准确率高且效率高的分词、词性标注工具-thulac
软件简介 THULAC(THU Lexical Analyzer for Chinese)由清华大学自然语言处理与社会人文计算实验室研制推出的一套中文词法分析工具包,具有中文分词和词性标注功能.THU ...
- Python自然语言处理工具小结
Python自然语言处理工具小结 作者:白宁超 2016年11月21日21:45:26 目录 [Python NLP]干货!详述Python NLTK下如何使用stanford NLP工具包(1) [ ...
- Python中调用自然语言处理工具HanLP手记
手记实用系列文章: 1 结巴分词和自然语言处理HanLP处理手记 2 Python中文语料批量预处理手记 3 自然语言处理手记 4 Python中调用自然语言处理工具HanLP手记 5 Python中 ...
- Python 的十个自然语言处理工具
原文 先mark,后续尝试. 1.NLTK NLTK 在用 Python 处理自然语言的工具中处于领先的地位.它提供了 WordNet 这种方便处理词汇资源的借口,还有分类.分词.除茎.标注.语法分析 ...
- 【HanLP】HanLP中文自然语言处理工具实例演练
HanLP中文自然语言处理工具实例演练 作者:白宁超 2016年11月25日13:45:13 摘要:HanLP是hankcs个人完成一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环 ...
- ZH奶酪:自然语言处理工具LTP语言云调用方法
前言 LTP语言云平台 不支持离线调用: 支持分词.词性标注.命名实体识别.依存句法分析.语义角色标注: 不支持自定义词表,但是你可以先用其他支持自定义分词的工具(例如中科院的NLPIR)把文本进行分 ...
- Hanlp自然语言处理工具之词法分析器
本章是接前两篇<分词工具Hanlp基于感知机的中文分词框架>和<基于结构化感知机的词性标注与命名实体识别框架>的.本系统将同时进行中文分词.词性标注与命名实体识别3个任务的子系 ...
随机推荐
- tar:文件打包归档
造冰箱的大熊猫@cnblogs 2018/12/24 1.什么是tar 1.1.tar tar命令将指定的文件.文件夹打包(存储)为一个文件(归档文件,archive file).tar将被归档文件以 ...
- 错误/异常:org.hibernate.InvalidMappingException: Could not parse mapping document from resource com/shore/model/Husband.hbm.xml 的解决方法
1.错误/异常视图 错误/异常描述:无效的映射异常,无法从xxxxx资源中解析映射文档 2.解决方法 出现这个异常,一般情况下是包名写错了.改回来即可. 看报错/异常的第一行,最后面,会提示你 ...
- 51 Nod 1100 斜率最大
1100 斜率最大 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 平面上有N个点,任意2个点确定一条直线,求出所有这些直线中,斜率最大的那条直线 ...
- 从零开始入门 K8s | Kubernetes 调度和资源管理
作者 | 子誉 蚂蚁金服高级技术专家 关注"阿里巴巴云原生"公众号,回复关键词"入门",即可下载从零入门 K8s 系列文章 PPT. Kubernetes 调 ...
- AcWing:112. 雷达设备(贪心 + 笛卡尔坐标系化区间)
假设海岸是一条无限长的直线,陆地位于海岸的一侧,海洋位于另外一侧. 每个小岛都位于海洋一侧的某个点上. 雷达装置均位于海岸线上,且雷达的监测范围为d,当小岛与某雷达的距离不超过d时,该小岛可以被雷达覆 ...
- super 和 this 的区别
一 this和super关键字区别 1.子类的构造函数如果要引用super的话,必须把super放在函数的首位.2.super(参数):调用基类中的某一个构造函数(应该为构造函数中的第一条语句)3.t ...
- JavaWeb_(Hibernate框架)Hibernate中创建实体
Hibernate中创建实体 创建实体五个基本规则 --提供无参的构造器 --成员变量的私有化,提供get.set方法,提供属性 --尽量使用包装类型 --主键(一定要有) --不要加final(hi ...
- Inter IPP & Opencv + codeblocks 在centos 环境下的配置
一.先安装codeblocks wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-12.noar ...
- PHP7 的部分新特性
1. 运算符(NULL 合并运算符) $a = $_GET['a'] ?? 1; 它相当于: <php$a = isset($_GET['a']) ? $_GET['a'] : 1; 我们知道三 ...
- MySQL中获取天、周、月等数据
MySQL中获取天.周.月等数据 1.今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 2.昨天 SELECT * FROM 表名 ...