使用ICTCLAS JAVA版(ictclas4j)進行中文分詞(附ictclas,停用詞表,commons-lang-2.4.jar下載地址)...

maqianmaqian發表於2011-03-09

一、ICTCLAS的介紹

中國科學院計算技術研究所在多年研究基礎上,耗時一年研製出了基於多層隱碼模型的漢語詞法分析系統 ICTCLAS(Institute of Computing Technology, Chinese Lexical Analysis System),該系統的功能有:中文分詞;詞性標註;未登入詞識別。分詞正確率高達97.58%(最近的973專家組評測結果),基於角色標註的未登入詞識別能取得高於90%召回率,其中中國人名的識別召回率接近98%,分詞和詞性標註處理速度為31.5KB/s。ICTCLAS 和計算所其他14項免費釋出的成果被中外媒體廣泛地報導,國內很多免費的中文分詞模組都或多或少的參考過ICTCLAS的程式碼。

二、開始使用ICTCLAS進行分詞

1.下載ictclasj

首先到ictclas的網站下載JAVA版本的ictclas——ictclasj。

下載地址http://ictclas.org/Down_OpenSrc.asp

2.在Eclipse中 新建專案並進行 配置

首先把 ictclasj解壓縮,然後把 Data資料夾整個拷貝到 Eclipse專案的資料夾下, bin目錄下的 org資料夾整個拷貝到你 Eclipse專案的 bin目錄下,把src目錄下的org資料夾整個拷貝到 Eclipse專案 的src目錄下。

3.測試分詞結果

import org.ictclas4j.bean.SegResult;
import org.ictclas4j.segment.SegTag;


public class TextSegmentation {

public static void main(String[] args) {
   String fileContent = "中國科學院計算技術研究所在多年研究基礎上," +
     "耗時一年研製出了ICTCLAS漢語詞法分析系統";
   SegTag segTag = new SegTag(1);// 分詞路徑的數目  
   SegResult segResult = segTag.split(fileContent.trim());
   String classifyContent = segResult.getFinalResult();
   System.out.println("分詞結果\n"+classifyContent);

}

}

就是這樣,我們可以得到輸出的結果,並且帶有詞性的標註。

分詞結果:
中國科學院/n 計算/n 技術/n 研究所/n 在/c 多年/m 研究/n 基礎/a 上/f ,/w 耗時/v 一/d 年/a 研製/v 出/q 了/u ICTCLAS/nx 漢語/n 詞法/n 分析/v 系統/a

三、關於可能出現的錯誤

    1.越界錯誤

在Dictionary.java裡面的getMaxMatch()函式裡要注意加上對wis的判斷語句

if(wis != null)

否則有時會報出越界錯誤

2. “org.apache”

這個新建的測試類可能會提示錯誤:"The import org.apache cannot be resolved",這是由於系統需要一個Apache的commons的jar包。

 

附件中有 commons-lang-2.4.jar和停用詞表(stopwords.rar)下載

相關文章