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