tagger stanford spanish pos java xml xml-parsing nlp stanford-nlp

java - spanish - pos tags stanford



formato xml en stanford pos tagger (1)

he etiquetado 20 oraciones y este es mi código:

public class myTag { public static void main(String[] args) { Properties props = new Properties(); try { props.load(new FileReader("D:/tagger/english-bidirectional-distsim.tagger.props")); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } MaxentTagger tagger = new MaxentTagger("D:/tagger/english-bidirectional-distsim.tagger",props); //================================================================================================== try (BufferedReader br = new BufferedReader(new FileReader("C:/Users/chelsea/Desktop/EN/EN.txt"))) { String sCurrentLine; while ((sCurrentLine = br.readLine()) != null) { String tagged = tagger.tagString(sCurrentLine); System.out.println(tagged); } } catch (IOException e) { e.printStackTrace(); } } }

este es el resultado:

img http://i59.tinypic.com/2w5pp4o.png

como puedes ver en el nodo de oraciones, tiene un atributo Id y aquí es constante = 0, lo que no debería ser. Espero el valor = 0,1,2,3,4, ... no entiendo lo que está mal con mi código


El etiquetador de POS de Stanford (estrictamente hablando, separador de oraciones que se aplica antes del anotador de POS) genera identificadores para oraciones por texto de entrada. Entonces, le pides a tagger que etiquete sCurrentLine consta de una oración, este texto se divide en oraciones, en realidad, solo una, con id = 0; luego pides etiquetar otro texto - sCurrentLine de la siguiente iteración - y de nuevo es la única oración y por lo tanto es la primera oración con id = 0; y así.

Por lo tanto, si quieres identificadores correctos, primero crea todo el texto y luego tagger al tagger . Sin embargo, si su texto de entrada ya está dividido por oraciones, será mejor dejarlo tal como está (y generar identificadores usted mismo en el ciclo, si los necesita).