介绍pyhanlp
HanLP是由一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。
HanLP有如下功能:
- 中文分词
- 词性标注
- 命名实体识别
- 依存句法分析
- 关键词提取新词发现
- 短语提取
- 自动摘要
- 文本分类
- 拼音简繁
安装pyhanlp
pip install pyhanlp
安装后在第一次使用时,当运行from pyhanlp import *时,会下载hanlp的数据文件,这个文件比较大,一般都会下载失败,推荐手动下载并放到要求的路径下。
data文件下载地址:https://github.com/hankcs/HanLP/releases
在页面中下载data-for-1.7.2.zip
然后把下载的文件放到C:\Anaconda3\Lib\site-packages\pyhanlp\static 目录下
再执行from pyhanlp import *,完成自动解压。
pyhanlp的使用
pyhanlp的参考文档:https://github.com/hankcs/pyhanlp
hanlp的参考文档:https://github.com/hankcs/HanLP/blob/master/README.md
pyhanlp的demo:https://github.com/hankcs/pyhanlp/tree/master/tests/demos
分词
pyhanlp可以自定义多种分词规则和模型,也可以加入自定义词典,经测试,默认的分词方法效果就不错,而且兼备词性标注以及命名实体识别,可以识别人名、地名、机构名等信息。
from pyhanlp import *
sentence = "下雨天地面积水"
# 返回一个list,每个list是一个分词后的Term对象,可以获取word属性和nature属性,分别对应的是词和词性
terms = HanLP.segment(sentence )
for term in terms:
print(term.word,term.nature)
关键词提取与自动摘要
from pyhanlp import *
document = "水利部水资源司司长陈明忠9月29日在国务院新闻办举行的新闻发布会上透露," \
"根据刚刚完成了水资源管理制度的考核,有部分省接近了红线的指标," \
"有部分省超过红线的指标。对一些超过红线的地方,陈明忠表示,对一些取用水项目进行区域的限批," \
"严格地进行水资源论证和取水许可的批准。"
# 提取document的两个关键词
print(HanLP.extractKeyword(document, 2))
# 提取ducument中的3个关键句作为摘要
print(HanLP.extractSummary(document, 3))
依存句法分析
from pyhanlp import *
print(HanLP.parseDependency(