詞法分析是自然語言處理的基礎與關鍵。張華平博士在多年研究工作積累的基礎上,研製出了NLPIR 分詞系統,主要功能包括中文分詞;英文分詞;詞性標註;命名實體識別;新詞識別;關鍵詞提取;支持用戶專業詞典與微博分析。NLPIR系統支持多種編碼(GBK 編碼、UTF8 編碼、BIG5 編碼)、多種操作系統(Windows,Linux, FreeBSD 等所有主流操作系統)、多種開發語言與平臺(包括:C/C++/C#,Java,Python,Hadoop 等),中科院漢語分詞系統主頁。
爲了方便大家下載,我把NLPIR2014放在了百度雲盤裏,雲盤鏈接:http://pan.baidu.com/s/1sjEaxRn 密碼:cuop
下載到的文件如圖所示,bin文件夾裏有NLPIR演示程序,Data文件夾中,含有分詞需要用到的字典;doc裏面是使用幫助(介紹了基本需要使用到的函數接口);include裏是要包含的頭文件,lib自然是我們主要用到的;sample是示例代碼;test裏面有一個exe示例。
我們需要自己在VS新建解決方案----新建項目,然後將需要的文件複製到項目裏,將data和include文件夾直接複製到項目裏,將lib文件夾裏的NLPIR.lib直接複製到項目文件裏,lib文件夾中的 NLPIR.dll和exe文件在一起,放在解決方案debug文件夾裏,如圖:
舉個簡單的例子:
#include"NLPIR.h"
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
//Sample1: Sentence or paragraph lexical analysis with only one result
int main()
{
char sSentence[2000];
const char*sResult;
if(!NLPIR_Init())
{
printf("fails");
return -1;
}
scanf("%s",sSentence);
while(strcmp(sSentence,"#")!=0)
{
sResult = NLPIR_ParagraphProcess(sSentence,0);
printf("%s\n",sResult);
scanf("%s",sSentence);
}
NLPIR_Exit();
system("pause");
return 0;
}