1.簡介
中國科學院計算技術研究所在多年研究基礎上,耗時一年研製出了基於多層隱碼模型的漢語詞法分析系統 ICTCLAS(Institute of Computing Technology, Chinese Lexical Analysis System),該系統的功能有:中文分詞;詞性標註;未登陸詞識別。分詞正確率高達97.58%(最近的973專家組評測結果),基於角色標註的未登陸詞識別能取得高於90%召回率,其中中國人名的識別召回率接近98%,分詞和詞性標註處理速度爲31.5KB/s。ICTCLAS 和計算所其餘14項免費發佈的成果被中外媒體普遍地報道,國內不少免費的中文分詞模塊都或多或少的參考過ICTCLAS的代碼。java
2.下載
下載地址:測試
下載之後解壓。url
解壓後的目錄結構:spa

必要說明:.net
user.lic,用戶受權文件。blog
3.新建Eclipse項目。
而後將打開API文件夾下的ICTCLAS文件夾拷貝到src目錄下,其它的文件夾和文件所有拷貝到工程目錄下。工程結構如圖所示:ip

4.測試
你能夠本身新建一個測試類,也能夠使用已有的測試類。get
好比Sample文件夾裏有個例子:TestMain.java,你能夠將它複製到Eclipse中。而後運行。就能夠看到結果了。string
注意,ICTCLAS會自動生成一個ICTCLAS.log文件,查看這個文件能獲取許多有用的信息。it
5.各類問題。
- a.Exception in thread "main" java.lang.UnsatisfiedLinkError: ICTCLAS50.ICTCLAS_Init([B)Z
- at ICTCLAS50.ICTCLAS_Init(Native Method)
- at TestMain.testICTCLAS_ParagraphProcess(TestMain.java:33)
- at TestMain.main(TestMain.java:13)
解決辦法:
這種狀況是你把ICTCLAS50_Windows_32_JNI\API\ICTCLAS\I3S\AC目錄下的類ICTCLAS50.java 沒有放到包ICTCLAS.I3S.AC裏。
b.將Data文件夾和其它文件,放置到一個configure文件夾下ICTLAS不識別:
- Exception in thread "main" java.lang.UnsatisfiedLinkError: no ICTCLAS50 in java.library.path
- at java.lang.ClassLoader.loadLibrary(Unknown Source)
- at java.lang.Runtime.loadLibrary0(Unknown Source)
- at java.lang.System.loadLibrary(Unknown Source)
- at ICTCLAS.I3S.AC.ICTCLAS50.<clinit>(ICTCLAS50.java:26)
- at TestMain.testICTCLAS_ParagraphProcess(TestMain.java:32)
- at TestMain.main(TestMain.java:15)
即加載庫文件和Data文件夾、用戶受權文件user.lic的錯誤。
解決辦法:
一種方法是:修改ICTCLAS50類和測試類的參數,指定庫文件。
- static
- {
- String path = new File("").getAbsolutePath()+"\\<span style="font-family:SimSun; line-height:25.1875px">configure</span>\\ICTCLAS50.dll";
- System.load(path);
- }
而後再修改TestMain類中的testICTCLAS_ParagraphProcess()方法的argus的值,告訴ICTCLAS,你改變了工程目錄。
部分代碼以下:
- ICTCLAS50 testICTCLAS50 = new ICTCLAS50();
- String argu = new File("").getAbsolutePath()+"\\configure";
-
- if (testICTCLAS50.ICTCLAS_Init(argu.getBytes("GB2312")) == false)
- {
- System.out.println("Init Fail!");
- return;
- }
還有testICTCLAS_FileProcess()方法。
修改後的工程目錄:
