1、Hanlp介绍
Hanlp是一款中文自然语言处理工具。Hanlp支持多种自然语言处理任务,包括分词、词性标注、命名实体识别、依存句法分析、情感分析、文本分类等。其主要优点包括:
- 高准确率:Hanlp采用了基于神经网络的分词方法,有效提高了分词的准确率和速度。
- 广泛覆盖:Hanlp支持多种自然语言处理任务,包括分词、词性标注、命名实体识别、依存句法分析、情感分析、文本分类等,能够满足大部分的自然语言处理需求。
- 多语种支持:Hanlp支持多种语言的处理,如中文、英文、日文等,可应用于多语言环境下的自然语言处理任务。
- 易于集成:Hanlp提供了丰富的API接口和开箱即用的模型,易于集成到Java项目中,并且支持Python、Go、C++等多种编程语言的使用。
总之,Hanlp是一款功能强大、易于集成的中文自然语言处理工具,并且具有广泛的应用场景。
2、问题背景
最近工作上需要用到hanlp这个包,因此开始踩坑之路……
ModuleNotFoundError: No module named 'hanlp'报错
pip install pyhanlp安装报错
3、解决方法
步骤1:安装JPype1,但是使用pip install JPype1命令安装报错。
解决方法:找对应Python版本的jypel的whl,下载链接:https://www.lfd.uci.edu/~gohlke/pythonlibs/
根据自己得python版本选择下载对应的安装包: pip install JPype1-1.2.0-cp36-cp36m-win_amd64.whl
注:安装时,whl后缀也需要带上。
检测是否安装成功(运行成功即可):
import jpype
jvmPath=jpype.getDefaultJVMPath()
print(jvmPath) # D:\jdk\bin\server\jvm.dll
安装完成后,此时安装pip install pyhanlp,还是报错。
步骤2:源码编译安装
进入官网下载源代码zip ,然后解压到Python包中。链接地址:mirrors / hankcs / HanLP · GitCode
解压之后,在解压后的安装目录
D:\python3.6.6\Lib\site-packages\HanLP-doc-zh(这是安装目录)执行:
python setup.py install
开始执行编译安装。
安装过程会报错,需要安装torch,去Python安装包大全里面下载安装即可。
Python安装包大全:https://www.lfd.uci.edu/~gohlke/pythonlibs/
再执行:python setup.py install,还是有点小问题,但是运行代码不在报这个错了:ModuleNotFoundError: No module named 'hanlp'。
继续踩坑………………
步骤3:HanLP安装
下载jar配置文件hanlp.jar包和data数据,地址:Releases · hankcs/HanLP · GitHub
下图点击下载就可以了:
下载后先将hanlp-1.8.4-release安装包解压到本地,并重命名为hanlp_package(任意取),并将data-for-1.7.5.zip解压后的data文件夹放到hanlp_package安装包中。
接着,修改hanlp.properties配置文件,将里面的默认路径改为你本地路径即可:
注:HanLP的路径在"D:\software\hannlp"(最好路径中不要带中文)
4、HanLP代码测试
from jpype import *
startJVM(getDefaultJVMPath(), "-Djava.class.path=D:\software\hannlp\hanlp-1.7.2.jar;D:\software\hannlp",
"-Xms1g",
"-Xmx1g") # 启动JVM,Linux需替换分号;为冒号:
print("=" * 30 + "HanLP分词" + "=" * 30)
HanLP = JClass('com.hankcs.hanlp.HanLP')
# 中文分词
print(HanLP.segment('小明毕业于北京理工大学,后就职与中国科学院大数据研究所。'))
print("-" * 70)
shutdownJVM()
运行结果:
==============================HanLP分词==============================
[小明/nz, 毕业/v, 于/p, 北京理工大学/ntu, ,/w, 后/f, 就职/vi, 与/cc, 中国科学院/nt, 大/a, 数据/n, 研究所/nis, 。/w]
----------------------------------------------------------------------
但此时还是不能导入pyhanlp,运行程序报错。执行命令安装pip install pyhanlp,还是报错。
重启一下,再执行pip install pyhanlp,安装成功,解决!!!
代码测试:
from pyhanlp import *
conten_list = HanLP.parseDependency("小明毕业于北京理工大学,后就职与中国科学院大数据研究所。")
print(conten_list)
运行结果:
1 小明 小明 nh nr _ 2 主谓关系 _ _
2 毕业 毕业 v v _ 0 核心关系 _ _
3 于 于 p p _ 2 动补结构 _ _
4 北京理工大学 北京理工大学 ni ntu _ 3 介宾关系 _ _
5 , , wp w _ 2 标点符号 _ _
6 后 后 nd f _ 7 状中结构 _ _
7 就职 就职 v v _ 2 并列关系 _ _
8 与 与 p p _ 11 左附加关系 _ _
9 中国科学院 中国科学院 ni nt _ 10 定中关系 _ _
10 大数据 大数据 n n _ 11 定中关系 _ _
11 研究所 研究所 n n _ 7 并列关系 _ _
12 。 。 wp w _ 2 标点符号 _ _
5、小结
综上,以上踩坑步骤,即可解决pip install pyhanlp安装报错 或 ModuleNotFoundError: No module named 'hanlp'报错问题。