public String getRolesetID() { return d_predicate.getFeat(DEPLib.FEAT_PB); }
@Override public void countAccuracy(int[] counts) { int i, pTotal = 0, rTotal = 0, correct = 0; DEPNode node; for (i=1; i<t_size; i++) { node = d_tree.get(i); if (node.getFeat(DEPLib.FEAT_PB) != null) { pTotal++; if (g_preds[i]) correct++; } if (g_preds[i]) rTotal++; } counts[0] += correct; counts[1] += pTotal; counts[2] += rTotal; }
@Override public void countAccuracy(int[] counts) { int i, correct = 0, total = 0; String gRoleset; DEPNode node; for (i=1; i<t_size; i++) { node = d_tree.get(i); gRoleset = g_rolesets[i]; if (gRoleset != null) { total++; if (gRoleset.equals(node.getFeat(DEPLib.FEAT_PB))) correct++; } } counts[0] += total; counts[1] += correct; }
@Override public void countAccuracy(int[] counts) { int i, correct = 0, total = 0; String gRoleset; DEPNode node; for (i=1; i<t_size; i++) { node = d_tree.get(i); gRoleset = g_senses[i]; if (gRoleset != null) { total++; if (gRoleset.equals(node.getFeat(s_key))) correct++; } } counts[0] += total; counts[1] += correct; }
public boolean containsPredicate() { int i, size = size(); for (i=1; i<size; i++) { if (get(i).getFeat(DEPLib.FEAT_PB) != null) return true; } return false; }
public String[] getSenses(String key) { int i, size = size(); String[] senses = new String[size]; for (i=1; i<size; i++) senses[i] = get(i).getFeat(key); return senses; }
public DEPNode getNextPredicate(int prevId) { int i, size = size(); DEPNode pred; for (i=prevId+1; i<size; i++) { pred = get(i); if (pred.getFeat(DEPLib.FEAT_PB) != null) return pred; } return null; }
public Boolean[] getPredicates() { int i, size = size(); Boolean[] rolesets = new Boolean[size]; for (i=1; i<size; i++) rolesets[i] = get(i).getFeat(DEPLib.FEAT_PB) != null; return rolesets; }
public String[] getRolesetIDs() { int i, size = size(); String[] rolesets = new String[size]; for (i=1; i<size; i++) rolesets[i] = get(i).getFeat(DEPLib.FEAT_PB); return rolesets; }
private PBRoleset getRoleset() { if (m_frames != null) { DEPNode pred = d_tree.get(i_pred); PBType type = getPBType(pred); if (type != null) return m_frames.getRoleset(type, pred.lemma, pred.getFeat(DEPLibEn.FEAT_PB)); } return null; }
/** Called by {@link CSenseClassifier#processAux()}. */ protected void classify() { String cue = (i_flag == FLAG_DECODE && s_key.equals(DEPLib.FEAT_VN)) ? DEPLib.FEAT_PB : s_key; DEPNode pred; String sense; for (i_pred=1; i_pred<t_size; i_pred++) { pred = d_tree.get(i_pred); if (pred.getFeat(cue) != null) { if ((sense = m_senses.get(pred.lemma)) == null) { if (m_lemmas.containsKey(pred.lemma)) sense = getLabel(m_lemmas.get(pred.lemma)); else if (s_key.equals(DEPLib.FEAT_PB)) sense = pred.lemma+".01"; else if (s_key.equals(DEPLib.FEAT_VN)) sense = "unknown"; } pred.addFeat(s_key, sense); } } }
@Deprecated private DEPNode findPredicateInQuestion(SRLTree qsTree, String label, String lemma) { SRLArc qArc = qsTree.getFirstArgument(label); if (qArc != null && qArc.getNode().getFeat(DEPLibEn.FEAT_PB) != null) { return qArc.getNode(); } else { DEPNode arg; for (SRLArc arc : qsTree.getArguments()) { arg = arc.getNode(); if (arg.getFeat(DEPLibEn.FEAT_PB) != null && arg.isLemma(lemma)) return arg; } } return null; }
void classifySentenceType(DEPTree tree, IntIntPair count) { int i, size = tree.size(); DEPNode node; String feat; tree.setDependents(); for (i=1; i<size; i++) { node = tree.get(i); feat = node.getFeat(DEPLib.FEAT_SNT); if (node.pos.startsWith("VB")) { if (isImperative(node)) { count.i1++; if (feat == null || !feat.equals("IMP")) { if (node.isLemma("be")) System.out.println(node.id+" "+tree.toStringDEP()+"\n"); count.i2++; } } } } }
return node.getFeat(m.group(1));
return node.getFeat(m.group(1));
private void resetVerbPOSTag(DEPNode head, DEPNode dep) { String p2 = head.getFeat(DEPLib.FEAT_POS2); if (p2 != null && (MPLibEn.isNoun(head.pos) || head.isPos(CTLibEn.POS_IN)) && ((MPLibEn.isVerb(p2) || p2.equals(CTLibEn.POS_UH)))) { if (dep.isLabel(DEPLibEn.DEP_DOBJ) || DEPLibEn.isAuxiliary(dep.getLabel()) || dep.isLabel(DEPLibEn.DEP_PRT) || dep.isLabel(DEPLibEn.DEP_ACOMP))// || DEPLibEn.isSubject(dep.getLabel()) || dep.equals(DEPLibEn.DEP_EXPL)) || dep.isLabel(DEPLibEn.DEP_AGENT) || dep.isLabel(DEPLibEn.DEP_ATTR) || dep.isLabel(DEPLibEn.DEP_IOBJ))) { if (p2.equals(CTLibEn.POS_UH)) head.addFeat(DEPLib.FEAT_POS2, CTLibEn.POS_VB); n_2ndPos[head.id] += 1d; } } }
/** Called by {@link CRolesetClassifier#processAux()}. */ protected void classify() { DEPNode pred; String roleset; for (i_pred=1; i_pred<t_size; i_pred++) { pred = d_tree.get(i_pred); if (pred.getFeat(DEPLib.FEAT_PB) != null) { if ((roleset = m_rolesets.get(pred.lemma)) == null) { if (m_lemmas.containsKey(pred.lemma)) roleset = getLabel(m_lemmas.get(pred.lemma)); else roleset = pred.lemma+".01"; } pred.addFeat(DEPLib.FEAT_PB, roleset); } } }
public SRLTree getSRLTree(DEPNode pred) { if (pred.getFeat(DEPLib.FEAT_PB) == null) return null; SRLTree tree = new SRLTree(pred); int i, size = size(); DEPNode node; String label; for (i=1; i<size; i++) { node = get(i); label = node.getSLabel(pred); if (label != null) tree.addArgument(node, label); } return tree; }
static public String getReferentValueOf3rdPronoun(DEPNode node) { String coref = node.getFeat(DEPLibEn.FEAT_COREF); if (coref == null) return null; if (node.isLemma("his") || node.isLemma("hers") || node.isLemma("its") || node.lemma.startsWith("our") || node.lemma.startsWith("your") || node.lemma.startsWith("their")) return getPossessiveForm(coref); if (node.isLemma("he") || node.isLemma("him") || node.isLemma("she") || node.isLemma("it") || node.isLemma("we") || node.isLemma("us") || node.isLemma("they") || node.isLemma("them")) return coref; if (node.isLemma("her")) return node.isPos(CTLibEn.POS_PRPS) ? getPossessiveForm(coref) : coref; return null; }
/** Called by {@link LGAsk#generateQuestionFromAsk(DEPTree, String)}. */ private void resetDEPTreePost(DEPTree tree, DEPNode root) { root.setHead(tree.get(0), DEPLibEn.DEP_ROOT); String end = STPunct.QUESTION_MARK; String vtype; if ((vtype = root.getFeat(DEPLib.FEAT_VERB_TYPE)) != null && vtype.equals(NON_FINITE)) { tree.add(1, getNode(root, PLEASE, PLEASE, CTLibEn.POS_UH, DEPLibEn.DEP_INTJ, SRLLib.ARGM_DIS)); end = STPunct.PERIOD; } DEPNode last = root.getLastNode(); if (last.isPos(CTLibEn.POS_PERIOD)) { last.form = end; last.lemma = end; } else tree.add(getNode(root, end, end, CTLibEn.POS_PERIOD, DEPLibEn.DEP_PUNCT, null)); }