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); } } }
private void applySRLRemoveUnknownPredicates(final KAFDocument document) { // Scan all predicates in the SRL layer for (final Predicate predicate : Lists.newArrayList(document.getPredicates())) { // Determine whether the predicate is a verb and thus which resource to check for> final Term head = document.getTermsHead(predicate.getTerms()); final boolean isVerb = head.getPos().equalsIgnoreCase("V"); final String resource = isVerb ? "propbank" : "nombank"; // Predicate is invalid if its roleset is unknown in NomBank / PropBank for (final ExternalRef ref : NAFUtils.getRefs(predicate, resource, null)) { final String roleset = ref.getReference(); if (isVerb && PropBank.getRoleset(roleset) == null || !isVerb && NomBank.getRoleset(roleset) == null) { document.removeAnnotation(predicate); if (LOGGER.isDebugEnabled()) { LOGGER.debug("Removed " + NAFUtils.toString(predicate) + " with unknown sense '" + roleset + "' in resource " + resource); } break; } } } }
for (Predicate predicate : document.getPredicates()) { HashSet<String> frameNets = new HashSet<>(); for (ExternalRef externalRef : predicate.getExternalRefs()) {
private void applySRLSelfArgFixing(final KAFDocument document) { for (final Predicate predicate : document.getPredicates()) {
private void applySRLFrameBaseMapping(final KAFDocument document) { for (final Predicate predicate : document.getPredicates()) {
for (final Predicate predicate : ImmutableList.copyOf(document.getPredicates())) { if (NAFUtils.extractHead(document, predicate.getSpan()) == null) { document.removeAnnotation(predicate); for (final Predicate predicate : Lists.newArrayList(document.getPredicates())) { final boolean isSemafor = predicate.getId().startsWith("f_pr") || "semafor".equalsIgnoreCase(predicate.getSource());
private void applySRLRemoveWrongRefs(final KAFDocument document) { for (final Predicate predicate : Lists.newArrayList(document.getPredicates())) {
for (final Predicate predicate : this.document.getPredicates()) { try { processPredicate(predicate); for (final Predicate predicate : this.document.getPredicates()) { for (final Role role : predicate.getRoles()) { final Term roleHead = NAFUtils.extractHead(this.document, role.getSpan());
outer: for (final Predicate predicate : this.document.getPredicates()) { if (this.sentenceIDs[predicate.getSpan().getFirstTarget().getSent()]) { for (final Predicate predicate : this.document.getPredicates()) { if (this.sentenceIDs[predicate.getSpan().getFirstTarget().getSent()]) { final PropBank.Roleset rs = PropBank
private void applySRLSenseMapping(final KAFDocument document) { for (final Predicate predicate : document.getPredicates()) {
for (final Predicate predicate : document.getPredicates()) { normalizeRefs(getRefs(predicate)); for (final Role role : predicate.getRoles()) {