`
cjp1989
  • 浏览: 162599 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

中科院分词系统 ICTCLAS2013 添加新词功能

阅读更多

   最近使用ictclas2013版,又名NLPIR汉语分词系统。在分词过程中,总会出现分词不准确的原因,造成很多本来是应该在一起的词,变成了拆分开了的词语,造成了提取关键词的非常不便利。不过幸好ictclas2013版有个新词添加功能。如果不知道怎么加入ictclas2013到项目中,请参考

中科院分词ictclas2013使用java调用

      首先查看NLPIR分词系统接口说明文档: NLPIR_AddUserWord(byte[] str) ,这个就是加入新词的方法。如果按照上面的介绍,以及参考了网上一些相关的介绍,但是始终没有配置成功。仔细想想,str.getBytes();方法是有编码格式的,而记得java调用分词都是设置了编码格式为:"GB2312",所以新词添加一定要记得设置编码格式。

 

public static void main(String[] args)
	{
		try
		{
			String sInput = "张华平推出的NLPIR分词系统,又名ICTCLAS2013,新增新词识别、关键词提取、微博分词功能。";
			NLPIR testNLPIR = new NLPIR();
			String argu = "./file/";
			System.out.println("初始化ictclas2013分词系统");
			if (testNLPIR.NLPIR_Init(argu.getBytes("GB2312"),0) == false)
			{
				System.out.println("Init Fail!");
				return;
			}
			/**
			 * 1.添加新词,注意\t是tab键,你也可以用tab键:"分词系统	nn"
			 * 2.getBytes的编码格式统一设置GB2312,否则无法识别新词
			 * 3.新词的词性可以自己添加,这里nn表示了新词
			 */
			String s = "分词系统\tnn";
		    byte[] ret = s.getBytes("GB2312");
		    testNLPIR.NLPIR_AddUserWord(ret);
		    
		    /**
		     * 1.这是永久保存在用户字典中,UserDIct.pdat会增加大小
		     */
//		    testNLPIR.NLPIR_SaveTheUsrDic();
		    
		    /**
		     * 1.去除新词,只需要使用:"分词系统"
		     * 2.去除新词编码格式也必须:"GB2312",否则无法移除新词
		     */
//			String ss = "分词系统";
//			byte[] ress = ss.getBytes("GB2312");
//			testNLPIR.NLPIR_DelUsrWord(ress);
		    
			//执行分词过程
			byte nativeBytes[] = testNLPIR.NLPIR_ParagraphProcess(sInput.getBytes("GB2312"), 1);
			String nativeStr = new String(nativeBytes, 0, nativeBytes.length, "GB2312");
			System.out.println("分词结果为: " + nativeStr);
			testNLPIR.NLPIR_Exit();
			
		}
		catch (Exception ex)
		{
			ex.printStackTrace();
		} 


	}

 

 

分享到:
评论
2 楼 cjp1989 2013-12-13  
wangbin001007 写道
你好
最近我也在搞用户词典。用户词典是不只能设置新词和新词词性?对于分词词库中已有的词的词性,是不是改不了?
还有用户词典的格式我之前见很多资料中是这样的:分词@@n  这类的。但Nlpir2013貌似对这样的格式不管用。难道是我哪儿做的有问题?
望指教,谢谢~


这种格式最好是写正则表达式
1 楼 wangbin001007 2013-11-26  
你好
最近我也在搞用户词典。用户词典是不只能设置新词和新词词性?对于分词词库中已有的词的词性,是不是改不了?
还有用户词典的格式我之前见很多资料中是这样的:分词@@n  这类的。但Nlpir2013貌似对这样的格式不管用。难道是我哪儿做的有问题?
望指教,谢谢~

相关推荐

Global site tag (gtag.js) - Google Analytics