如何在ubuntu使用hanlp

前言

  以前,我对大部分的处理中文分词都是使用python的结巴分词工具,该分词工具是在线调用API, 关于这个的分词工具的原理介绍,我推荐一个好的博客:

http://blog.csdn.net/daniel_ustc/article/details/48195287.

  随着项目的需求,我需要使用斯坦福大学的自然语言处理包standford作依存关系树的构建,然而standford很调皮地不让我做中文分词处理(老报错).无奈之下,我只能使用第三方的分词工具.由于standford的源码是java,我寻找了一个与之对应的分词工具,即hanlp.

HanLP的安装使用

  HanLP的一个很大的好处是离线开源工具包,换而言之,它不仅提供免费的代码免费下载,而且将辛苦收集的词典也对外公开啦,此诚乃一大无私之举.我在安装的时候,主要参照这份博客:

http://m.blog.csdn.net/article/details?id=50938796

  不过该博客主要介绍的是windows如何使用hanlp,而ubuntu是linux的,所以会有所区别.下面我主要介绍的是在unbuntu的安装使用.

安装eclipse

在终端输入 sudo get-apt install eclipse-platform实现一键安装,然后在应用程序找到eclipse

下载hanlp

  访问hanlp的官方网址:http://hanlp.linrunsoft.com/services.html

分别下载hanlp.jar(程序包), data.zip(词典库),hanlp.properties(配置文件),而后面是说明文档,可以不下载

  在下载的data.zip的时候,下载链接有点隐晦,点击蓝色的data-for-1.2.11.zip,就会出现百度云链接啦

导入jar包

导入hanlp到eclipse之中,具体的流程可以参照网址:

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

导入配置文件

将hanlp.propertie复制至项目的bin目录中,修改词典的路径

将root的路径修改至data保存的路径(记得data要解压)

编程代码示范

import java.util.List;

import com.hankcs.hanlp.HanLP;

import com.hankcs.hanlp.seg.Segment;

import com.hankcs.hanlp.seg.common.Term;

public class DemoHanLP {

public static void main(String[] agrs){

String sentence = "大家好, 我的名字叫作Quincy.";

Segment segment = HanLP.newSegment();

List<Term> termList = segment.seg(sentence);

for(Term term : termList){

System.out.print(term+ " ");

}

}

}

运行结果:

文章来源于Quincy1994的博客

原文链接:https://blog.csdn.net/lanlantian123456/article/details/83344366

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏文渊之博

探索SQL Server元数据(一)

  在数据库中,我们除了存储数据外,还存储了大量的元数据。它们主要的作用就是描述数据库怎么建立、配置、以及各种对象的属性等。本篇简单介绍如何使用和查询元数据,如...

1292
来自专栏信安之路

轻松理解什么是 SQL 注入

作为长期占据 OWASP Top 10 首位的注入,OWASP 对于注入的解释如下:

960
来自专栏cs

知识点找回2.0

Servlet(server Applet),全称Java Servlet, 是用java编写的服务器端程序。而这些Servlet都要实现Servlet的这个借...

841
来自专栏哲学驱动设计

MIS性能优化常见问题与方案(辅助项目组性能优化的总结贴)

最近帮忙公司的几个项目组进行了不同方面的性能优化,发现几个项目都出现了一些共性的问题。这里写一篇文章,总结一下这几类问题,以及其对应的解决方案。方便其它项目组参...

2266
来自专栏简书专栏

Python爬虫实战示例-51job和豆瓣电影

命令:conda create -n {} python={}第一对大括号替换为环境的命名,第二对大括号替换为python的版本号 例如:conda crea...

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

MySQL中批量初始化数据的对比测试(r12笔记第71天)

一直以来对于MySQL的存储过程性能还是颇有微词的,说实话够慢的。有时候想做一些对比测试,存储过程初始化几万条数据都得好一会儿,这功夫Oracle类似的测试...

3297
来自专栏大内老A

一个完整的用于追踪数据改变的解决方案

在之前一篇介绍CDC的文章中,我说Audit Trail(或者Audit Log)是大部分企业级应用不可以或缺的功能。本篇给你一个完整的Audit Trail解...

2206
来自专栏芋道源码1024

数据库中间件 MyCAT源码分析 —— XA分布式事务

---- 1. 概述 2. XA 概念 3. MyCAT 代码实现 3.1 JDBC Demo 代码 3.2 MyCAT 开启 XA 事务 3.3 MyCAT...

4289
来自专栏北京马哥教育

MySQL架构

1.MySQL整体逻辑架构 我们先下图看看MySQL整体逻辑架构(MySQL’s Logical Architecture) ? ...

3538
来自专栏L宝宝聊IT

MySQL架构组成、逻辑模块组成

Mysql逻辑结构可以看成是二层架构,第一层通常叫做SQL Layer,在mysql数据库系统处理底层数据之前的所有工作都在这一层完成的,包括权...

873

扫码关注云+社区

领取腾讯云代金券