当前位置: 代码迷 >> Java相关 >> 中科院分词ICTCLAS导入用户词典后分词结果同样
  详细解决方案

中科院分词ICTCLAS导入用户词典后分词结果同样

热度:9952   发布时间:2013-02-25 21:43:46.0
中科院分词ICTCLAS导入用户词典后分词结果一样?

package ICTCLAS.I3S.Test;

import java.io.UnsupportedEncodingException;

import ICTCLAS.I3S.AC.ICTCLAS50;

public class Test_UserDic {

/**
 * @param args
 * @throws UnsupportedEncodingException 
 */
public static void main(String[] args) throws UnsupportedEncodingException {
ICTCLAS50 ictclas =  new ICTCLAS50();
//initial
String argu = "."; //当前目录
if (ictclas.ICTCLAS_Init(argu.getBytes("UTF-8")) == false) {
System.err.println("Initail fail!");
return;
}
System.out.println("Initial success!");

String input = "中国科学院计算技术研究所在多年研究工作积累的基础上,研制出了汉语词法分析系统ICTCLAS。千万科学家";

//未添加词典前分词
System.out.println(input);
ictclas.ICTCLAS_SetPOSmap(ictclas.PKU_POS_MAP_FIRST);
byte nativeBytes[] = ictclas.ICTCLAS_ParagraphProcess(input.getBytes("UTF-8"), 0, 1);
String result = new String(nativeBytes, 0, nativeBytes.length, "UTF-8");
System.out.println("未导入用户词典的分词结果是:\t" + result);

//添加用户词典分词
int count = 0;
String userDir = "userDict.txt"; //用户词典路径
byte[] userDirb = userDir.getBytes();
count = ictclas.ICTCLAS_ImportUserDictFile(userDirb, 3);
System.out.println("\n导入用户词个数:\t" + count);
count = 0;

//导入用户词典后再分词
byte[] nativeBytes1 = ictclas.ICTCLAS_ParagraphProcess(input.getBytes("UTF-8"), 0, 1);
String result1 = new String(nativeBytes1, 0, nativeBytes1.length, "UTF-8");
System.out.println("导入用户词典后的分词结果是:\t" + result1);

//退出,释放分词组件资源
ictclas.ICTCLAS_Exit();
}
}



用户词典如下:
舟曲县城@@ZQXC
连夜@@LY
中国科学院@@v
工作@@t
研究@@nb
国科@t
万科@y

结果如下:
Initial success!
中国科学院计算技术研究所在多年研究工作积累的基础上,研制出了汉语词法分析系统ICTCLAS。千万科学家
未导入用户词典的分词结果是: 中国科学院/n 计算技术/n 研究/v 所/u 在/v 多年/m 研究/v 工作/v 积累/v 的/u 基础/n 上/f ,/w 研制/v 出/v 了/u 汉语/n 词法分析/n 系统/n ICTCLAS/x 。/w 千/m 万/m 科学家/n 

导入用户词个数: 7
导入用户词典后的分词结果是: 中国科学院/n 计算技术/n 研究/v 所/u 在/v 多年/m 研究/v 工作/v 积累/v 的/u 基础/n 上/f ,/w 研制/v 出/v 了/u 汉语/n 词法分析/n 系统/n ICTCLAS/x 。/w 千/m 万/m 科学家/n 

没有变化!
看到网上有说用户词典是优先的,(2,用户词典的词的优先级貌似太高了。我在用户词典里加了“万科”这个词,结果测试语句“千万科学家”也被分成了“千/ 万科/ 学/ 家”)
但是我这里分词结果没有变化?自己来顶一下吧!你好!我最近也在看中文分词,我想请问LZ,这里面自己建的词典格式是什么样的?
  相关解决方案