1.簡介
中國科學院計算技術研究所在多年研究基礎上,耗時一年研制出了基於多層隱碼模型的漢語詞法分析系統 ICTCLAS(Institute of Computing Technology, Chinese Lexical Analysis System),該系統的功能有:中文分詞;詞性標注;未登錄詞識別。分詞正確率高達97.58%(最近的973專家組評測結果),基於角色標注的未登錄詞識別能取得高於90%召回率,其中中國人名的識別召回率接近98%,分詞和詞性標注處理速度為31.5KB/s。ICTCLAS 和計算所其他14項免費發布的成果被中外媒體廣泛地報道,國內很多免費的中文分詞模塊都或多或少的參考過ICTCLAS的代碼。
2.下載
下載以后解壓。
解壓后的目錄結構:
必要說明:
user.lic,用戶授權文件。
3.新建Eclipse項目。
然后將打開API文件夾下的ICTCLAS文件夾拷貝到src目錄下,其它的文件夾和文件全部拷貝到工程目錄下。工程結構如圖所示:
4.測試
你可以自己新建一個測試類,也可以使用已有的測試類。
比如Sample文件夾里有個例子:TestMain.java,你可以將它復制到Eclipse中。然后運行。就可以看到結果了。
注意,ICTCLAS會自動生成一個ICTCLAS.log文件,查看這個文件能獲取許多有用的信息。
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.loadLibrary("ICTCLAS50");
- System.load(path);
- }
然后再修改TestMain類中的testICTCLAS_ParagraphProcess()方法的argus的值,告訴ICTCLAS,你改變了工程目錄。
部分代碼如下:
- ICTCLAS50 testICTCLAS50 = new ICTCLAS50();
- // //String argu = ".";
- String argu = new File("").getAbsolutePath()+"\\configure";
- //初始化
- if (testICTCLAS50.ICTCLAS_Init(argu.getBytes("GB2312")) == false)
- {
- System.out.println("Init Fail!");
- return;
- }
還有testICTCLAS_FileProcess()方法。
修改后的工程目錄: