當前位置:編程學習大全網 - 源碼下載 - 如何輕松使用ikanalyzer

如何輕松使用ikanalyzer

IKAnalyzer用於切分語料庫。

文件IKAnalyzer.cfg.xml必須放在classpath的根目錄下,這個配置文件的位置可以在源代碼中修改,但沒有必要修改。

& lt?xml版本="1.0 "編碼="UTF-8 "?& gt

& lt!DOCTYPE屬性系統“/dtd/properties . dtd”& gt;

& lt屬性& gt

& lt評論& gtIK分析器擴展配置

& ltentry key = " ext _ dict " & gt/ikdic/ext _ keyword . DIC;& lt/entry & gt;classpath根目錄下的ikdic包下的ext_keyword.dic是壹個擴展字典。

& ltentry key = " ext _ stopwords " & gt/ikdic/ext _ stop word . DIC & lt;/entry & gt;classpath根目錄下的ikdic包下的ext_stopword.dic是停止字典。

& lt/properties & gt;

至於通話,很簡單:

包org . BDP . util;

導入Java . io . bytearray inputstream;

導入Java . io . io exception;

導入Java . io . inputstream;

導入Java . io . inputstreamreader;

導入Java . io . reader;

導入Java . util . ArrayList;

導入Java . util . list;

導入org . wl tea . analyzer . core . ik segmenter;

導入org . wl tea . analyzer . core . lexeme;

公共類CZIKAnaUtil {

公共靜態void main(String[] args) {

String str = "文佳(1501-1583)";

ik analysis(str);

}

公共靜態列表& lt字符串& gtIKAnalysis(字符串str) {

列表& lt字符串& gtkeywordList = new ArrayList & lt字符串& gt();

嘗試{

byte[]Bt = str . getbytes();

InputStream IP = new bytearray InputStream(Bt);

reader read = new InputStreamReader(IP);

iksegment er iks = new ik segment er(read,true);//true打開僅分詞模式。如果默認不設置為false,則為細粒度分段。

lexeme t;

while ((t = iks.next())!= null) {

keywordlist . add(t . getlexemetext());

}

} catch (IOException e) {

e . printstacktrace();

}

/* for(int I = 0;我& ltkeyword list . size()-1;i++) {

for(int j = keyword list . size()-1;j & gt我;j - ) {

if (keyWordList.get(j)。equals(keyWordList.get(i))) {

keyword list . remove(j);

}

}

}

Collections.sort(關鍵字列表,新比較器& lt字符串& gt() {

@覆蓋

public int compare(String o 1,String o2) {

返回O2 . length()-o 1 . length();

}

})*/

System.out.println(關鍵字列表);

返回關鍵字列表;

}

}

  • 上一篇:如何在液晶上顯示漢字,單片機用的ATmega16,液晶是1602,求詳細代碼
  • 下一篇:宜昌旅遊可以不打新冠肺炎疫苗嗎?宜昌旅遊可以不打新冠肺炎疫苗嗎?最新消息。
  • copyright 2024編程學習大全網