java调用nlpir_ZH奶酪:Java调用NLPIR汉语分词系统
标签:
NLPIR工具
支持自定义词表;
可以离线使用;
自然语言处理与信息检索共享平台:(nlpir相关的一些软件、文档、论文、语料库等资源)http://www.nlpir.org/
上边这个地址写的信息比较详细丰富,但是万事开头难,很多同学不知道怎么具体应该调用?下边我就把几个步骤简单介绍一下:
Step1、下载
我下载的文件:20141230101836_ICTCLAS2015.zip
Step2、解压
解压后的目录:D:\20141230101836_ICTCLAS2015
Step3、运行调用例子
NLPIR调用的例子在sample目录下,以Java调用的例子(JnaTest_NLPIR)为例:
(1)在Eclipse中导入JnaTest_NLPIR项目;
(2)打开src/code/NlpirTest.java文件,修改第16行和第44行的代码(就是dll的目录,例子中写的是错的);
(★)我下载的这个版本,在win7 64位机器上,win64目录下的dll无法调用,但是win32目录下的dll可以使用;
1 packagecode;2
3 importjava.io.UnsupportedEncodingException;4
5 importutils.SystemParas;6
7 importcom.sun.jna.Library;8 importcom.sun.jna.Native;9
10 public classNlpirTest {11
12 //定义接口CLibrary,继承自com.sun.jna.Library
13 public interface CLibrary extendsLibrary {14 //定义并初始化接口的静态变量
15 CLibrary Instance =(CLibrary) Native.loadLibrary(16 "D:\\20141230101836_ICTCLAS2015\\ICTCLAS2015\\lib\\win32\\NLPIR", CLibrary.class);17
18 public int NLPIR_Init(String sDataPath, intencoding,19 String sLicenceCode);20
21 public String NLPIR_ParagraphProcess(String sSrc, intbPOSTagged);22
23 public String NLPIR_GetKeyWords(String sLine, intnMaxKeyLimit,24 booleanbWeightOut);25 public String NLPIR_GetFileKeyWords(String sLine, intnMaxKeyLimit,26 booleanbWeightOut);27 public int NLPIR_AddUserWord(String sWord);//add by qp 2008.11.10
28 public int NLPIR_DelUsrWord(String sWord);//add by qp 2008.11.10
29 publicString NLPIR_GetLastErrorMsg();30 public voidNLPIR_Exit();31 }32
33 public staticString transString(String aidString, String ori_encoding,34 String new_encoding) {35 try{36 return newString(aidString.getBytes(ori_encoding), new_encoding);37 } catch(UnsupportedEncodingException e) {38 e.printStackTrace();39 }40 return null;41 }42
43 public static void main(String[] args) throwsException {44 String argu = "D:\\20141230101836_ICTCLAS2015\\ICTCLAS2015";45 //String system_charset = "GBK";//GBK----0
46 String system_charset = "UTF-8";47 int charset_type = 1;48
49 int init_flag = CLibrary.Instance.NLPIR_Init(argu, charset_type, "0");50 String nativeBytes = null;51
52 if (0 ==init_flag) {53 nativeBytes =CLibrary.Instance.NLPIR_GetLastErrorMsg();54 System.err.println("初始化失败!fail reason is "+nativeBytes);55 return;56 }57
58 String sInput = "据悉,质检总局已将最新有关情况再次通报美方,要求美方加强对输华玉米的产地来源、运输及仓储等环节的管控措施,有效避免输华玉米被未经我国农业部安全评估并批准的转基因品系污染。";59
60 //String nativeBytes = null;
61 try{62 nativeBytes = CLibrary.Instance.NLPIR_ParagraphProcess(sInput, 1);63
64 System.out.println("分词结果为: " +nativeBytes);65
66 CLibrary.Instance.NLPIR_AddUserWord("要求美方加强对输 n");67 CLibrary.Instance.NLPIR_AddUserWord("华玉米的产地来源 n");68 nativeBytes = CLibrary.Instance.NLPIR_ParagraphProcess(sInput, 1);69 System.out.println("增加用户词典后分词结果为: " +nativeBytes);70
71 CLibrary.Instance.NLPIR_DelUsrWord("要求美方加强对输");72 nativeBytes = CLibrary.Instance.NLPIR_ParagraphProcess(sInput, 1);73 System.out.println("删除用户词典后分词结果为: " +nativeBytes);74
75
76 int nCountKey = 0;77 String nativeByte = CLibrary.Instance.NLPIR_GetKeyWords(sInput, 10,false);78
79 System.out.print("关键词提取结果是:" +nativeByte);80
81 nativeByte = CLibrary.Instance.NLPIR_GetFileKeyWords("D:\\NLPIR\\feedback\\huawei\\5341\\5341\\产经广场\\2012\\5\\16766.txt", 10,false);82
83 System.out.print("关键词提取结果是:" +nativeByte);84
85
86
87 CLibrary.Instance.NLPIR_Exit();88
89 } catch(Exception ex) {90 //TODO Auto-generated catch block
91 ex.printStackTrace();92 }93
94 }95 }
Step4、其他功能和接口,可以查看doc目录下的使用手册。
标签:
java调用nlpir_ZH奶酪:Java调用NLPIR汉语分词系统相关推荐
- ICTCLAS2013(NLPIR汉语分词系统) Java版本的使用方法
这个工具是什么?先看看他的官方介绍吧: NLPIR汉语分词系统(又名ICTCLAS2013),主要功能包括中文分词:词性标注:命名实体识别:用户词典功能:支持GBK编码.UTF8编码.BIG5编码.新 ...
- ZH奶酪:Java调用NLPIR汉语分词系统
NLPIR工具 支持自定义词表: 可以离线使用: 下载地址:http://ictclas.nlpir.org/newsdownloads?DocId=389 在线演示:http://ictclas.n ...
- Python下如何调用NLPIR(ICTCLAS2013)分词系统
NLPIR汉语分词系统-Python下如何调用NLPIR(ICTCLAS2013) 在国内研究自然语言处理的人大概都知道ICTCLAS分词系统的大名.该系统是由张华平博士开发的基于层叠隐性马可夫链的分 ...
- 中科院分词ICTCLAS汉语分词系统简单配置
汉语分词一直来说都是进行文本分析的瓶颈,这里介绍一个汉语分词系统ICTCLAS,全球很受欢迎的汉语分词开源系统,曾获得首界国际分词大赛综合排名第一,国家973评测第一名:支持词典,多级词性标注,支持人 ...
- JAVA调用NLPIR(中科院汉语分词系统)的使用
介绍 最近在查找关于中文分词解析方面的开源工具,最开始找到了腾讯的文智与百度的自然语言,这两个平台都是对外提供HTTP接口调用需要把数据传输过去返回解析结果. 使用这种方式会有两种隐患:1.要确定网络 ...
- java nlpir_4-NLPIR汉语分词系统-JAVA
好吧,之前用的是旧版的,现在出了个新版的,优先选择用新版的哈. 从官网下载相应的开发包,然后主要需要找到这几个东西添加到项目工程里面,1.Data文件夹 2.NLPIR_JNI.DLL 3.NLPIR ...
- NLPIR汉语分词为自然语言信息处理提供新方法
随着计算机网络的飞速普及,人们已经进入了信息时代.在这个信息社会里,信息的重要性与日俱增,无论是个人,企业,乃至政府都需要获取大量有用的信息.谁掌握了信息,谁就能在竞争中处于有利位置.在这种环境下,搜 ...
- NLPIR汉语分词为自然语言处理提供新方向
随着计算机网络的飞速普及,人们已经进入了信息时代.在这个信息社会里,信息的重要性与日俱增,无论是个人,企业,乃至政府都需要获取大量有用的信息.谁掌握了信息,谁就能在竞争中处于有利位置.在这种环境下,搜 ...
- NLPIR中科院分词系统初始化失败
初始化失败通常是由于授权过期导致.从NLPIR的github网址下载最新的授权文件NLPIR.user,然后覆盖掉之前文件data中的NLPIR.user,重启系统即可使用.
- 【原创】中文分词系统 ICTCLAS2015 的JAVA封装和多线程执行(附代码)
本文针对的问题是 ICTCLAS2015 的多线程分词,为了实现多线程做了简单的JAVA封装.如果有需要可以自行进一步封装其它接口. 首先ICTCLAS2015的传送门(http://ictclas. ...
最新文章
- 分层窗口输出文字时,会出现透明的洞。
- 机器学习成为未来趋势 北美未来将保持最大市场规模
- 怎么解决哈希冲突_从生日悖论谈哈希碰撞
- Android开发10——Activity的跳转与传值
- 计算机语言E9,九种编程语言大对比
- 卷积神经网络(CNN)
- 关于java assertion
- 第一次ActiveX Fuzzing测试
- android怎么增量编译,Android Transform增量编译
- 大连市2011年初中毕业升学考试试测(一)数 学
- Thymeleaf 随记
- Winform中使用signalr
- HVite源码解析续
- 使用 Arduino Uno 与MQTT,echarts,java自己手动撸一个IOT平台
- 档案管理学川大972 | 档案信息资源开发与利用
- 用python画六边形
- 数据结构和算法之二叉树左视图
- 企业微信加密消息体_企业微信机器人怎么发消息?企业微信机器人可以定时发消息吗?...
- 写一个矩阵相乘的函数
- C++之initializer_list,可变参数模板参数展开方法