[NLPIR] NLPIR(ICTCLAS2013)Java语言调用示例

灵玖软件,大数据搜索与挖掘技术服务商 灵玖软件专注于大数据搜索与挖掘的技术创新与服务,提供大数据搜索、大数据挖掘与大数据应用解决方案,以应对大数据的管理、处理、分析并从大数据中获知识与智慧。
灵玖软件: www.lingjoin.com 

大数据论坛:www.bigdatabbs.com 


import kevin.zhang.NLPIR;//库函数申明
import java.util.*;
import java.io.*;

public class TestNLPIR {
public static void main(String[] args) throws Exception
{
try
{
String sInput = "张华平推出的NLPIR分词系统,又名ICTCLAS2013,新增新词识别、关键词提取、微博分词功能。";
//自适应分词
test(sInput);
}
catch (Exception ex)
{
}
}

public static void test(String sInput)
{
try
{
NLPIR testNLPIR = new NLPIR();//申请类
String argu = "../../";
System.out.println("NLPIR_Init");
if (testNLPIR.NLPIR_Init(argu.getBytes("GB2312"),1) == false)//初始化,与C语言的函数功能类似
{
System.out.println("Init Fail!");
return;
}

//NLPIR_ParagraphProcess为:输入字符串,将分词结果输出到字符串,其中第二个参数表示是否进行词性标注
byte nativeBytes[] = testNLPIR.NLPIR_ParagraphProcess(sInput.getBytes("GB2312"), 1);
String nativeStr = new String(nativeBytes, 0, nativeBytes.length, "GB2312");
System.out.println("分词结果为: " + nativeStr);

//输入输出的文件名参数,抱歉,博主对Java不是很熟悉,只能用很粗笨的方式来示范
String argu1 = "E:/NLPIR/test/test.TXT";
String argu2 = "E:/NLPIR/test/test_result1.TXT";

//新词识别:从指定的文件中提取新词
nativeBytes  =testNLPIR.NLPIR_GetFileNewWords(argu1.getBytes("GB2312"),50,true);
//如果是处理内存,可以调用testNLPIR.NLPIR_GetNewWords
nativeStr = new String(nativeBytes, 0, nativeBytes.length, "GB2312");
System.out.println("新词识别结果为: " + nativeStr);

//关键词提取:从指定的文件中提取关键词
nativeBytes  =testNLPIR.NLPIR_GetFileKeyWords(argu1.getBytes("GB2312"),50,true);
//如果是处理内存,可以调用testNLPIR.NLPIR_GetKeyWords
nativeStr = new String(nativeBytes, 0, nativeBytes.length, "GB2312");
System.out.println("关键词识别结果为: " + nativeStr);

//对输入文件进行切分
testNLPIR.NLPIR_FileProcess(argu1.getBytes("GB2312"), argu2.getBytes("GB2312"), 1);

//////////////////////////////////////////////////////////////////////////
//下面开始测试从单个文件中提取新词的功能
//////////////////////////////////////////////////////////////////////////

testNLPIR.NLPIR_NWI_Start();//新词识别开始
testNLPIR.NLPIR_NWI_AddFile(argu1.getBytes("GB2312"));//批量增加输入文件,可以不断循环调用NLPIR_NWI_AddFile或者NLPIR_NWI_AddMem

testNLPIR.NLPIR_NWI_Complete();//新词识别导入文件结束

nativeBytes= testNLPIR.NLPIR_NWI_GetResult(true);//获取本次批量导入文本文件中识别的新词结果
nativeStr = new String(nativeBytes, 0, nativeBytes.length, "GB2312");

System.out.println("新词识别结果 " + nativeStr);//打印输出新词识别结果

testNLPIR.NLPIR_NWI_Result2UserDict();//将上次新词识别的结果作为用户词典导入系统中,导入后的分词结果为自适应分词结果
argu2 = "E:/NLPIR/test/test_result2.TXT";
testNLPIR.NLPIR_FileProcess(argu1.getBytes("GB2312"), argu2.getBytes("GB2312"), 1);

testNLPIR.NLPIR_Exit();
}
catch (Exception ex)
{
}
}
}


你可能感兴趣的:(中间件,大数据,软件,分词)