ICTCLA中科院分词工具用法(java)
摘要:为解决中文搜索的问题,最开始使用PHP版开源的SCWS,但是处理人名和地名时,会出现截断人名地名出现错误。开始使用NLPIR分词,在分词准确性上效果要比SCWS好。本文介绍如何在windows系统下编译JAVA ,生成可以执行的jar文件。

NLPIR的下载地址:
http://ictclas.nlpir.org/downloads
GitHub的地址:
https://github.com/NLPIR-team/NLPIR
两个版本有一些不同,本文将分别讲解如何利用Eclipse建立工程。
一、NLPIR官方版本
下载后文件夹中bin目录,如下图所示,其中NLPIR_WinDemo.exe是一个NLPIR的演示程序,可以尝试运行,了解NLPIR的功能。

工程源码在sample目录下,包含C、C++、Hadoop、JAVA、Python等语言示例。
用Eclipse新建一个工程导入JAVA工程目录JnaTest_NLPIR,
(1)Eclipse -> File->import

(2)选择JnaTest_NLPIR所在的路径,点击Finish

(3)查看Eclipse工程

(4)NlpirTest.java文件中包含main函数,下面的语句初始化NLPIR需要的库文件

CLibrery类是包含在NlpirTest.java文件中,
CLibrary Instance = (CLibrary) Native.loadLibrary("H:\\workspace\\ictclas\\1\\ICTCLAS2015\\lib\\win64\\NLPIR", CLibrary.class);
函数loadLibrary需要传递库文件位置,源码提供了多种语言类库,我们的工程需要加载win64类库,该文件夹内容如下,

(5)加载分词数据Data文件夹路径
String argu = "H:\\workspace\\ictclas\\1\\ICTCLAS2015";
String system_charset = "UTF-8";
int charset_type = 1;
int init_flag = CLibrary.Instance.NLPIR_Init(argu, charset_type, "0");
H:\\workspace\\ictclas\\1\\ICTCLAS2015是Data文件夹的父文件夹。
这步骤完成后,你就可以调试代码了。有关API可以阅读手册。
二、github上下载的代码
目录中包含了NLPIR SDK目录,每一个目录是NLPIR提供的一个组件。NLPIR-ICTCLAS目录包含NLPIR组件的代码。
在Eclipse中导入ICTCLAS_java工程,工程目录如下图

工程中没有填写main函数,可以在NlpirTest.java文件中,加入main函数

public class NlpirTest {
public static void main(String[] args) throws Exception{
NlpirTest t = new NlpirTest();
t.testParticiple();
}
public void testParticiple() throws IOException {
.....
}
.......
}

和官方网站不同,加载库文件可以自动判断系统类型,在工程当前目录下查找库文件。“工程当前目录”的win32、win64、linux32、linux64都是包含库文件的文件夹。
同时会自动加载“工程当前目录“下Data问佳佳为分词数据目录。这些目录设置好,就可以进行调试工作了。
三、在github中"查找关键字"的组件Key_Extract
工程目录如下,

project中提供java版本的示例代码,利用Eclipse导入工程

同样在KeyExtractor.java文件中添加main函数。KeyExtract_GetKeyWords的第一个参数是需要提取关键字的文本,第二参数是关键字的个数。
public static void main(String[] args) {
String keyWordsStr = CLibraryKeyExtractor.instance.KeyExtract_GetKeyWords(args[0], 10, true);
System.out.println(keyWordsStr);
CLibraryKeyExtractor.instance.KeyExtract_Exit();
}
在工程的当前文件夹下,有一个Data目录,是分词和提取关键词需要用到的分词数据。需要将需要的license考入到这个文件夹。你可以不用区分用到哪一个user文件,建议把全部文件都考到当前工程目录Data文件夹中。

这些设置完成,在Eclipse中传入参数,菜单项run-->run configure。

四、导出jar
Eclipse工程目录上,右键选择Export

选择runnablejar,生成jar文件

之后就可以利用cmd执行,传递参数,效果如下

转自:http://www.cnblogs.com/jbexploit/p/4572791.html
ICTCLA中科院分词工具用法(java)的更多相关文章
- Java实现敏感词过滤 - IKAnalyzer中文分词工具
IKAnalyzer 是一个开源的,基于java语言开发的轻量级的中文分词工具包. 官网: https://code.google.com/archive/p/ik-analyzer/ 本用例借助 I ...
- 中文分词工具探析(一):ICTCLAS (NLPIR)
1. 前言 ICTCLAS是张华平在2000年推出的中文分词系统,于2009年更名为NLPIR.ICTCLAS是中文分词界元老级工具了,作者开放出了free版本的源代码(1.0整理版本在此). 作者在 ...
- 转载:Hadoop排序工具用法小结
本文转载自Silhouette的文章,原文地址:http://www.dreamingfish123.info/?p=1102 Hadoop排序工具用法小结 发表于 2014 年 8 月 25 日 由 ...
- ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆AnalyzerTool分词工具.非常实用!
AnalyzerTool分词工具.非常实用! 可以查看某串字符最终被分割成什么样子,这样便于查询时深刻明白为什么有的查不到有的却能查到. package com.isoftstone.www.tool ...
- 开源中文分词工具探析(三):Ansj
Ansj是由孙健(ansjsun)开源的一个中文分词器,为ICTLAS的Java版本,也采用了Bigram + HMM分词模型(可参考我之前写的文章):在Bigram分词的基础上,识别未登录词,以提高 ...
- 开源中文分词工具探析(四):THULAC
THULAC是一款相当不错的中文分词工具,准确率高.分词速度蛮快的:并且在工程上做了很多优化,比如:用DAT存储训练特征(压缩训练模型),加入了标点符号的特征(提高分词准确率)等. 1. 前言 THU ...
- 开源中文分词工具探析(五):FNLP
FNLP是由Fudan NLP实验室的邱锡鹏老师开源的一套Java写就的中文NLP工具包,提供诸如分词.词性标注.文本分类.依存句法分析等功能. [开源中文分词工具探析]系列: 中文分词工具探析(一) ...
- 开源中文分词工具探析(五):Stanford CoreNLP
CoreNLP是由斯坦福大学开源的一套Java NLP工具,提供诸如:词性标注(part-of-speech (POS) tagger).命名实体识别(named entity recognizer ...
- 开源中文分词工具探析(七):LTP
LTP是哈工大开源的一套中文语言处理系统,涵盖了基本功能:分词.词性标注.命名实体识别.依存句法分析.语义角色标注.语义依存分析等. [开源中文分词工具探析]系列: 开源中文分词工具探析(一):ICT ...
随机推荐
- linux之echo命令
linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的, 因此有必要了解下echo的用法 echo命令的功能是在显示器上显示一段文字,一般起到一个提示 ...
- codeblock报__objc_class_name_xxx问题
添加来一个class文件,在其他文件调用时,报下面这个错误: undefined reference to `__objc_class_name_Test' 右击Test这个类的文件弹出Propert ...
- Java 默认/缺省 内存大小,如果没有 -Xms -Xmx
命令 java -XX:+PrintCommandLineFlags -version 会直观的输出下面默认值 -XX:InitialHeapSize=16336768 -XX:MaxHeapSize ...
- SQL Server常见基础操作
1. 常见针对表的操作(增删改查) --1. Create Table USE [MVC_000] CREATE TABLE T_TableName ( ID ,) PRIMARY KEY, Name ...
- VB6 GDI+ 入门教程[2] GDI+初始化
http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[2] GDI+初始化 2009 年 6 月 18 日 7 ...
- JavaScript及C# URI编码详解
转载自:http://www.cnblogs.com/artwl/archive/2012/03/07/2382848.html 应用Uri编码,可以把一个或多个Uri作为另一个Uri的参数(如果不用 ...
- robot API笔记3
robot.htmldata package 包编写HTML格式的输出文件. 这个包被认为是稳定的但不是公共API的一部分. Submodules robot.htmldata.htmlfilewri ...
- robotframework笔记10
循环和条件 for循环 *** Settings *** Library BuiltIn Library Collections *** Test Cases *** TestCase01 My Ke ...
- 关于iOS7 设计师需要了解的十件事
在今年的WWDC上,苹果推出了采用全新设计语言打造的iOS7.新系统弃用了诸如皮革.木质一类的伪3D拟真效果,取而代之的是更加简洁轻量的设计路线,其中文字排版成了重头戏,另外在某些方面也受到了扁平化设 ...
- cookie、sessionStorage、localStorage区别
相同:不管sessionStorage localStorage 还是 cookie 都是存储用户数据的. 不同: 1.cookie的存储空间小, cookie的数据是会通过http请求带到服务器的( ...