ICTCLAS2011_JNI学习札记-ICTCLAS_SetPOSmap及ICTCLAS_ParagraphProcess接口

ICTCLAS2011_JNI学习笔记-ICTCLAS_SetPOSmap及ICTCLAS_ParagraphProcess接口

1、int ICTCLAS_SetPOSmap(int nPOSmap)

        * Method:     ICTCLAS_SetPOSmap<!指定词性标注集>
        * Parameter:  int nPOSmap<! 标注集ID>
            ICT_POS_MAP_SECOND 0 //计算所二级标注集
            ICT_POS_MAP_FIRST 1  //计算所一级标注集
            PKU_POS_MAP_SECOND 2 //北大二级标注集 
            PKU_POS_MAP_FIRST 3 //北大一级标注集

       * Returns:    int <! 指定成功与否,0 不成功, 非0成功>
 2、byte[] ICTCLAS_ParagraphProcess(byte[] sSrc, int eCodeType,   int bPOSTagged)接口:

       * Method:     ICTCLAS_ParagraphProcess<! 分词,返回结果为字符串>
       * Parameter:  byte[] sSrc<!需要分词的文本内容>
       * Parameter:  int eCodeType<!字符编码类型>
       * Parameter:  int bPOSTagged<!是否词性标注,1:标注,0:不标注.标注的词集根据ICTCLAS_SetPOSmap的设置值来定 >
       * Returns:      byte[]<! 分词后的字符串的字节编码>

 

调用示例:

package ICTCLAS.I3S.test;

import java.io.UnsupportedEncodingException;

import ICTCLAS.I3S.AC.ICTCLAS50;

public class Test_ICTCLAS_ParagraphProcess {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		ICTCLAS50 ictclas = new ICTCLAS50();
		String useage = "Useage : java Test_ICTCLAS_ParagraphProcess sPath [nPOSmap]";
		if (args.length < 1) {
			System.err.println(useage);
			return;
		}
		try {
			if (!ictclas.ICTCLAS_Init(args[0].getBytes("GB2312"))) {
				System.err.println("Initial fail!");
				return;
			}
			System.out.println("Initial success!");
			String input = "中国科学院计算技术研究所在多年研究工作积累的基础上,研制出了汉语词法分析系统ICTCLAS。";

			/* 设置词性标注集(0 计算所二级标注集,1 计算所一级标注集,2 北大二级标注集,3 北大一级标注集) */
			int nPosmap = args.length == 2 ? Integer.valueOf(args[1]) : 1;
			ictclas.ICTCLAS_SetPOSmap(nPosmap);

			byte nativeBytes[] = ictclas.ICTCLAS_ParagraphProcess(input
					.getBytes("GB2312"), 0, 1);

			String nativeStr = new String(nativeBytes, 0, nativeBytes.length,
					"GB2312");
			System.out.println("The result is :" + nativeStr);
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			ictclas.ICTCLAS_Exit();
		}
	}
}