final List<URI> coreferentialConjuncts = Lists.newArrayList(); for (final Span<Term> span : coref.getSpans()) { final Term head = NAFUtils.extractHead(this.document, span); if (head != null) { final List<URI> uris = Lists.newArrayList();
final Set<Term> terms = Sets.newHashSet(); for (final Span<Term> span : spans) { final Term head = extractHead(document, span); heads.add(head); terms.addAll(span.getTargets());
final Map<Term, Set<Term>> clusters = Maps.newHashMap(); for (final Span<Term> span : spans) { final Term head = extractHead(document, span); clusters.put(head, Sets.newHashSet(head)); extents.put(head, span.getTargets());
final List<List<URI>> corefURIs = Lists.newArrayList(); for (final Span<Term> span : spans) { final Term head = NAFUtils.extractHead(this.document, span); if (head != null) { final List<Term> terms = Lists.newArrayList();
private void applySRLRoleLinking(final KAFDocument document) { // Process all the roles in the SRL layer for (final Predicate predicate : Lists.newArrayList(document.getPredicates())) { for (final Role role : predicate.getRoles()) { // Identify the role head. Skip if not found. final Term head = NAFUtils.extractHead(document, role.getSpan()); if (head == null) { continue; } // Identify the terms that can be linked final Set<Term> argTerms = document.getTermsByDepAncestors( Collections.singleton(head), PARTICIPATION_REGEX); // Perform the linking, possible augmenting terms using coref info linkEntitiesTimexPredicates(document, role, role.getSpan(), argTerms, this.srlRoleLinkingUsingCoref); } } }
public static boolean hasHead(final KAFDocument document, final Object annotation, final Term head) { List<Span<Term>> spans; if (annotation instanceof Coref) { spans = ((Coref) annotation).getSpans(); } else if (annotation instanceof Entity) { spans = ((Entity) annotation).getSpans(); } else if (annotation instanceof Timex3) { spans = ImmutableList.of(KAFDocument.newTermSpan(document .getTermsByWFs(((Timex3) annotation).getSpan().getTargets()))); } else if (annotation instanceof Predicate) { spans = ImmutableList.of(((Predicate) annotation).getSpan()); } else if (annotation instanceof Role) { spans = ImmutableList.of(((Role) annotation).getSpan()); } else { throw new IllegalArgumentException("Unsupported annotation: " + annotation); } for (final Span<Term> span : spans) { if (head == extractHead(document, span)) { return true; } } return false; }
private void processRole(final Predicate predicate, final Role role, final Term argHead) { final Term predHead = NAFUtils.extractHead(this.document, predicate.getSpan()); final InstanceMention predMention = this.mentions.get(predHead); if (predMention == null || predMention.head != predHead) {
final Term predHead = NAFUtils.extractHead(this.document, predicate.getSpan()); final Annotation predAnn = this.annotations.get(predHead.getId()); final URI predURI = predAnn == null ? null : predAnn.predicateURI;
final List<Term> spanHeads = Lists.newArrayList(); for (final Span<Term> span : coref.getSpans()) { final Term spanHead = NAFUtils.extractHead(document, span); if (spanHead != null) { spanHeads.add(spanHead); final Term spanHead = NAFUtils.extractHead(document, span); if (term.equals(spanHead)) { final String res = isCoref ? NAFUtils.RESOURCE_ENTITY_COREF final Term timexHead = NAFUtils.extractHead(document, KAFDocument .newTermSpan(document.getTermsByWFs(timex.getSpan().getTargets()))); if (term.equals(timexHead)) { if (term.equals(NAFUtils.extractHead(document, pred.getSpan()))) { final String res = isCoref ? NAFUtils.RESOURCE_PREDICATE_COREF : NAFUtils.RESOURCE_PREDICATE_REF;
final Term head = NAFUtils.extractHead(document, predicate.getSpan()); final FrameBase.POS pos = FrameBase.POS.forPennTag(head.getMorphofeat());
final Term head = NAFUtils.extractHead(this.document, entity.getSpans().get(0)); if (head == null) { return;
final Term head = NAFUtils.extractHead(document, span); if (head == null) { coref.getSpans().remove(span);
if (NAFUtils.extractHead(document, predicate.getSpan()) == null) { document.removeAnnotation(predicate); LOGGER.debug("Removed {} without valid head term", predicate); final Term term = NAFUtils.extractHead(document, predicate.getSpan()); (isSemafor ? semaforPredicates : matePredicates).put(term, predicate);
final Term head = NAFUtils.extractHead(this.document, entity.getSpans().get(0)); if (head == null) { return;
final Term head = NAFUtils.extractHead(this.document, KAFDocument.newTermSpan(terms)); if (head == null) { return;
final Term head = NAFUtils.extractHead(this.document, predicate.getSpan()); if (head == null) { return;
final Term head = NAFUtils.extractHead(this.document, KAFDocument.newTermSpan(terms)); final String label = NAFUtils.getText(NAFUtils.filterTerms(terms)); final String type = timex.getType().trim().toLowerCase();
final Term roleHead = NAFUtils.extractHead(this.document, role.getSpan()); if (roleHead != null) { for (final Term argHead : this.document.getTermsByDepAncestors(
final Term head = NAFUtils.extractHead(this.document, predicate.getSpan()); if (ann.objectURI != null) { for (final Role role : predicate.getRoles()) { selfArg |= head.equals(NAFUtils.extractHead(this.document, role.getSpan()));
final boolean verb = NAFUtils.extractHead(document, predicate.getSpan()) .getMorphofeat().startsWith("VB"); final String resource = verb ? "PropBank" : "NomBank";