private void annotateTimeExpressions(CoreMap annotation, List<TimeExpression> timeExpressions) { List<TimeExpression> toDiscard = new ArrayList<TimeExpression>(); for (TimeExpression te:timeExpressions) { // Add attributes and tids try { @SuppressWarnings("unused") CoreMap chunk = te.extractAnnotation(annotation); SUTime.Temporal temporal = te.getTemporal(); if (temporal != null) { if (temporal != SUTime.TIME_NONE_OK) { te.temporal = timexPatterns.addMod(te.text, temporal); // Timex timex = Timex.fromMap(chunk.get(CoreAnnotations.TextAnnotation.class), temporal.getTimexAttributes(timeIndex)); // chunk.set(Timex.Annotation.class, timex); } else { toDiscard.add(te); } } else { logger.log(Level.WARNING, "Unable to get temporal for time expression " + te); logger.log(Level.WARNING, "Temporal func: " + te.temporalFunc); } } catch (Exception ex) { logger.log(Level.WARNING, "Error extracting annotation with temporal from time expression: " + te, ex); } } timeExpressions.removeAll(toDiscard); }
private void annotateTimeExpressions(List<? extends CoreMap> chunks, List<TimeExpression> timeExpressions) { List<TimeExpression> toDiscard = new ArrayList<TimeExpression>(); for (TimeExpression te:timeExpressions) { // Add attributes and tids try { @SuppressWarnings("unused") CoreMap chunk = te.extractAnnotation(chunks); SUTime.Temporal temporal = te.getTemporal(); if (temporal != null) { if (temporal != SUTime.TIME_NONE_OK) { te.temporal = timexPatterns.addMod(te.text, temporal); // Timex timex = Timex.fromMap(chunk.get(CoreAnnotations.TextAnnotation.class), temporal.getTimexAttributes(timeIndex)); // chunk.set(Timex.Annotation.class, timex); } else { toDiscard.add(te); } } else { logger.log(Level.WARNING, "Unable to get temporal for time expression " + te); } } catch (Exception ex) { logger.log(Level.WARNING, "Error extracting annotation with temporal from time expression: " + te, ex); } } timeExpressions.removeAll(toDiscard); }