public static int getBegin(final Term term) { return term.getOffset(); }
public static List<Term> getSpan(List<Term> terms, int start, int end) { List<Term> ret = new ArrayList<>(); for (Term t : terms) { int tStart = t.getOffset(); int tEnd = t.getOffset() + t.getLength(); if ((tEnd >= start && tEnd <= end) || (tStart >= start && tStart <= end)) { ret.add(t); // System.out.println(t); // System.out.println(t.getOffset()); // System.out.println(t.getLength()); } } return ret; }
public static int getLength(final Term term) { return getEnd(term) - term.getOffset(); }
public static List<Range> rangesFor(final KAFDocument document, final Iterable<Term> terms) { final List<Range> ranges = Lists.newArrayList(); int startOffset = -1; int endOffset = -1; int termIndex = -2; for (final Term term : Ordering.from(Term.OFFSET_COMPARATOR).sortedCopy(terms)) { final int lastTermIndex = termIndex; termIndex = document.getTerms().indexOf(term); if (termIndex - lastTermIndex > 1) { if (startOffset != -1) { ranges.add(Range.create(startOffset, endOffset)); } startOffset = term.getOffset(); } endOffset = NAFUtils.getEnd(term); } if (startOffset != -1 && endOffset > startOffset) { ranges.add(Range.create(startOffset, endOffset)); } return ranges; }
SRLElement(final SRLElement parent, final Object element, final boolean useProposition) { this.parent = parent; this.element = element; if (useProposition) { final Predicate predicate = (Predicate) element; final Set<Term> termSet = Sets.newHashSet(); termSet.addAll(predicate.getTerms()); for (final Role role : predicate.getRoles()) { termSet.addAll(role.getTerms()); } this.terms = Ordering.from(Term.OFFSET_COMPARATOR).immutableSortedCopy(termSet); } else if (element instanceof Predicate) { this.terms = ((Predicate) element).getTerms(); } else { this.terms = ((Role) element).getTerms(); } this.begin = this.terms.get(0).getOffset(); this.end = endOf(this.terms.get(this.terms.size() - 1)); }
final int begin = extent.get(0).getOffset(); int offset = begin; int startTermIdx = 0; final int termOffset = term.getOffset(); if (termOffset > offset && !text.substring(offset, termOffset).trim().isEmpty()) { final int start = extent.get(startTermIdx).getOffset(); anchorBuilder.append(text.substring(start, offset)).append(" [...] "); uriBuilder.append(offset).append(";").append(termOffset).append(','); componentURIs.add(emitNIF(extent.subList(startTermIdx, extent.size()))); anchorBuilder.append(text.substring(extent.get(startTermIdx).getOffset(), offset)); uriBuilder.append(offset);
offsets[i] = terms.get(i).getOffset();
offsets[i] = terms.get(i).getOffset();
termsHashMap.put(term.getOffset(), term);
termsHashMap.put(term.getOffset(), term);
String lemma = term.getLemma(); if (lemmas == null || lemmas.containsKey(lemma)) { String text = folder + "_" + fileNum + "_" + term.getOffset(); goldTmpClusters.put(idCluster, text); goldClusters.put(text, idCluster); int n = 0; for (Term token : sentenceTerms) { String id = String.format("%d_%d_%d", folder, fileNum, token.getOffset()); String last; n++; int n = 0; for (Term token : sentenceTerms) { String id = String.format("%d_%d_%d", folder, fileNum, token.getOffset()); if (okEvents.contains(id)) { useThis = true;
indexes.put("expression-start", opinion.getExpressionSpan().getTargets().get(0).getOffset()); indexes.put("expression-end", opinion.getExpressionSpan().getTargets().get(opinion.getExpressionSpan().getTargets().size() - 1).getOffset() + opinion.getExpressionSpan().getTargets().get(opinion.getExpressionSpan().getTargets().size() - 1).getLength()); if (opinion.getOpinionHolder() != null && !opinion.getOpinionHolder().getTerms().isEmpty()) { holder = opinion.getHolderSpan().getStr(); indexes.put("holder-start", opinion.getHolderSpan().getTargets().get(0).getOffset()); indexes.put("holder-end", opinion.getHolderSpan().getTargets().get(opinion.getHolderSpan().getTargets().size() - 1).getOffset() + opinion.getHolderSpan().getTargets().get(opinion.getHolderSpan().getTargets().size() - 1).getLength()); if (opinion.getOpinionTarget() != null && !opinion.getOpinionTarget().getTerms().isEmpty()) { target = opinion.getTargetSpan().getStr(); indexes.put("target-start", opinion.getTargetSpan().getTargets().get(0).getOffset()); indexes.put("target-end", opinion.getTargetSpan().getTargets().get(opinion.getTargetSpan().getTargets().size() - 1).getOffset() + opinion.getTargetSpan().getTargets().get(opinion.getTargetSpan().getTargets().size() - 1).getLength());
String lemma = term.getLemma(); if (lemmas == null || lemmas.contains(lemma)) { String text = folder + "_" + fileNum + "_" + term.getOffset(); goldTmpClusters.put(idCluster, text); okEvents.add(text);
String text = folder + "_" + fileNum + "_" + term.getOffset(); goldTmpClusters.put(idCluster, text); goldClusters.put(text, idCluster); int n = 0; for (Term token : sentenceTerms) { String id = String.format("%d_%s_%d", folder, fileNum, token.getOffset()); String last; n++; int n = 0; for (Term token : sentenceTerms) { String id = String.format("%d_%s_%d", folder, fileNum, token.getOffset()); if (okEvents.contains(id)) { useThis = true;
String text = folder + "_" + fileNum + "_" + term.getOffset(); goldTmpClusters.put(idCluster, text); goldClusters.put(text, idCluster); int n = 0; for (Term token : sentenceTerms) { String id = String.format("%d_%s_%d", folder, fileNum, token.getOffset()); String last; n++; int n = 0; for (Term token : sentenceTerms) { String id = String.format("%d_%s_%d", folder, fileNum, token.getOffset()); if (okEvents.contains(id)) { useThis = true;