菜鸟如何使用Hanlp

boss给了个做分词的任务,最开始想用的是结巴分词and正则表达式。后来发现结果并不好,需要一遍一遍筛选【第一个标准筛选出80%的数据,然后制定第二个标准,继续筛选,然后制定第三个标准筛选,等等等等】

自己用了一下结巴分词,感觉对于人名,地名,机构名,只是泛泛地使用了一下。在实际分开的时候,并不能很好地分开机构名称。于是转而使用hanlp分词

但是hanlp分词的缺点是只有在java上可以用,但是java一向又是我的弱项。所以在这里写一篇博客从头至尾叙述一下怎么样使用hanlp

而且,小胖胖把我的电脑锁在北师图书馆柜子里了。我工作没有电脑可用,于是使用小胖的电脑,也就是说,所有的基本变量都需要我自己来配来下,因此也相当于是从一张白纸到使用hanlp的过程。

第一步:下载一个jdk

到openjdk官网去下一个,直接安装即可。

安装过后,要配置三个环境变量,分别是

1.JAVA_HOME:C:\Program Files\Java\jdk1.8.0_73

2.CLASSPATH: 就是这个jdk打开之后里面的那个lib的目录

3.PATH:就是jdk后面的bin目录

配置完成之后,在Windows底下的cmd上面,输入java -version看看有没有反应即可判断是否正确安装jdk

【我这里出现了个小问题,在胖胖的电脑里,不知道她之前安装过什么东西,自带了一个jre1.6 然而我安装的是jre1.8 在cmd里面报错,说找不到jre1.6 后来我看了网上的说法,说是也许你别的软件也会下载java环境,所以你可能有许多不同的包,系统在寻找路径的时候,默认会根据你上面配置的环境变量里面找。因此,需要把咱们最新下的那个环境变量放在一大堆环境变量的最前面,尝试即可。】

下载了jdk安装成功之后,第二步,下载eclipse

到官网去找,记住,x86是32位,x64是64位,下载之后设定project的位置【比如我设在了D盘的根目录,结果发现不太好,但是已经改不了了。。教训】

安装成功之后,第三步,去下载hanlp的各种东西

方法1.maven方法,下载一个0配置即可。【但是我不会玩儿】

方法2:先下载hanlp-1.2.8.jar这个jar包

http://hanlp.linrunsoft.com/services.html

再下载data.zip这个数据包,可以选择,选择下载标准数据or迷你数据or全部数据。大小不同。我下的是标准版的。40M

再下载hanlp.properties这个是一个以properties结尾的一个文件,我之前从来没见过,不过可以用txt打开。

第四步:把下载的这些东西导入到eclipse里面去。构建路径

1.把jar包导入到eclipse的lib目录下

http://jingyan.baidu.com/article/ca41422fc76c4a1eae99ed9f.html

2.自己在src里面创建一个包,在包里面创建一个类。包会在我设置的根目录D:/下面,类名称首字母必须大写?【貌似不大写的话,会被否决】

3.把data包解压,然后放在一个自己喜欢的路径【我的路径是D://py/】然后,在hanlp.properties这个文件里,把root修改为data存放的上一级目录。

4.把hanlp.properties拖动到src这个目录下

然后试验了一个demo测试,发现报错,然后点击import import com.hankcs.hanlp.HanLP;

然后run了一下程序,

package test0320;

import com.hankcs.hanlp.HanLP;

public class TestHanlp {

public static void main(String[] args) {

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

}

}

依然报错,发现是没有把properties那个文件导入到bin目录下,再次打开test0320,在那个bin目录下复制properties文件

之后运行,成功了

文章来源于tianbwin2995的博客

原文链接:http://blog.51cto.com/13993767/2295777

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Spark学习技巧

Hive高级优化

1,FetchTask 不执行mapreduce,提高速度 设置的三种方式: 方法一: set hive.fetch.task.conversion=mo...

4537
来自专栏知无涯

PHP程序员应该知道的15个库

4649
来自专栏实战docker

Docker下,极速体验pinpoint1.6.3

pinpoint在分布式系统中的广泛应用,今天来体验pinpoint所提供的监控、调用链跟踪等服务,本次实战只关心体验服务,至于环境如何搭建、服务如何配置,留待...

34610
来自专栏喵了个咪的博客空间

基于PhalApi的DB集群拓展 V0.1bate

#基于PhalApi的DB集群拓展 V0.1bate ? ##前言## 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架...

3007
来自专栏web前端教室

javascript-购物车(2)

大家好,这几天一直加班,好久没有更新微信公众号了。 这次我们继续来讲解“购物车应用”,这次来讲解下它的路由功能。。 它是一个单页应用,所有的操作和页面跳转都是在...

3196
来自专栏java系列博客

编译windows版的openJDK攻略

1.8K3
来自专栏杨建荣的学习笔记

一则数据库无法重启的案例分析(r8笔记第96天)

今天一个开发的同事找到我,说有个问题想咨询一下我,突然想起他昨天让我帮他处理一个工单,他这么一问我才想起来还没做,结果他说是另外一件事,说有个开 发测试的环境,...

3676

使用Kafka SQL Windowing进行自定义分区和分析

Apache Kafka利用循环技术为多个分区生产信息。其中自定义分区技术常用于为已经定义好的分区生产特定类型的信息,并使生产出来的信息能被特定类型的消费者使用...

2804
来自专栏java一日一条

Java 程序死锁问题原理及解决方案

Java 语言通过 synchronized 关键字来保证原子性,这是因为每一个 Object 都有一个隐含的锁,这个也称作监视器对象。在进入 synchron...

771
来自专栏张善友的专栏

mongodb 总结

生产环境最佳实践 1.linux 系统: 1】关闭文件系统/分区的atime 选项 Vi /etc/fstab 在对应的分区项后面添加noatime ,...

3286

扫码关注云+社区

领取腾讯云代金券