public void process(Context c, Sentence s) { // we assume markers occur only at the beginning of clauses // TODO is this heuristic language-specific? Intervals markerInts = new Intervals(); for (Interval clause : s.get(Features.CLAUSES)) for (Marker m : markers) if (testMarker(s, clause, m)) { markerInts.add(clause.low(), clause.low() + m.length()).set(Features.MARKER_TYPE, m.type); break; } s.set(Features.DISCOURSE_MARKERS, markerInts); }
private void maybeAdd(Intervals out, Information info, Interval i) { if (i != null) { i.set(Features.INFORMATION, info); out.add(i); } }