一. 下载与配置(使用python可跳过)
- 下载jar和配置文件
- 下载data.zip解压并通过配置文件告诉HanLP数据包的位置(方法:修改配置文件的第一行为数据包的父目录)。
- HanLP中的数据分为词典和模型,其中词典是词法分析必需的,模型是句法分析必需的。
- 用户可以自行增删替换,如果不需要句法分析等功能的话,随时可以删除model文件夹。
- 模型跟词典没有绝对的区别,隐马模型被做成人人都可以编辑的词典形式,不代表它不是模型。
- GitHub代码库中已经包含了data.zip中的词典,直接编译运行自动缓存即可;模型则需要额外下载。
- 环境配置
- 将hanlp.properties放入classpath即可
- 对于多数项目,都可以放到src或resources目录下,编译时IDE会自动将其复制到classpath中。
- 除了配置文件外,还可以使用环境变量HANLP_ROOT来设置root
二. Python配置及调用
1. 安装(HanLP的Python接口,支持自动下载与升级HanLP,兼容py2、py3。)
pip install pyhanlp
hanlp
2. 命令行
中文分词
使用命令hanlp segment进入交互分词模式,输入一个句子并回车,HanLP会输出分词结果
$ hanlp segment
商品和服务
商品/n 和/cc 服务/vn
可以重定向输入输出到文件
$ hanlp segment <<< '欢迎新老师生前来就餐'
欢迎/v 新/a 老/a 师生/n 前来/vi 就餐/vi
依存句法分析
命令为hanlp parse,同样支持交互模式和重定向
$ hanlp parse <<< '徐先生还具体帮助他确定了把画雄鹰、松鼠和麻雀作为主攻目标。'
服务器
hanlp serve
浏览器访问http://localhost:8765
升级
hanlp update
API
from pyhanlp import *
print(HanLP.segment('你好,欢迎在Python中调用HanLP的API'))
for term in HanLP.segment('下雨天地面积水'):
print('{}\t{}'.format(term.word, term.nature)) # 获取单词与词性
# 关键词提取
document = "水利部水资源司司长陈明忠9月29日在国务院新闻办举行的新闻发布会上透露," \
"根据刚刚完成了水资源管理制度的考核,有部分省接近了红线的指标," \
"有部分省超过红线的指标。对一些超过红线的地方,陈明忠表示,对一些取用水项目进行区域的限批," \
"严格地进行水资源论证和取水许可的批准。"
print(HanLP.extractKeyword(document, 2))
# 自动摘要
print(HanLP.extractSummary(document, 3))
# 依存句法分析
print(HanLP.parseDependency("徐先生还具体帮助他确定了把画雄鹰、松鼠和麻雀作为主攻目标。"))
更多功能
- 自定义词典
- 极速词典分词
- 索引分词
- CRF分词
- 感知机词法分析
- 臺灣正體、香港繁體
- 关键词提取、自动摘要
- 文本分类、情感分析
请阅读HanLP主项目文档和demos目录以了解更多。调用更底层的API需要参考Java语法用JClass引入更深的类路径
与其他项目共享data
HanLP具备高度可自定义的特点,所有模型和词典都可以自由替换。如果你希望与别的项目共享同一套data,只需将该项目的配置文件hanlp.properties
拷贝到pyhanlp的安装目录下即可。本机安装目录可以通过hanlp --version
获取。
同时,还可以通过--config
临时加载另一个配置文件:
hanlp segment --config path/to/another/hanlp.properties
三. 词典说明
HanLP中的数据分为词典和模型,其中词典是词法分析必需的,模型是句法分析必需的。
用户可以自行增删替换,如果不需要句法分析等功能的话,随时可以删除model文件夹。
参考 HanLP