【ICTCLAS】 C++版学习笔记

ICTCLAS是中科院计算所研发的中文分词软件,这个软件在第一届国际中文处理研究机构SigHan组织的评测中都获得了多项第一名,是公认的当今最好的中文分词软件。
综合性能:ICTCLAS 2011分词速500KB/s左右,分词精度98.45%。

官网地址:http://ictclas.org/

软件下载

下载地址:http://ictclas.org/ictclas_download.aspx

下载的时候需要填下姓名和邮箱,然后就可以下载,是免费的。我下载的是C++版的,当然也有Java版的,目前只支持这两种语言。

下载解压后有四个文件夹,分别是:

   API:

   Demo:

   Doc:使用文档

   Smaple:给了一个使用的例子

软件使用

1. 在你的函数里加入对ICTCLAS50.lib的引用

#ifndef OS_LINUX
#include <Windows.h>
#pragma comment(lib, "ICTCLAS50.lib") //ICTCLAS50.lib库加入到工程中
#endif

2. 初始化ICTCLAS环境

if(!ICTCLAS_Init()) //初始化分词组件。
{
    printf("Init fails\n");  
    return ;
}
else
{
    printf("Init ok\n");
}

3. 加入用户词典

方法一:用字符串加入

const char* pszDictBuffer="舟曲县城@@nr;最新动态@@nr"; //字符串形式导入用户词典
unsigned int nItems=ICTCLAS_ImportUserDict (pszDictBuffer, strlen(pszDictBuffer),CODE_TYPE_UNKNOWN);

方法二:用文本加入

unsigned int nItems=ICTCLAS_ImportUserDictFile("userdict.txt",CODE_TYPE_UNKNOWN);

保存用户词典

ICTCLAS_SaveTheUsrDic(); //保存添加的用户词汇,下次使用依然有效

4. 分词函数

nRstLen=ICTCLAS_ParagraphProcess(
          sSentence,               //需要进行分词的字符串
          nPaLen,                  //进行分词的字符串长度
          sRst1,                   //用户自行分配空间,用于保存结果,在例子中用的是nPanlen的六倍长度
          CODE_TYPE_UNKNOWN,     //编码类型
          1                       // 0- 结果没有tag, 1- 有POS的tag
);
原文地址:https://www.cnblogs.com/xiaoka/p/2568734.html