博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java调用NLPIR汉语分词系统
阅读量:5953 次
发布时间:2019-06-19

本文共 4118 字,大约阅读时间需要 13 分钟。

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

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

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 package code; 2  3 import java.io.UnsupportedEncodingException; 4  5 import utils.SystemParas; 6  7 import com.sun.jna.Library; 8 import com.sun.jna.Native; 9 10 public class NlpirTest {11 12     // 定义接口CLibrary,继承自com.sun.jna.Library13     public interface CLibrary extends Library {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, int encoding,19                 String sLicenceCode);20                 21         public String NLPIR_ParagraphProcess(String sSrc, int bPOSTagged);22 23         public String NLPIR_GetKeyWords(String sLine, int nMaxKeyLimit,24                 boolean bWeightOut);25         public String NLPIR_GetFileKeyWords(String sLine, int nMaxKeyLimit,26                 boolean bWeightOut);27         public int NLPIR_AddUserWord(String sWord);//add by qp 2008.11.1028         public int NLPIR_DelUsrWord(String sWord);//add by qp 2008.11.1029         public String NLPIR_GetLastErrorMsg();30         public void NLPIR_Exit();31     }32 33     public static String transString(String aidString, String ori_encoding,34             String new_encoding) {35         try {36             return new String(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) throws Exception {44         String argu = "D:\\20141230101836_ICTCLAS2015\\ICTCLAS2015";45         // String system_charset = "GBK";//GBK----046         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 block91             ex.printStackTrace();92         }93 94     }95 }

Step4、其他功能和接口,可以查看doc目录下的使用手册。

 

本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/p/4585477.html,如需转载请自行联系原作者

你可能感兴趣的文章
Linux下安装nfs服务器
查看>>
hadoop: hbase1.0.1.1 伪分布安装
查看>>
好吧,你说简单就简单,但简单的事,不要变成本能,要常思常变
查看>>
公有云账单:忽略这四项成本,后果很严重!
查看>>
java内存管理(堆、栈、方法区)
查看>>
用java实现邮件发送验证码
查看>>
Kubernetes的四种用户部署场景
查看>>
这是EnterLib PIAB的BUG吗?
查看>>
光伏项目用地政策解析
查看>>
Vsphere日记01.ESXi5.5.install
查看>>
去除Android 6.0 界面下的导航栏:NavigationBar
查看>>
从底层看云:云计算准备好了么?
查看>>
云上“超算中心” 阿里云推出弹性高性能计算平台E-HPC
查看>>
java HTML5 学习资料汇总
查看>>
里约奥运会的五项技术创新
查看>>
科技圈CEO用微鲸尬明星脸,除了罗永浩还有哪些大牛光荣上榜?
查看>>
HTTPS 加密算法原理详解
查看>>
追踪盗窃12亿用户登录数据的网络犯罪团伙
查看>>
免杀的艺术:史上最全的汇编Shellcode的技巧(三)
查看>>
NAS与SAN架构:如何比较这两个存储系统
查看>>