1.軟件準備
下載地址:https://code.google.com/p/ik-analyzer/downloads/list,此處採用IKanalyzer 2012 u6
2.解壓,可能用到文件包括一個配置文件,jar包和停用此表
3.使用說明
此處說明爲簡單分詞使用,iK支持lucene分詞接口,其用法參見下載文件中的使用手冊。
首先導入jar包,示例代碼如下:
public static void main(String[] args) {
try {
// TODO Auto-generated method stub
String string = "長春市長春藥店";
StringReader stringReader = new StringReader(string);
IKSegmenter ikSegmenter = new IKSegmenter(stringReader, true);//最後一個參數控制是否消除歧義,true爲消除歧義
Lexeme lexeme = new Lexeme(0, 0, 0, 0);
while ((lexeme = ikSegmenter.next())!=null) {
System.out.println(lexeme.getLexemeText());//還可提供起止位置,來自詞典等信息
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
4.導入自定義詞典
下載文件中包含配置文件和一個停用詞典,下面介紹如何使用自定義詞典。
將配置文件和詞典共同置於代碼根目錄下,和項目的class文件放在同一個目錄中,具體視項目的屬性而定(是否爲web項目),一般而言,java project的class文件在bin目錄中,web項目在web-inf/classes目錄中。
配置文件爲,修改參見注釋
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 擴展配置</comment>
<!--用戶可以在這裏配置自己的擴展字典 ,使用時注意刪除註釋符號,添加文件路徑即可
<entry key="ext_dict">ext.dic;</entry>
-->
<!--用戶可以在這裏配置自己的擴展停止詞字典,使用時在下一行直接加入停用文件的路徑-->
<entry key="ext_stopwords">stopword.dic;</entry>
</properties>
5.輸出
成功調用,合理分詞
6.總結
較ICTCLAS而言,IK缺乏詞性,但相當的輕量級。