java调用nlpir_ZH奶酪:Java调用NLPIR汉语分词系统

标签:

NLPIR工具

支持自定义词表;

可以离线使用;

自然语言处理与信息检索共享平台:(nlpir相关的一些软件、文档、论文、语料库等资源)http://www.nlpir.org/

上边这个地址写的信息比较详细丰富,但是万事开头难,很多同学不知道怎么具体应该调用我就把几个步骤简单介绍一下:

Step1、下载

我下载的文件:20141230101836_ICTCLAS2015.zip

Step2、解压

解压后的目录:D:20141230101836_ICTCLAS2015

20180110160340427219.jpg

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

60 //String nativeBytes = null;

61 try{62 nativeBytes = CLibrary.Instance.NLPIR_ParagraphProcess(sInput, 1);63

64 System.out.println(“分词结果为: ” +nativeBytes);65

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技能树首页概览92564 人正在系统学习中 相关资源:SRTApp:学生投票追踪器-其它代码类资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月9日
下一篇 2021年1月9日

相关推荐