Cómo utilizar ikanalyzer fácilmente
El archivo IKAnalyzer.cfg.xml debe colocarse en el directorio raíz del classpath. La ubicación de este archivo de configuración se puede modificar en el código fuente, pero no es necesario modificarlo.
¿Eso? versión xml = "1.0" codificación = "UTF-8"? gt
lt! Sistema de propiedades DOCTYPE "/dtd/properties.dtd" gt;
lt propiedades gt
lt comentarios configuración de la extensión del analizador gtIK
ltentry key = " text_dict "gt/ikdic/ext _ palabra clave. DIC; lt/entry gt; ext_keyword.dic bajo el paquete ikdic en el directorio raíz del classpath es un diccionario extendido.
ltentry key = "ext_stopwords" gt/ikdic/ext_stop word. DIC lt;/entry gt;ext_stopword.dic debajo del paquete ikdic en el directorio raíz del classpath está el diccionario de parada.
lt/properties>
En cuanto a la llamada, es simple:
Paquete org.bdp.util;
Importar java. io . bytearray inputstream;
Importar Java .io . io excepción;
Importar Java . p >
Importar Java .io .
Importar Java util . wl tea . core . ik segmenter;
Importar wl tea .lexeme;
Clase pública CZIKAnaUtil {
Vacío estático público. main (String[] args) {
String str = "Wenjia (1501-1583)";
ik análisis(str);
} p>
Lista estática pública lt string gtIKAnalysis(string str) {
Lista lt string gtkeywordList = new ArrayList lt string gt();
Pruebe {
byte[]Bt = str . getbytes();
InputStream IP = nuevo bytearray InputStream(Bt);
lector leído = nuevo InputStreamReader(IP);
iksegment er iks = new ik segment er(read, true); //true activa el modo de segmentación de palabras únicamente. Si no se establece en falso de forma predeterminada, se utiliza la segmentación detallada.
lexeme t;
mientras ((t = iks.next())!= null) {
lista de palabras clave add(t . getlexemetext()) ;
}
} captura (IOException e) {
e . printstacktrace();
}
for(int j = lista de palabras clave . size()-1; j gt i; j - ) {
if (keyWordList.get(j). igual a(keyWordList.get(i))) {
lista de palabras clave remove(j);
}
}
}
Collections.sort(lista de palabras clave, nuevo comparador lt string gt() {
@override
public int compare(String o 1, String o2) {
Devuelve longitud()-o 1 .
}
})*/
System.out.println (lista de palabras clave);
Devolver lista de palabras clave
}
}