中文分词

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

下载jar、property和data文件

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

其中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.}

目录结构如下图:

如果是在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目录下的那我就改这个就可以了,其余的配置不用修改

运行成功如下图:

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

作者:学zaza

配置Hanlp自然语言处理进阶的更多相关文章

  1. HanLP 自然语言处理 for nodejs

    HanLP 自然语言处理 for nodejs ·支持中文分词(N-最短路分词.CRF分词.索引分词.用户自定义词典.词性标注),命名实体识别(中国人名.音译人名.日本人名.地名.实体机构名识别),关 ...

  2. GitHub10岁之际HanLP自然语言处理包用户量跃居榜首

    在本周,GitHub终于度过了属于它自己的十周岁生日.这个在2008年由3个来自旧金山的年轻人创建的基于Git的代码托管网站,先后超越了元老级的SourceForge和背景强大的Google Code ...

  3. Vue基础二之全局API、实例属性和全局配置,以及组件进阶(mixins)的详细教程(案列实现,详细图解,附源码)

    本篇文章主要是写Vue.directive().Vue.use()等常用全局API的使用,vm.$props.vm.$options.vm.$slots等实例属性的使用,以及Vue全局配置.组件的mi ...

  4. 全球名校AI课程库(38)| 马萨诸塞大学 · 自然语言处理进阶课程『Advanced Natural Language Processing』

    课程学习中心 | NLP课程合辑 | 课程主页 | 中英字幕视频 | 项目代码解析 课程介绍 自然语言处理 (NLP) 是一门关于如何教计算机理解人类语言的工程艺术和科学.NLP 作为一种人工智能技术 ...

  5. HanLP自然语言处理包介绍

    支持中文分词(N-最短路分词.CRF分词.索引分词.用户自定义词典.词性标注),命名实体识别(中国人名.音译人名.日本人名.地名.实体机构名识别),关键词提取,自动摘要,短语提取,拼音转换,简繁转换, ...

  6. HanLP自然语言处理包开源(包含源码)

    支持中文分词(N-最短路分词.CRF分词.索引分词.用户自定义词典.词性标注),命名实体识别(中国人名.音译人名.日本人名.地名.实体机构名识别),关键词提取,自动摘要,短语提取,拼音转换,简繁转换, ...

  7. hanlp自然语言处理包的基本使用--python

    hanlp拥有:中文分词.命名实体识别.摘要关键字.依存句法分析.简繁拼音转换.智能推荐. 这里主要介绍一下hanlp的中文分词.命名实体识别.依存句法分析,这里就不介绍具体的hanlp的安装了,百度 ...

  8. Hanlp自然语言处理工具的使用演练

    Hanlp是由一系列模型与算法组成的工具包,目标是普及自然语言处理在生产环境中的应用.Hanlp具备功能完善.性能高效.架构清洗.语料时新.可自定义的特点:提供词法分析(中文分词.磁性标注.命名实体识 ...

  9. Eclipse myeclipse下配置HanLP的教程

    一.说明 博主的配置 1:window10 2:myeclipse 3:jdk1.8 备注:文章分享自贾继康的博客,博客使用的hanlp是1.6.8的版本.大家可以去下载最新的1.7版本了,也比较推荐 ...

随机推荐

  1. 2019-04-02-day024-内置方法

    昨日回顾 反射 用"字符串"类型的属性名/方法名来找到 属性的值或者方法的内存地址 所有可以反射的内容实际上都是变量 有内存地址 内存地址存的是"具体的值",直 ...

  2. Java学习笔记22(List接口)

    List接口继承自Collection接口,自身具有三大特点: 1.有序集合:存入和取出的顺序一致: 2.此接口的用户可以对每个元素插入位置进行精确控制:可以通过索引操作元素 3.可以存储重复元素 L ...

  3. SpringBoot(一) 入门篇,简单配置

    编辑工具:Intellij IDEA 一.SpringBoot的应用: 1.创建文件 2.项目结构 3.开始构建springboot项目,项目结构 第一步创建Person类: package com. ...

  4. python socket 编程之三:长连接、短连接以及心跳(转药师Aric的文章)

    长连接:开启一个socket连接,收发完数据后,不立刻关闭连接,可以多次收发数据包. 短连接:开启一个socket连接,收发完数据后,立刻关闭连接. 心跳:长连接在没有数据通信时,定时发送数据包(心跳 ...

  5. Spring、Commons的BeanUtils.copyProperties用法

    如果两个对象A.B的大部分属性的名字都一样,此时想将A的属性值复制给B,一个一个属性GET\SET代码量太大,可以通过复制属性的方式减小工作量,同时代码看起来更加简洁明了,复制属性可以用Spring或 ...

  6. 【opencv基础】linux系统卸载opencv

    找到opencv某个版本的源码文件,进入build目录: cd opencv_build sudo make uninstall cd .. sudo rm -r build sudo rm -r / ...

  7. Hive错误:User root is not allowed to impersonate anonymous

    修改hadoop 配置文件 etc/hadoop/core-site.xml,加入如下配置项: <property> <name>hadoop.proxyuser.root.h ...

  8. SkyWalking+SkyApm-dotnet分布式链路追踪系统

    SkyWalking+SkyApm-dotnet分布式链路追踪系统 对于普通系统或者服务来说,一般通过打日志来进行埋点,然后再通过elk或splunk进行定位及分析问题,更有甚者直接远程服务器,直接操 ...

  9. Mybatis(七)-- LRU LFU 算法

    这篇博客主要介绍LRU LFU 算法,因为在Mybatis的缓存中会用到,所以放到这个系列中了.此外,这是我翻译的一篇文章,觉得原文已经写的很好了,所以就直接翻译一下,留作知识整理. 英文原文出处如下 ...

  10. Go Example--限速

    package main import ( "fmt" "time" ) func main() { requests := make(chan int, 5) ...