Python3安装pyhanlp最佳解决方法

1、Hanlp介绍

Hanlp是一款中文自然语言处理工具。Hanlp支持多种自然语言处理任务,包括分词、词性标注、命名实体识别、依存句法分析、情感分析、文本分类等。其主要优点包括:

  1. 高准确率:Hanlp采用了CRF模型分词,目前非深度学习方法中最佳的分词效果,対歧义词和未知词的识别效果更优,有效提高了分词的准确率和速度。
  2. 广泛覆盖:Hanlp支持多种自然语言处理任务,包括分词、词性标注、命名实体识别、依存句法分析、情感分析、文本分类等,能够满足大部分的自然语言处理需求。
  3. 多语种支持:Hanlp支持多种语言的处理,如中文、英文、日文等,可应用于多语言环境下的自然语言处理任务。
  4. 易于集成:Hanlp提供了丰富的API接口和开箱即用的模型,易于集成到Java项目中,并且支持Python、Go、C++等多种编程语言的使用。

总之,Hanlp是一款功能强大、易于集成的中文自然语言处理工具,并且具有广泛的应用场景。

HanLP官网

2、问题背景

最近工作上需要用到hanlp这个包,因此开始踩坑之路……

ModuleNotFoundError: No module named 'hanlp'报错

pip install pyhanlp安装报错

Python3安装pyhanlp最佳解决方法_第1张图片

 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后缀也需要带上。

Python3安装pyhanlp最佳解决方法_第2张图片

检测是否安装成功(运行成功即可):

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'。

Python3安装pyhanlp最佳解决方法_第3张图片

 继续踩坑………………

步骤3:HanLP安装

下载jar配置文件hanlp.jar包和data数据,地址:Releases · hankcs/HanLP · GitHub

下图点击下载就可以了:

Python3安装pyhanlp最佳解决方法_第4张图片

 下载后先将hanlp-1.8.4-release安装包解压到本地,并重命名为hanlp_package(任意取),并将data-for-1.7.5.zip解压后的data文件夹放到hanlp_package安装包中。

Python3安装pyhanlp最佳解决方法_第5张图片

 接着,修改hanlp.properties配置文件,将里面的默认路径改为你本地路径即可:

Python3安装pyhanlp最佳解决方法_第6张图片

 注: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,安装成功,解决!!!

Python3安装pyhanlp最佳解决方法_第7张图片

代码测试:

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'报错问题。

你可能感兴趣的:(NLP,python,pyhanlp,Hanlp)