HanLP环境搭建
2019-06-06 版本V1.0
文章目录
一、基于java的HanLP的环境搭建
参考链接:http://www.hankcs.com/nlp/hanlp.html
方式一:通过Maven工程的pom.xml
<dependency>
<groupId>com.hankcs</groupId>
<artifactId>hanlp</artifactId>
<version>portable-1.7.0</version>
</dependency>
测试时,1.7.3失败,所以改为1.7.0
可以实现基本的功能(除去CRF分词和依存句法分析)
方式二:下载jar、data、hanlp.properties
将数据和程序分离,用户可以自定义
1、下载data.zip
本机文件位置:E:\data
下载后解压到任意目录,接下来通过配置文件告诉HanLP数据包的位置
data
| -- dictionary
| -- model
用户可以自行增删替换,如果不需要句法分析等功能的话,随时可以删除model文件夹。
- 模型跟词典没有绝对的区别,隐马模型被做成人人都可以编辑的词典形式,不代表它不是模型。
- GitHub代码库中已经包含了data.zip中的词典,直接编译运行自动缓存即可;模型则需要额外下载。
2、下载jar和配置文件:hanlp-release.zip
配置文件的作用是告诉HanLP数据包的位置,只需修改第一行
由于我的data目录为 E:\data,所以配置文件(E:\hanlp-1.7.3-release\hanlp.properties)的第一行为:*root=E:* (需要注意python调用时需要把data放到工程文件下,相应的配置文件的root配置的也不一样)
最后将hanlp.properties放入classpath即可,对于多数项目,都可以放到src或resources目录下,编译时IDE会自动将其复制到classpath中。除了配置文件外,还可以使用环境变量HANLP_ROOT来设置root。
测试:
github上下载:https://github.com/hankcs/HanLP
在src/test/java/com/hankcs/demo 下会有相应的demo进行测试
本机文件位置:E:\HanLP
里面的一些测试,需要下载相应的语料,放到:E:\HanLP\data\test中便于训练使用
二、基于python的HanLp的环境搭建
Anaconda基础上安装
conda install -c conda-forge jpype1
@jpype是为了便于调用jar包
pip install pyhanlp
测试:
调用HanLP
from jpype import *
startJVM(getDefaultJVMPath(), "-Djava.class.path=E:\hanlp-1.7.3-release\hanlp-1.7.3.jar;E:\hanlp", "-Xms1g", "-Xmx1g")
HanLP = JClass('com.hankcs.hanlp.HanLP')
- 注意:其中的 -Djava.class.path 后面跟的是jar包的位置
- 需要将HanLP用到的data复制一份到工程内
- 修改hanlp.properties文件中的root,为工程内的data路径
以依存句法为例:
from jpype import
*startJVM(getDefaultJVMPath(), "-Djava.class.path=E:\hanlp-1.7.3-release\hanlp-1.7.3.jar;E:\hanlp", "-Xms1g", "-Xmx1g")
HanLP = JClass('com.hankcs.hanlp.HanLP')
print(HanLP.parseDependency("徐先生还具体帮助他确定了把画雄鹰、松鼠和麻雀作为主攻目标。"))#该行可删除
f = open("ab.txt",'w', encoding='utf-8')
print((HanLP.parseDependency("徐先生还具体帮助他确定了把画雄鹰、松鼠和麻雀作为主攻目标。")),file = f)
f.close()
依存句法可视化工具的使用:DependencyViewer
利用工具将文件ab.txt打开
[外链图片转存失败(img-LEjJCfvH-1562570411246)(en-resource://database/453:1)]@w=500h=300