public void insertCandidatesIntoText(DirectedSparseGraph<Node, String> graph, Document document,
double threshholdTrigram, Boolean heuristicExpansionOn) throws IOException {
NamedEntitiesInText namedEntities = document.getNamedEntitiesInText();
String text = document.DocumentText().getText();
HashMap<String, Node> nodes = new HashMap<String, Node>();
Collections.sort(namedEntities.getNamedEntities(), new NamedEntityLengthComparator());
Collections.reverse(namedEntities.getNamedEntities());
String entities = "";
for (NamedEntityInText namedEntity : namedEntities) {
entities = entities.concat(" ".concat(namedEntity.getLabel()));
}
log.info("entities" + entities);
HashSet<String> heuristicExpansion = new HashSet<String>();
for (NamedEntityInText entity : namedEntities) {
String label = text.substring(entity.getStartPos(), entity.getEndPos());
log.info("\tLabel: " + label);
long start = System.currentTimeMillis();
if (heuristicExpansionOn) {
label = heuristicExpansion(heuristicExpansion, label);
}
checkLabelCandidates(graph, threshholdTrigram, nodes, entity, label, false, entities);
log.info("\tGraph size: " + graph.getVertexCount() + " took: " + (System.currentTimeMillis() - start)
+ " ms");
}
}