配置Hanlp自然语言处理进阶

简介: 中文分词中有众多分词工具,如结巴、hanlp、盘古分词器、庖丁解牛分词等;其中庖丁解牛分词仅仅支持java,分词是HanLP最基础的功能,HanLP实现了许多种分词算法,每个分词器都支持特定的配置。接下来我将介绍如何配置Hanlp来开启自然语言处理之旅,每个工具包都是一个非常强大的算法集合,所以小编以后将花一些时间去看看里面源码如何。

中文分词

中文分词中有众多分词工具,如结巴、hanlp、盘古分词器、庖丁解牛分词等;其中庖丁解牛分词仅仅支持java,分词是HanLP最基础的功能,HanLP实现了许多种分词算法,每个分词器都支持特定的配置。接下来我将介绍如何配置Hanlp来开启自然语言处理之旅,每个工具包都是一个非常强大的算法集合,所以小编以后将花一些时间去看看里面源码如何。

下载jarpropertydata文件

下载jar文件,(下载hanlp压缩包)解压之后获得jarproperty文件如下:

98472b88748ceda4fffcbca1501fd4dd469abae2 

其中property问配置文件,jar文件为外部引用文件。

然后下载data文件:

https://pan.baidu.com/s/1o8Rri0y (前面的括号自行去掉)

解压压缩包之后就能获取data目录了。

一切就绪之后下面就是配置了。

配置hanlp

新建一个空项目,包括一个新建的java文件的test.java

1.package com;

2.import com.hankcs.hanlp.HanLP;

3.public class Test {

4.public static void main(String[] args) {

5.    System.out.println(HanLP.segment("你好,欢迎使用HanLP"));

6.    }

7.}  

目录结构如下图:

63138312da7623195bf34445bdeb734834a75033 

如果是在linux中的话,你可以将property文件放在classpath中,windows中也可以,配置环境变量,将property文件的绝对路径加上就可以了,然后运行一下这个java文件:

你会发现如下错误

 

1.十二月 11, 2017 9:59:37 下午 com.hankcs.hanlp.HanLP$Config <clinit>

2.严重: 没有找到hanlp.properties,可能会导致找不到data

3.========Tips========

4.请将hanlp.properties放在下列目录:

5.D:\ ideaWorkSpace\ hanlp_mavenHanlp\ target\classes

6.Web项目则请放到下列目录:

7.Webapp/WEB-INF/lib

8.Webapp/WEB-INF/classes

9.Appserver/lib

10.JRE/lib

11.并且编辑root=PARENT/path/to/your/data

 

然后将property放到相应的目录就可以了,注意property配置只需要修改root的配置就行了。

 

1.本配置文件中的路径的根目录,根目录+其他路径=绝对路径Windows用户请注意,路径分隔符统一使用/

2.root=D:/ideaWorkSpace/hanlp_mavenHanlp/src/main/java

 

就比如我的解压后的data文件夹是放在D:/ideaWorkSpace/hanlp_mavenHanlp/src/main/java目录下的那我就改这个就可以了,其余的配置不用修改

 

运行成功如下图:

4b81433aa236c8ea906415a63b25f0d2ddbdcf29 

---------------------

作者:学zaza

 

相关文章
|
自然语言处理
自然语言处理hanlp------3java调用hanlp
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
自然语言处理hanlp------3java调用hanlp
|
自然语言处理 算法 Java
NLP快速入门:手把手教你用HanLP做中文分词
NLP快速入门:手把手教你用HanLP做中文分词
921 0
NLP快速入门:手把手教你用HanLP做中文分词
|
自然语言处理
自然语言处理工具HanLP-基于层叠HMM地名识别
本篇接上一篇内容《HanLP-基于HMM-Viterbi的人名识别原理介绍》介绍一下层叠隐马的原理。首先说一下上一篇介绍的人名识别效果对比: 只有Jieba识别出的人名准确率极低,基本为地名或复杂地名组成部分或复杂机构名组成部分。
1204 0
|
自然语言处理 Python Java
自然语言处理工具python调用hanlp的方法步骤
Python调用hanlp的方法此前有分享过,本篇文章分享自“逍遥自在017”的博客,个别处有修改,阅读时请注意!1.首先安装jpype首先各种坑,jdk和python 版本位数必须一致,我用的是JPype1-py3 版本号0.5.5.2 、1.6jdk和Python3.5,win7 64位下亲测没问题。
1151 0
|
自然语言处理 Docker 容器
HanLP 自然语言处理 for nodejs
·支持中文分词(N-最短路分词、CRF分词、索引分词、用户自定义词典、词性标注),命名实体识别(中国人名、音译人名、日本人名、地名、实体机构名识别),关键词提取,自动摘要,短语提取,拼音转换,简繁转换,文本推荐,依存句法分析(MaxEnt依存句法分析、CRF依存句法分析)
1511 0
|
自然语言处理 Windows
Hanlp自然语言处理工具之词法分析器
本章是接前两篇《分词工具Hanlp基于感知机的中文分词框架》和《基于结构化感知机的词性标注与命名实体识别框架》的。本系统将同时进行中文分词、词性标注与命名实体识别3个任务的子系统称为“词法分析器”。
2432 0
|
缓存 自然语言处理
Hanlp自然语言处理中的词典格式说明
使用过hanlp的都知道hanlp中有许多词典,它们的格式都是非常相似的,形式都是文本文档,随时可以修改。本篇文章详细介绍了hanlp中的词典格式,以满足用户自定义的需要。
4796 0
|
自然语言处理 Java 开发工具
如何编译运行HanLP自然语言处理包
master分支 对于master分支,编译方法如下: git clone  https://github.com/hankcs/HanLP.git mvn install -DskipTests   ·由于目前一些test不够规范,使用了硬编码路径下的资源,所以暂时跳过单元测试。
1326 0
|
自然语言处理 算法 C++
开源自然语言处理工具包hanlp中CRF分词实现详解
 CRF简介 CRF是序列标注场景中常用的模型,比HMM能利用更多的特征,比MEMM更能抵抗标记偏置的问题。 [gerative-discriminative.png]  CRF训练 这类耗时的任务,还是交给了用C++实现的CRF++。
1823 0
|
自然语言处理 算法 程序员
自然语言处理工具hanlp关键词提取图解TextRank算法
TextRank是在Google的PageRank算法启发下,针对文本里的句子设计的权重算法,目标是自动摘要。它利用投票的原理,让每一个单词给它的邻居(术语称窗口)投赞成票,票的权重取决于自己的票数。这是一个“先有鸡还是先有蛋”的悖论,PageRank采用矩阵迭代收敛的方式解决了这个悖论。
1556 0