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

NLPIR 的下载地址:

http://ictclas.nlpir.org/downloads

两个版本有一些不同,本文将分别讲解如何利用 Ecl 建立工程。

一、NLPIR 官方版本

下载后文件夹中 bin NLPIR_WinDemo.exe 是一个 NLPIR 的演示程序,可以尝试运行,了解 NLPIR 的功能。

工程sample 目录下,包含 C 、 C++ 、 、 JAVA 、 Python 等语言示例。

用 Eclipse 新建一个工程导入 JAVA 工程目录 JnaTest_NLPIR ,

( 1 ) Eclipse -> File->import

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

(3)查看 Eclipse 工程

(4)NlpirTest.文件中包含 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 文件夹的父文件夹。

这步骤完成后,你就可以可以阅读手册。

二、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 、 、 linux64 都是包含库文件的文件夹。

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

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

工程目录如下,

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

同样在 KeyExtractor.java 文件中添加 main 函数。 KeyExtract_GetKeyWords 的第一个

public static voidmain(String[] args) { String= 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 文件

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

java nlpir_中科院NLPIR中文分词java版相关推荐

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

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

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

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

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

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

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

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

  5. java将输出的内容存入词典,中文分词JAVA实现(基于已知的词典txt)

    这是我第一次写博客,里面有些内容可能描述不当,但是我能保证最后的程序可以在eclipse环境下运行 最近有了作业,要求写中文分词程序,主要是依据一个词典,txt文本,里面是词语,然后要求依据词典,对输 ...

  6. Totoro中文分词第二版上线啦

    经过不懈的努力.耗费了毕生经历.终于把分词写完了. 事后觉得太过复杂的东西真的不是好玩的..可控性太差了. 推翻恢复.重写.优化经历了一晚上.终于得道了一个还算满意的答案. 呵呵废话不多说了..老规矩 ...

  7. java如何设置成中文字体,Java程序中文字体配置

    出自Linux Wiki 提示:此文已超过 8 年(3003 天)未更新,如发现内容过时或有误,欢迎改进:) 在Linux中,JAVA程序的中文默认可能不正常:或是显示为方框,或是不够清晰.这是由于J ...

  8. java微信公众号中文乱码,java微信公众平台获取用户信息中文乱码解决办法(第十五课)...

    开发者在开发微信公众平台的时候,往往需要获取关注公众号的基本用户信息,其中信息中含有中文,但是根据微信官方文档,调用接口返回的用户json字符串信息中含有中文乱码,我们先来看看接口调用地址. 参数描述 ...

  9. plpython 中文分词Windows 版

    windows 下安装 版本匹配 python-3.4.3.amd64.msi postgresql-10.1-2-windows-x64.exe create language plpython3u ...

最新文章

  1. 转载:T-SQL语句大全
  2. 成功解决dos内的输入ipconfig出现错误:不是内部或外部命令……
  3. C语言再学习 -- ctype.h字符判断函数
  4. Linux上静态库和动态库的编译和使用
  5. 数据结构-链表2-链式存储
  6. python实现文件上传功能_python实现文件上传功能
  7. s3c2440第一个裸奔程序——跑马灯(转)
  8. Flutter BuildOwner之inactive Elements浅析
  9. sqlite to mysql_SqliteToMysql官方下载
  10. 189. Rotate Array
  11. gns3 官网原版最新版GNS3-2.1.8-all-in-one
  12. wps制作可以打钩或取消打钩的正方框
  13. 【学习OpenCV4】聊聊图像格式
  14. 表数据查询结果的处理
  15. 买家用投影仪应该关注哪些数据?
  16. WPF实现棋盘式图片切换效果
  17. Linux 常用排查问题命令
  18. mysql锁粒度是什么意思_mysql锁粒度是什么
  19. 手把手教你在百度aistuio训练人工智能模型
  20. Win10的两个实用技巧系列之使用技巧、GPUinfo

热门文章

  1. mysql multi主从复制_mysqld_multi方式配置Mysql数据库主从复制
  2. thinkphp v5.0.11漏洞_ThinkPHP5丨远程代码执行漏洞动态分析
  3. Outlook2016未读邮件怎么设置字体颜色
  4. 企业微信怎么删除好友 企业微信如何删除成员
  5. 腾讯视频APP如何提交反馈
  6. JS监听DOM宽高的变化
  7. DHCP租用信息导出方案
  8. springboot整合minio最新版
  9. Java并发面试宝典,并发相关面试再也难不倒你!
  10. git如何查看缓存区文件内容_详解Git工作区、暂存区、历史记录区以及git reset、git revert、git checkout等撤销命令的区别...