关于 Hanlp
https://github.com/hankcs/HanLP
https://www.hanlp.com
Hanlp 功能完善、性能高效、架构 清晰、语料时新、可自定义。
功能:中文分词 词性标注 命名实体识别 依存句法分析 关键词提取 新词发现 短语提取 自动摘要 文本分类 拼音简繁。
(相比之下,jieba 没有依存句法分析)
版本
开发语言
- 本地开发语言为C++和Python
- 用C++实现基础数据结构(双数组trie树)
- 用Python构建神经网络动态图
- 为任何开发语言提供RESTful API
- 自研高性能服务器
- 官方提供Java和Python客户端
- 其他语言依赖社区贡献
- 利用swig实现语言接口
- 双数组字典树/AC自动机词典匹配是 HanLP1.x 的优良传统
- 在2.0中将利用C+ +实现高效算法,用SWIG实现Python语言的接口
安装
安装 2.0+
(base) $ sudo pip install hanlp
安装 1.0+
1、安装 Java
2、安装 Jpype
(base) $ pip install JPype1==0.7.0
2021.05.01 安装时如果不指定版本,最新是 1.2.1 版本;
函数和旧版本不同,资料也少,所以建议使用上述方式安装。
Jpype:python 调用 java 的工具包
http://jpype.sourceforge.net
测试
from jpype import *
startJVM(getDefaultJVMPath(), "-ea")
java.lang.System.out.println("Hello World")
shutdownJVM()
3、安装 hanlp
1)下载 hanlp.jar 包
https://github.com/hankcs/HanLP
2)下载 data.zip
https://github.com/hankcs/HanLP/releases
3)配置文件
win 用户需要注意配置文件的路径斜杠为linux样式 /
,python 文件中,startJVM 中 hanlp 的路径为系统的路径样式。
重点是修改 root 地址
#本配置文件中的路径的根目录,根目录+其他路径=完整路径(支持相对路径,请参考:https://github.com/hankcs/HanLP/pull/254)
#Windows用户请注意,路径分隔符统一使用/
root=/Users/xx/repos/nlp_rsc/hanlp
#D:\ifchange\parsenoun\hanlp
#核心词典路径
CoreDictionaryPath=data/dictionary/CoreNatureDictionary.txt
#2元语法词典路径
BiGramDictionaryPath=data/dictionary/CoreNatureDictionary.ngram.txt
#停用词词典路径
CoreStopWordDictionaryPath=data/dictionary/stopwords.txt
#同义词词典路径
CoreSynonymDictionaryDictionaryPath=data/dictionary/synonym/CoreSynonym.txt
#人名词典路径
PersonDictionaryPath=data/dictionary/person/nr.txt
#人名词典转移矩阵路径
PersonDictionaryTrPath=data/dictionary/person/nr.tr.txt
#繁简词典根目录
tcDictionaryRoot=data/dictionary/tc
#自定义词典路径,用;隔开多个自定义词典,空格开头表示在同一个目录,使用“文件名 词性”形式则表示这个词典的词性默认是该词性。优先级递减。
#另外data/dictionary/custom/CustomDictionary.txt是个高质量的词库,请不要删除。所有词典统一使用UTF-8编码。
CustomDictionaryPath=data/dictionary/custom/CustomDictionary.txt; 现代汉语补充词库.txt; 全国地名大全.txt ns; 人名词典.txt; 机构名词典.txt; resume_nouns.txt; 上海地名.txt ns;data/dictionary/person/nrf.txt nrf;
#CRF分词模型路径
CRFSegmentModelPath=data/model/segment/CRFSegmentModel.txt
#HMM分词模型
HMMSegmentModelPath=data/model/segment/HMMSegmentModel.bin
#分词结果是否展示词性
ShowTermNature=true
#IO适配器,实现com.hankcs.hanlp.corpus.io.IIOAdapter接口以在不同的平台(Hadoop、Redis等)上运行HanLP
#默认的IO适配器如