private Map<Constituent, Constituent> getGoldToPredictionPredicateMapping() { Map<Constituent, Constituent> goldToPredictionPredicateMapping = new HashMap<>(); for (Constituent gp : gold.getPredicates()) { for (Constituent pp : prediction.getPredicates()) { if (gp.getSpan().equals(pp.getSpan())) { goldToPredictionPredicateMapping.put(gp, pp); break; } } } return goldToPredictionPredicateMapping; } }
private Map<Constituent, Constituent> getGoldToPredictionPredicateMapping() { Map<Constituent, Constituent> goldToPredictionPredicateMapping = new HashMap<>(); for (Constituent gp : gold.getPredicates()) { for (Constituent pp : prediction.getPredicates()) { if (gp.getSpan().equals(pp.getSpan())) { goldToPredictionPredicateMapping.put(gp, pp); break; } } } return goldToPredictionPredicateMapping; } }
private static void convertPredicateArgView(TextAnnotation ta, PredicateArgumentView pav, List<String[]> columns, boolean addSense) { List<Constituent> predicates = new ArrayList<>(); if (pav != null) predicates = pav.getPredicates(); Collections.sort(predicates, TextAnnotationUtilities.constituentStartComparator); int size = ta.size(); addPredicateInfo(columns, predicates, size, addSense); for (Constituent predicate : predicates) { assert pav != null; List<Relation> args = pav.getArguments(predicate); String[] paInfo = addPredicateArgInfo(predicate, args, size); columns.add(paInfo); } }
public CommaSRLSentence(TextAnnotation ta) { this.ta = ta; this.goldTa = ta; commas = new ArrayList<>(); PredicateArgumentView commaView = (PredicateArgumentView) ta.getView(CommaLabeler.viewName); List<Constituent> preds = commaView.getPredicates(); Collections.sort(preds, TextAnnotationUtilities.constituentStartComparator); for (int predIdx = 0; predIdx < preds.size(); predIdx++) { List<String> labels = new ArrayList<>(); labels.add(preds.get(predIdx).getLabel()); int commaPosition = preds.get(predIdx).getStartSpan(); for (int nextPredIdx = predIdx + 1; nextPredIdx < preds.size(); nextPredIdx++) { if (preds.get(nextPredIdx).getStartSpan() == commaPosition) { labels.add(preds.get(nextPredIdx).getLabel()); predIdx++; } else break; } commas.add(new Comma(commaPosition, this, labels)); } }
public CommaSRLSentence(TextAnnotation ta) { this.ta = ta; this.goldTa = ta; commas = new ArrayList<>(); PredicateArgumentView commaView = (PredicateArgumentView) ta.getView(CommaLabeler.viewName); List<Constituent> preds = commaView.getPredicates(); Collections.sort(preds, TextAnnotationUtilities.constituentStartComparator); for (int predIdx = 0; predIdx < preds.size(); predIdx++) { List<String> labels = new ArrayList<>(); labels.add(preds.get(predIdx).getLabel()); int commaPosition = preds.get(predIdx).getStartSpan(); for (int nextPredIdx = predIdx + 1; nextPredIdx < preds.size(); nextPredIdx++) { if (preds.get(nextPredIdx).getStartSpan() == commaPosition) { labels.add(preds.get(nextPredIdx).getLabel()); predIdx++; } else break; } commas.add(new Comma(commaPosition, this, labels)); } }
private void convertPredicateArgView(TextAnnotation ta, PredicateArgumentView pav, List<String[]> columns, boolean addSense) { List<Constituent> predicates = new ArrayList<>(); if (pav != null) predicates = pav.getPredicates(); Collections.sort(predicates, TextAnnotationUtilities.constituentStartComparator); int size = ta.size(); addPredicateInfo(columns, predicates, size, addSense); for (Constituent predicate : predicates) { assert pav != null; List<Relation> args = pav.getArguments(predicate); String[] paInfo = addPredicateArgInfo(predicate, args, size); columns.add(paInfo); } }
public void evaluateSense(ClassificationTester senseTester, View goldView, View predictionView) { gold = (PredicateArgumentView) goldView; prediction = (PredicateArgumentView) predictionView; goldToPredictionPredicateMapping = getGoldToPredictionPredicateMapping(); for (Constituent gp : gold.getPredicates()) { if (goldToPredictionPredicateMapping.containsKey(gp)) { Constituent pp = goldToPredictionPredicateMapping.get(gp); String goldSense = gp.getAttribute(PredicateArgumentView.SenseIdentifer); // XXX: As in training, all predicates that are labeled as XX are marked as 01 if (goldSense.equals("XX")) goldSense = "01"; String predSense = pp.getAttribute(PredicateArgumentView.SenseIdentifer); assert predSense != null; senseTester.record(goldSense, predSense); } } }
public void evaluateSense(ClassificationTester senseTester, View goldView, View predictionView) { gold = (PredicateArgumentView) goldView; prediction = (PredicateArgumentView) predictionView; goldToPredictionPredicateMapping = getGoldToPredictionPredicateMapping(); for (Constituent gp : gold.getPredicates()) { if (goldToPredictionPredicateMapping.containsKey(gp)) { Constituent pp = goldToPredictionPredicateMapping.get(gp); String goldSense = gp.getAttribute(PredicateArgumentView.SenseIdentifer); // XXX: As in training, all predicates that are labeled as XX are marked as 01 if (goldSense.equals("XX")) goldSense = "01"; String predSense = pp.getAttribute(PredicateArgumentView.SenseIdentifer); assert predSense != null; senseTester.record(goldSense, predSense); } } }
StringBuilder sb = new StringBuilder(); List<Constituent> p = new ArrayList<>(this.getPredicates());
StringBuilder sb = new StringBuilder(); List<Constituent> p = new ArrayList<>(this.getPredicates());
prediction = (PredicateArgumentView) predictionView; goldToPredictionPredicateMapping = getGoldToPredictionPredicateMapping(); for (Constituent gp : gold.getPredicates()) { if (!goldToPredictionPredicateMapping.containsKey(gp)) {
if (pav.getPredicates().size() > 0) ta.addView(srlViewName, pav);
if (pav.getPredicates().size() > 0) ta.addView(srlViewName, pav);
public static void main(String[] args) throws Exception { String columnFile = "02.feats"; CoNLLColumnFormatReader reader = new CoNLLColumnFormatReader("PennTreebank-WSJ", "02", columnFile, ViewNames.SRL_VERB, new BasicTextAnnotationBuilder()); Counter<String> counter = new Counter<>(); List<String> predicates = new ArrayList<>(); for (TextAnnotation ta : reader) { counter.incrementCount("Sentences"); System.out.println(ta.getTokenizedText()); if (!ta.hasView(ViewNames.SRL_VERB)) continue; PredicateArgumentView pav = (PredicateArgumentView) ta.getView(ViewNames.SRL_VERB); List<Constituent> predicates2 = pav.getPredicates(); counter.incrementCount("Predicates", predicates2.size()); for (Constituent c : predicates2) { predicates.add(c.getAttribute(PredicateArgumentView.LemmaIdentifier)); } } System.out.println((int) counter.getCount("Sentences") + " sentences"); System.out.println((int) counter.getCount("Predicates") + " predicates"); }
public static void main(String[] args) throws Exception { String columnFile = "02.feats"; CoNLLColumnFormatReader reader = new CoNLLColumnFormatReader("PennTreebank-WSJ", "02", columnFile, ViewNames.SRL_VERB, new BasicTextAnnotationBuilder()); Counter<String> counter = new Counter<>(); List<String> predicates = new ArrayList<>(); for (TextAnnotation ta : reader) { counter.incrementCount("Sentences"); System.out.println(ta.getTokenizedText()); if (!ta.hasView(ViewNames.SRL_VERB)) continue; PredicateArgumentView pav = (PredicateArgumentView) ta.getView(ViewNames.SRL_VERB); List<Constituent> predicates2 = pav.getPredicates(); counter.incrementCount("Predicates", predicates2.size()); for (Constituent c : predicates2) { predicates.add(c.getAttribute(PredicateArgumentView.LemmaIdentifier)); } } System.out.println((int) counter.getCount("Sentences") + " sentences"); System.out.println((int) counter.getCount("Predicates") + " predicates"); }
PredicateArgumentView pav = (PredicateArgumentView) ta.getView(manager.getGoldViewName()); for (Constituent predicate : pav.getPredicates()) { if (!predicate.hasAttribute(PredicateArgumentView.LemmaIdentifier)) { System.out.println(ta);
SRLILPInference inference = manager.getInference(solver, gold.getPredicates());
PredicateArgumentView pav; pav = (PredicateArgumentView) srlTA.getView(ViewNames.SRL_VERB); for (Constituent pred : pav.getPredicates()) { for (Relation rel : pav.getArguments(pred)) { if (rel.getTarget().getEndSpan() > commaPosition for (Constituent pred : pav.getPredicates()) { for (Relation rel : pav.getArguments(pred)) { if (rel.getTarget().getEndSpan() > commaPosition for (Constituent pred : pav.getPredicates()) { for (Relation rel : pav.getArguments(pred)) { if (rel.getTarget().getEndSpan() > commaPosition
PredicateArgumentView pav; pav = (PredicateArgumentView) srlTA.getView(ViewNames.SRL_VERB); for (Constituent pred : pav.getPredicates()) { for (Relation rel : pav.getArguments(pred)) { if (rel.getTarget().getEndSpan() > commaPosition for (Constituent pred : pav.getPredicates()) { for (Relation rel : pav.getArguments(pred)) { if (rel.getTarget().getEndSpan() > commaPosition for (Constituent pred : pav.getPredicates()) { for (Relation rel : pav.getArguments(pred)) { if (rel.getTarget().getEndSpan() > commaPosition
PredicateArgumentView pav = (PredicateArgumentView) ta.getView(manager.getGoldViewName()); for (Constituent pred : pav.getPredicates()) gold.add(pred.getSpan());