ictclas4j 分词工具包 安装流程
首先把 ictclasj解压缩,然后
1.把 Data文件夹整个拷贝到 Eclipse项目的文件夹下,
2.而 bin目录下的 org文件夹整个拷贝到你 Eclipse项目的 bin目录下,(将class文件存进去)
3.把src目录下的org文件夹整个拷贝到 Eclipse项目 的src目录下。
4.把目录中commons-lang-2.4.jar 加到项目中(右键新建folder--设置名字为LIB--直接复制jar到此文件夹--点击此jar-右键-buidpath-add 点击即可)
3.测试分词结果
Java代码
import org.ictclas4j.bean.SegResult;
import org.ictclas4j.segment.SegTag;
public class TextSegmentation {
public static void main(String[] args) {
String fileContent = "中国科学院计算技术研究所在多年研究基础上," + "耗时一年研制出了ICTCLAS汉语词法分析系统";
SegTag segTag = new SegTag(1);// 分词路径的数目
SegResult segResult = segTag.split(fileContent.trim());
String classifyContent = segResult.getFinalResult();
System.out.println("分词结果\n"+classifyContent);
}
}
就是这样,我们可以得到输出的结果,并且带有词性的标注。
Java代码
分词结果
中国科学院/n 计算/n 技术/n 研究所/n 在/c 多年/m 研究/n 基础/a 上/f ,/w 耗时/v 一/d 年/a 研制/v 出/q 了/u ICTCLAS/nx 汉语/n 词法/n 分析/v 系统/a
分词结果
中国科学院/n 计算/n 技术/n 研究所/n 在/c 多年/m 研究/n 基础/a 上/f ,/w 耗时/v 一/d 年/a 研制/v 出/q 了/u ICTCLAS/nx 汉语/n 词法/n 分析/v 系统/a
三、关于可能出现的错误
1.越界错误
在Dictionary.java里面的getMaxMatch()函数里要注意加上对wis的判断语句
if(wis != null)
否则有时会报出越界错误
2.关于第三点越界的问题之前的博主没有注意到
在Dictionary.Java的findInModifyTable方法中有这么一段:
if (mts != null && mts.size() > index) {
ArrayList<WordItem> wis = mts.get(index).getWords();
.....
}
此处需要对index进行负数的判断,应改为
if (mts != null && mts.size() > index) {
if(index < 0)
return result;
ArrayList<WordItem> wis = mts.get(index).getWords();
........
}
在对大文件进行中文分词时,出现了以下的错误信息
java.lang.ArrayIndexOutOfBoundsException: -39
at java.util.ArrayList.get(ArrayList.java:324)
at org.ictclas4j.bean.Dictionary.findInOriginalTable(Dictionary.java:
422)
at org.ictclas4j.bean.Dictionary.getFreq(Dictionary.java:632)
at org.ictclas4j.segment.GraphGenerate.biGenerate(GraphGenerate.java:
170)
at org.ictclas4j.segment.Segment.split(Segment.java:81)
at com.ictclas4j.test.MyTest.main(MyTest.java:19)
经过上网查询资料以及阅读相关源代码,找到可能的出错原因:
分词过程中出现了未能识别的字,如繁体字等
改错方法:在Dictionary.java文件中找到findInOriginalTable()方法,将其中的
- if (res != null && wts != null) {
修改为
if (res != null && wts != null &&index>=0 &&index<wts.size()) {
即可。
ictclas4j 分词工具包 安装流程的更多相关文章
- Gulp安装流程、使用方法及cmd常用命令导览
Gulp安装流程.使用方法及CMD常用命令导览 来自前端小白的gulp及周边知识学习总结 一.名词介绍: Npm--node包管理工具 一开始我不理解,包管理工具是什么鬼.后来用到的gulp也好,gu ...
- 北大开源全新中文分词工具包:准确率远超THULAC、结巴分词
最近,北大开源了一个中文分词工具包,它在多个分词数据集上都有非常高的分词准确率.其中广泛使用的结巴分词误差率高达 18.55% 和 20.42,而北大的 pkuseg 只有 3.25% 与 4.32% ...
- pkuseg:一个多领域中文分词工具包
pkuseg简单易用,支持细分领域分词,有效提升了分词准确度. 目录 主要亮点 编译和安装 各类分词工具包的性能对比 使用方式 相关论文 作者 常见问题及解答 主要亮点 pkuseg具有如下几个特点: ...
- iOS 最新版 CocoaPods 的安装流程
iOS 最新版 CocoaPods 的安装流程1.移除现有Ruby默认源$gem sources --remove https://rubygems.org/2.使用新的源$gem sources - ...
- 最新版 CocoaPods 的安装流程
iOS 最新版 CocoaPods 的安装流程 1.移除现有Ruby默认源 $gem sources --remove h ...
- CocoaPods安装流程
iOS 最新版 CocoaPods 的安装流程 1.移除现有Ruby默认源 $gem sources --remove https://rubygems.org/ 2.使用新的源 $g ...
- CentOS 7 64位的安装流程
若出现以下不支持虚拟机的问题: 表示虚拟机检测到CPU支不支持虚拟化,要去BIOS里设置虚拟化技术设置为enabled:重启电脑-按"F1或Fn+F1"-进入BIOS主界面-移至S ...
- Yii2框架与MongoDB拓展、Redis拓展的安装流程
@author 周煦辰 2016-03-21 这段时间新上了一个项目,使用的是Yii2框架.这里记录一下Yii2框架.Yii2-Mongo拓展.Yii2-Redis拓展等的安装流程.因为使用的系统是W ...
- Canopy v. 1.5.5 ubuntu安装流程
官网的下载超级慢,还总是断,一断就失败了 我花费了7个小时终于在尝试了5次以后下载成功了,现在将网盘链接分享出来 https://yunpan.cn/cxt28gM26mxQU 访问密码 301d ...
随机推荐
- 成都Uber优步司机奖励政策(1月12日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 封装Excls数据导出功能 返回一个下载链接地址
/// <summary> /// 获取本地存储地址 /// </summary> /// <param name="dt"></para ...
- Redis系列七 主从复制(Master/Slave)
主从复制(Master/Slave) 1.是什么 也就是我们所说的主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主. 2 ...
- Process Monitor工具找网吧广告
很多网吧经常有遇到有一些客户机多了一些广告或者是可能是有中毒的情况.Process Monitor 软件可以方便的监视和记录系统各程序的进程线程,注册表,网络,文件读写等活动. 1,开超级用户,双击打 ...
- Java 递归 反射 正则表达式
一 递归 1. 就是函数自身调用自身 (就是在栈内存中不断的加载同一个函数) 2. 什么时候用递归呢? 当一个功能被重复使用 而每一次使用该功能时的参数不确定 都由上次的功能元素结果来确定 简单说: ...
- C for阶乘
#include <stdio.h> int main(int argc, char **argv) { //定义三个变量 x n s ,n s的初始值为1; int x; i ...
- git branch 分支与合并
在使用 git 进行分支开发与合并的时候需要用到这些命令.其他基本 git 命令参考 Git 简易食用指南 git branch 查看分支 git branch 查看当前分支情况 创建分支 git b ...
- Memcache的客户端连接系列(三) C++
关键词: Memcached C++ 客户端 声明:本文并非原创,转自华为云帮助中心的分布式缓存服务(Memcached)的用户指南.客户端连接方法通用,故摘抄过来分享给大家. C++客户端示例 ...
- 【zabbix 监控】第一章 zabbix的安装配置
安装前准备 一.下载网络yum源: http://mirrors.163.com/.help/centos.html https://opsx.alibaba.com/mirror 1.首先备份/et ...
- 由一个hash字符串生成多个子hash字符串
通过存储一个head hash,然后把子hash放到网络中 当然,也可以像默克尔树那样的,生成多级的子hash ,可以通过规则配置不同的hash 生成方式.倒置的默克尔树 我有一个文件,然后我把她分隔 ...