标签:

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

NLPIR的下载地址:

GitHub的地址:

两个版本有一些不同,本文将分别讲解如何利用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 classNlpirTest {public static void main(String[] args) throwsException{

NlpirTest t= newNlpirTest();

t.testParticiple();

}public void testParticiple() throwsIOException {

.....

}

.......

}

和官方网站不同,加载库文件可以自动判断系统类型,在工程当前目录下查找库文件。“工程当前目录”的win32、win64、linux32、linux64都是包含库文件的文件夹。

同时会自动加载“工程当前目录“下Data问佳佳为分词数据目录。这些目录设置好,就可以进行调试工作了。

三、在github中"查找关键字"的组件Key_Extract

工程目录如下,

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

同样在KeyExtractor.java文件中添加main函数。KeyExtract_GetKeyWords的第一个参数是需要提取关键字的文本,第二参数是关键字的个数。

public static voidmain(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执行,传递参数,效果如下

标签:

java程序设计中科院_中科院NLPIR中文分词java版相关推荐

  1. 中科院NLPIR中文分词java版

    中科院NLPIR中文分词java版 中科院NLPIR中文分词java版

  2. java nlpir_中科院NLPIR中文分词java版

    摘要:为解决中文搜索的问题,最开始使用 版 SCWS ,但是处理人名和地名时,会出现截断人名地名出现错误.开始使用 NLPIR 分词,在分词准确性上效果要比 SCWS 好.本文介绍如何在 系统下 JA ...

  3. Java实现敏感词过滤 - IKAnalyzer中文分词工具

    IKAnalyzer 是一个开源的,基于java语言开发的轻量级的中文分词工具包. 官网: https://code.google.com/archive/p/ik-analyzer/ 本用例借助 I ...

  4. Java程序设计任务驱动式教程(第三版)课后习题答案下载

    Java程序设计任务驱动式教程(第三版) 主编:孙修东 王永红 链接:https://pan.baidu.com/s/1TBkycUkp41muj-yGJ5IWIw 提取码:lvi3

  5. 北理工《Java程序设计》课程教学资源索引(2013版)——第21讲及Android第4讲发布

    北理工<Java程序设计> 课程教学资源索引(2013版,含<Android开发基础>) 说明: "Java程序设计"是北京理工大学计算机学院开设的选修课程 ...

  6. java语言文本挖掘 分词_文本挖掘之中文分词入门

    中文分词 分词,就是将0维的非格式化文本转为格式化.向量化数据 中文分词(Chinese Word Segmentation) 是将一个汉字序列切分成一个个单独的词. 英文文档中,单词之间是以空格作为 ...

  7. java 正向分词算法_正向最大匹配中文分词算法

    中文分词一直都是中文自然语言处理领域的基础研究.目前,网络上流行的很多中文分词软件都可以在付出较少的代价的同时,具备较高的正确率.而且不少中文分词软件支持Lucene扩展.但不管实现如何,目前而言的分 ...

  8. Ansj中文分词Java开发自定义和过滤词库

    Ansj中文分词应用时,需要自定义词库,比如城中村,分词成城.中.村,需自定义词库,有时,也需要过滤单词.具体代码如下,可以结合执行结果看代码效果. 1.过滤词库 package csc.ansj;i ...

  9. Ansj中文分词Java开发词性分类

    用ansj分词后,只提取满足提交的词性的单词. Ansj下载地址:http://maven.ansj.org/org/ansj/ansj_seg/ 辅助包NLP下载地址:http://maven.an ...

  10. Ansj中文分词Java开发小记

    1.ansj中文分词器:https://github.com/NLPchina/ansj_seg 基于n-Gram+CRF+HMM的中文分词的java实现.    分词速度达到每秒钟大约200万字左右 ...

最新文章

  1. opencv 直线检测
  2. thinkpad触控笔怎么用_电容笔怎么用,如何选择一支电容笔来提升生产力呢?
  3. (重点章节复习以及代码调整笔记)选择器:伪类和伪元素选择器(部分)
  4. Leetcode 每日一题 40 组合2
  5. wxWidgets:事件和事件处理
  6. 随手记录自动化常用的一些事情
  7. 获取用户列表为空_Python中最常见的10个列表操作
  8. 网页 添加QQ/MSN/旺旺 在线聊天代码
  9. uboot源码——gd_t和bd_t数据结构
  10. pagehelper的使用_Spring Boot 2.x(十三):你不知道的PageHelper
  11. Linux Namespace机制简介
  12. 系统分析师——论文篇(三)
  13. 数字后端设计相关文件说明
  14. java 判断是否为英文字母_java 如何判断是否是26个英文字母
  15. util-caleAge 计算年龄
  16. 中国RFID行业市场前景规划与运营模式分析报告2022-2028年版
  17. 视频语音如何翻译成文字?
  18. imap 已读回执_停止烦恼已读回执
  19. ROS编程Raspberry Pi机器人模型
  20. php自动内链处理速度慢,织梦关键词自动内链、php5.5以上失效问题解决方法

热门文章

  1. Python_画boxplot 盒图/箱线图
  2. Notes配置初始化和重新设置(不卸载)
  3. 《用户体验要素——以用户为中心的产品设计》整理
  4. 在input标签里只能输入数字
  5. Web学习篇之---html基础知识(一)
  6. 高斯模糊算法的 C++ 实现
  7. 迭代器模式C++实现
  8. 基于麻雀搜索算法的极限学习机(ELM)回归预测 -附代码
  9. 【LeetCode】【数组】题号:*283,移动零
  10. arcgis缓冲区分析(结合案例)-国家边界缓冲区的建立