生活随笔
收集整理的這篇文章主要介紹了
智能语言-中科院分词系统ICTCLAS(NLPIR)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
智能語言的處理中,第一個步驟就是分詞。一個句子處理的第一步就是分詞了,目前而言中文分詞中效果最好的就是中科院分詞系統(tǒng)。在2014版本以及之前稱為ICTCLAS,之后的版本都更名為NLPIR。
我給出一個最簡單的使用教程,能夠幫助新手快速上手使用。
我使用的開發(fā)環(huán)境是eclipse,32位操作系統(tǒng)
首先是下載,下載兩個壓縮包,一個是分詞包一個接口包,ICTCLAS是純C編寫,在java上使用需要JNI也就是c語言加一個java接口,NLPIR有java版本,我使用的是ICTCLAS加一個接口的方法。
點擊轉(zhuǎn)至下載地址,代碼為U1115的是32位分詞包U1105是64位。http://ictclas.nlpir.org/newsdownloads?DocId=384 下載JNI。
分別解壓后待用。
解壓開分詞包,新建一個項目,將Data目錄拷貝到file目錄;解壓開JNI包將NLPIR.dll動態(tài)鏈接庫放到項目目錄下,與file目錄同級。想利用原有文獻(xiàn)測試的話把test也復(fù)制過去。我的圖傳不上來,借用一張圖。
復(fù)制一點代碼測試一下
public class TestUTF8 {
public static void main(String[] args) {try {testUTF8();} catch (Exception e) {e.printStackTrace();}
}static void testUTF8() throws Exception {// 創(chuàng)建接口實例NLPIR nlpir = new NLPIR();if (!NLPIR.NLPIR_Init("./file/".getBytes("utf-8"), 1)) {System.out.println("NLPIR初始化失敗...");return;}String temp = "每天的日報都記得要發(fā)送, 以配合經(jīng)理掌握項目的進(jìn)度情況.";// 要統(tǒng)一編碼, 否則分詞結(jié)果會產(chǎn)生亂碼byte [] resBytes = nlpir.NLPIR_ParagraphProcess(temp.getBytes("UTF-8"), 1);//byte [] resBytes = nlpir.NLPIR_ParagraphProcess(temp.getBytes("UTF-8"), 0);System.out.println("分詞結(jié)果: " + new String(resBytes, "UTF-8"));String utf8File = "./test/test-utf8.TXT";String utf8FileResult = "./test/test-utf8_result.TXT";nlpir.NLPIR_FileProcess(utf8File.getBytes("utf-8"), utf8FileResult.getBytes("utf-8"), 1);
// nlpir.NLPIR_FileProcess(utf8File.getBytes("utf-8"), utf8FileResult.getBytes("utf-8"), 0);//不帶有詞性標(biāo)注的分詞結(jié)果 // 退出, 釋放資源NLPIR.NLPIR_Exit();
}
}
試試看,如果出現(xiàn)一行錯誤,那么恭喜你,你下載的分詞包過期了^-^下載一個最新的版本,也就是NLPIR或者是ICTCLAS2015,把里面的data文件夾復(fù)制替換了,這里好多博客都寫錯了,并不完全是編碼的問題data過期才是最主要的。
總結(jié)
以上是生活随笔為你收集整理的智能语言-中科院分词系统ICTCLAS(NLPIR)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。