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)); }
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); } } }
final Predicate predicate = (Predicate) proposition.element; markables.add(new SRLElement(proposition, predicate, false)); for (final Role role : predicate.getRoles()) { markables.add(new SRLElement(proposition, role, false));
for (final Role role : ImmutableList.copyOf(predicate.getRoles())) { final Term headTerm = document.getTermsHead(role.getTerms()); if (headTerm == predTerm && role.getSemRole() != null) {
for (final Role role : predicate.getRoles()) { for (final ExternalRef ref : ImmutableList.copyOf(role.getExternalRefs())) { if (ref.getResource().equalsIgnoreCase("framenet")) {
for (final Role mateRole : matePredicate.getRoles()) { boolean addRole = true; final Set<Term> mateTerms = ImmutableSet.copyOf(mateRole.getSpan() .getTargets()); for (final Role semaforRole : semaforPredicate.getRoles()) { final Set<Term> semaforTerms = ImmutableSet.copyOf(semaforRole.getSpan() .getTargets());
for (final Role role : predicate.getRoles()) { final Integer expectedNum = NAFUtils.extractArgNum(role.getSemRole()); for (final ExternalRef ref : NAFUtils.getRefs(role, resource, null)) {
Term a1Head = null; Term a2Head = null; for (final Role role : predicate.getRoles()) { final Term head = NAFUtils.extractHead(this.document, role.getSpan()); Set<Term> corefEntityHeads = null; Set<Term> corefPredicateHeads = null; for (final Role role : predicate.getRoles()) { final Term roleHead = NAFUtils.extractHead(this.document, role.getSpan()); if (roleHead != null) {
for (final Role role : predicate.getRoles()) { final Term roleHead = NAFUtils.extractHead(this.document, role.getSpan()); if (roleHead != null) {
for (final Role role : predicate.getRoles()) {
for (final Role role : predicate.getRoles()) { selfArg |= head.equals(NAFUtils.extractHead(this.document, role.getSpan()));
for (final Role role : predicate.getRoles()) { normalizeRefs(getRefs(role));
predicateElem.addContent(externalReferencesElem); for (Predicate.Role role : predicate.getRoles()) { Element roleElem = new Element("role"); roleElem.setAttribute("id", role.getId());
predicateElem.addContent(externalReferencesElem); for (Predicate.Role role : predicate.getRoles()) { Element roleElem = new Element("role"); roleElem.setAttribute("id", role.getId());