重新开始
直接按网上的教程搞代码,结果把自己呛死……经常一两天都摆不平一个bug!痛定思痛!觉得还是应该先从熟悉张教授的系统做起。
百度文库的:NLPIR-ICTCLAS分词系统开发手册2016版。看了终于觉得有点眉目了,不再是一头雾水。
可以直接从第5部分(接口)看起。
https://wenku.baidu.com/view/85eb9d8b31b765ce040814e9.html
以下整理一些个人认为小白难理解的函数。
NLPIR_ParagraphProcess:
测试最基本的功能,输入一个字符串,输出分词结果字符串,如果不需要标注,调用的时候可以为:NLPIR_ParagraphProcess(sSentence,0)
NLPIR_ParagraphProcessA
const result_t *pResult=NLPIR_ParagraphProcessA(sSentence,&nCount);
//分词的高级功能
//该函数功能为:输入字符串,输出分词结果的result_t结构体数组,nCout为数组大小
//返回的数组结果由系统自行维护,用户直接调用即可
NLPIR_FileProcess
NLPIR_FileProcess("test2.txt","test2_result.txt",1);//对文件进行分词
Double NLPIR_FileProcess(const char*sSourceFilename,const char *sResultFilename,int bPOStagged=1);
NLPIR_GetParagraphProcessAWordCount(s);//得到结果的词数
参数:The source paragraph(一段话)
NLPIR_ ParagraphProcessAW
参数:词数+保存结果的结构体指针
NLPIR_AddUserWord
NLPIR_SaveTheUsrDic
NLPIR_DelUsrWord(这三个看名字也能知道是什么意思)
NLPIR_FingerPrint
提取段落的一个指纹。
参数:const char *sLine:输入的段落
返回值:如果执行成功,返回指纹值,否则返回0。
NLPIR_SetPOSmap
描述:设置使用的POS map(标注集)。
参数:int nPOSmap
ICT_POS_MAP_FIRST 1//计算所一级标注集
ICT_POS_MAP_SECOND 0//计算所二级标注集
ICT_POS_MAP_SECOND 2//北大二级标注集
PKU_POS_MAP_FIRST 3//北大一级标注集
返回值:如果执行成功,返回1,否则返回0。