use of opennlp.tools.coref.mention.Mention in project lucida by claritylab.
the class OpenNLP method link.
/**
* Identifies coreferences in an array of full parses of sentences.
*
* @param parses array of full parses of sentences
*/
public static void link(Parse[] parses) {
int sentenceNumber = 0;
List<Mention> document = new ArrayList<Mention>();
for (Parse parse : parses) {
DefaultParse dp = new DefaultParse(parse, sentenceNumber);
Mention[] extents = linker.getMentionFinder().getMentions(dp);
//construct new parses for mentions which do not have constituents
for (int i = 0; i < extents.length; i++) if (extents[i].getParse() == null) {
Parse snp = new Parse(parse.getText(), extents[i].getSpan(), "NML", 1.0);
parse.insert(snp);
extents[i].setParse(new DefaultParse(snp, sentenceNumber));
}
document.addAll(Arrays.asList(extents));
sentenceNumber++;
}
if (document.size() > 0) {
// Mention[] ms = document.toArray(new Mention[document.size()]);
// DiscourseEntity[] entities = linker.getEntities(ms);
// TODO return results in an appropriate data structure
}
}
Aggregations