菜鸟如何使用hanlp做分词的过程记录

最近在学习hanlp的内容,准备在节后看看有没有时间整理一波hanlp分享下,应该还是会像之前分享DKHadoop一样的方式吧。把整个学习的过程中截图在配文字的方式搞一下。

这两天也在看一些其他人分享的hanlp学习和使用分享的文章,后面看到的分享也会转载分享给大家。今天分享的这篇也是很早前别人分享的一篇如何用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包【备注,目前hanlp版本已经发布到了portable-1.6.8

http://hanlp.com/

再下载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了一下程序

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

转载自tianbwin2995 的博客

菜鸟如何使用hanlp做分词的过程记录的更多相关文章

  1. lucene6+HanLP中文分词

    1.前言 前一阵把博客换了个模版,模版提供了一个搜索按钮,这让我想起一直以来都想折腾的全文搜索技术,于是就用lucene6.2.1加上HanLP的分词插件做了这么一个模块CSearch.效果看这里:h ...

  2. 全文检索Solr集成HanLP中文分词

    以前发布过HanLP的Lucene插件,后来很多人跟我说其实Solr更流行(反正我是觉得既然Solr是Lucene的子项目,那么稍微改改配置就能支持Solr),于是就抽空做了个Solr插件出来,开源在 ...

  3. Elasticsearch:hanlp 中文分词器

    HanLP 中文分词器是一个开源的分词器,是专为Elasticsearch而设计的.它是基于HanLP,并提供了HanLP中大部分的分词方式.它的源码位于: https://github.com/Ke ...

  4. IK的整个分词处理过程

    首先,介绍一下IK的整个分词处理过程: 1. Lucene的分词基类是Analyzer,所以IK提供了Analyzer的一个实现类IKAnalyzer.首先,我们要实例化一个IKAnalyzer,它有 ...

  5. 全文检索Solr集成HanLP中文分词【转】

    以前发布过HanLP的Lucene插件,后来很多人跟我说其实Solr更流行(反正我是觉得既然Solr是Lucene的子项目,那么稍微改改配置就能支持Solr),于是就抽空做了个Solr插件出来,开源在 ...

  6. HanLP的分词统计

    HanLP的分词效果鄙人研究了HanLP,他的分词效果确实还可以,而且速度也比较快,10的数据是9000毫秒 @SneakyThrows@Overridepublic LinkedHashMap< ...

  7. 升级Windows 10 正式版过程记录与经验

    升级Windows 10 正式版过程记录与经验 [多图预警]共50张,约4.6MB 系统概要: 预装Windows 8.1中文版 64位 C盘Users 文件夹已经挪动到D盘,并在原处建立了符号链接. ...

  8. 双系统Ubuntu分区扩容过程记录

    本人电脑上安装了Win10 + Ubuntu 12.04双系统.前段时间因为在Ubuntu上做项目要安装一个比较大的软件,导致Ubuntu根分区的空间不够了.于是,从硬盘又分出来一部分空间,分给Ubu ...

  9. 升级到 ExtJS 5的过程记录

    升级到 ExtJS 5的过程记录   最近为公司的一个项目创建了一个 ExtJS 5 的分支,顺便记录一下升级到 ExtJS 5 所遇到的问题以及填掉的坑.由于 Sencha Cmd 的 sencha ...

随机推荐

  1. springsecurity的退出登陆

    登陆成功就有退出,退出的实质就是让session失效 要实现退出登录只需要在spring-security配置文件中在加一行代码就可以了 <!--退出登陆--> <security: ...

  2. MYSQL锁表问题解决

    本文实例讲述了MYSQL锁表问题的解决方法.分享给大家供大家参考,具体如下: 很多时候!一不小心就锁表!这里讲解决锁表终极方法! 案例一 ? 1 mysql>show processlist; ...

  3. python 创建flask项目方法

    Flask是一个基于Python的web框架,它的设计目的是提供Web开发所需的最小功能子集. Flask与别的框架(尤其是采用其他编程语言的框架)的不同之处在于:它没有绑定诸如数据库查询或者表单处理 ...

  4. ftell

    ftell:当前位置rewind:不管文件指向哪,它都会还原指向首部 缓存区的作用:大多数情况下是好事,合并系统调用行缓冲:换行.满了.强制(标准输出)刷新全缓冲:满了.强制(默认,只要不是终端)刷新 ...

  5. 解决 canvas 将图片转为base64报错

    var canvas=document.getElementById("canvas"),//获取canvas ctx = canvas.getContext("2d&q ...

  6. 后门技术(HOOK篇)之DT_RPATH

    0x01 GNU ld.so动态库搜索路径 参考材料:https://en.wikipedia.org/wiki/Rpath 下面介绍GNU ld.so加载动态库的先后顺序: LD_PRELOAD环境 ...

  7. Java设计模式(二)

    3.设计模式分类 通常来说设计模式分为三大类,共23种:   1.工厂模式 工厂模式(Factory Pattern)的意义就跟它的名字一样,在面向对象程序设计中,工厂通常是一个用来创建其他对象的对象 ...

  8. c标签取数组中的对象值的2种方法

    1:循环遍历 <c:forEach items="${partsDeltailsList}" var="var" varStatus="vs&q ...

  9. Java之从头开始编写简单课程信息管理系统

    编写简单的课程管理系统对于新手并不友好,想要出色的完成并不容易以下是我的一些经验和方法 详情可参考以下链接: https://www.cnblogs.com/dream0-0/p/10090828.h ...

  10. Spark各个版本新特性

    后续会添加spark生态系统中各个组件的兼容支持情况... Spark2.0.0 * 2016-07-27正式发布 * 它是2.x版本线的上的第一个版本. * 300位contributors的超过2 ...