parser - tratar xml java
Documento de GATE de Parse para obtener texto de correferencia (1)
No conozco el suyo, pero las correlaciones creadas manualmente usando el Editor de Co-referencia se almacenan en una característica del documento . El nombre de la característica parece ser "MatchesAnnots"
y el tipo Map<String, List<List<Integer>>>
.
En mi caso, el siguiente código se imprime as name: null
(el conjunto de anotaciones predeterminado) seguido de todas las cadenas de correferencia presentes en él.
Object obj = document.getFeatures().get("MatchesAnnots");
@SuppressWarnings("unchecked")
Map<String, List<List<Integer>>> map = (Map<String, List<List<Integer>>>) obj;
for (Entry<String, List<List<Integer>>> e : map.entrySet()) {
System.err.println("as name: "+ e.getKey());
for (List<Integer> chain : e.getValue()) {
System.err.println("chain : "+ chain);
}
}
Estoy creando una aplicación GATE que solía encontrar texto de correferencia. Funciona bien y he creado un archivo comprimido de la aplicación por la opción de exportación proporcionada en GATE.
Ahora estoy tratando de usar lo mismo en mi código de Java.
Gate.runInSandbox(true);
Gate.setGateHome(new File(gateHome));
Gate.setPluginsHome(new File(gateHome, "plugins"));
Gate.init();
URL applicationURL = new URL("file:" + new Path(gateHome, "application.xgapp").toString());
application = (CorpusController) PersistenceManager.loadObjectFromUrl(applicationURL);
corpus = Factory.newCorpus("Megaki Corpus");
application.setCorpus(corpus);
Document document = Factory.newDocument(text);
corpus.add(document);
application.execute();
corpus.clear();
Ahora, ¿cómo puedo analizar este documento y obtener un texto de correferencia?