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 );