public List<DEPArc> getGrandDependents() { List<DEPArc> list = new ArrayList<DEPArc>(); for (DEPArc arc : l_dependents) list.addAll(arc.getNode().getDependents()); return list; }
private DEPNode getLastNodeAux(DEPNode node) { List<DEPArc> deps = node.getDependents(); if (deps.isEmpty()) return node; DEPNode dep = getLastNodeAux(deps.get(deps.size()-1).getNode()); return (dep.id < node.id) ? node : dep; }
public DEPNode getFirstNodeAux(DEPNode node) { List<DEPArc> deps = node.getDependents(); if (deps.isEmpty()) return node; DEPNode dep = getFirstNodeAux(deps.get(0).getNode()); return (dep.id > node.id) ? node : dep; }
private boolean isUser(DEPNode node) { if (!USER.equalsIgnoreCase(node.form)) return false; for (DEPArc arc : node.getDependents()) { if (!arc.isLabel(DEPLibEn.DEP_DET) && !arc.isLabel(DEPLibEn.DEP_POSSESSIVE)) return false; } return true; } }
private void getSubNodeCollectionAux(Collection<DEPNode> col, DEPNode curr) { col.add(curr); for (DEPArc arc : curr.getDependents()) getSubNodeCollectionAux(col, arc.getNode()); }
private void getDescendentsAux(DEPNode curr, List<DEPArc> list, int depth) { List<DEPArc> deps = curr.getDependents(); list.addAll(deps); if (depth == 0) return; for (DEPArc arc : deps) getDescendentsAux(arc.getNode(), list, depth-1); }
protected String[] getDefaultFields(FtrToken token, DEPNode node) { if (token.isField(JointFtrXml.F_DEPREL_SET)) { return getDeprelSet(node.getDependents()); } return null; }
/** {@link LGAsk#generateAskFromQuestion(DEPTree, String)}. */ private DEPNode getReferentArgument(DEPNode verb) { DEPNode dep; for (DEPArc arc : verb.getDependents()) { dep = arc.getNode(); if (dep.containsSHead(verb, SRLLib.P_ARG_REF)) return dep; } return null; }
@Deprecated private void stripUnnecessaries(DEPNode node) { List<DEPArc> remove = new ArrayList<DEPArc>(); for (DEPArc arc : node.getDependents()) { if (arc.isLabel(DEPLibEn.DEP_PUNCT) || arc.isLabel(DEPLibEn.DEP_COMPLM) || arc.isLabel(DEPLibEn.DEP_MARK)) remove.add(arc); } node.removeDependents(remove); }
static public boolean containsRelativizer(DEPNode arg) { DEPNode dep; for (DEPArc arc : arg.getDependents()) { dep = arc.getNode(); if (dep.pos.startsWith("W") || (!MPLibEn.isVerb(dep.pos) && containsRelativizer(dep))) return true; } return false; }
private void removeDependents(DEPNode root, DEPNode verb) { List<DEPArc> remove = new ArrayList<DEPArc>(); for (DEPArc arc : verb.getDependents()) { if (arc.isLabel(P_REMOVE)) { arc.getNode().setHead(root); remove.add(arc); } } verb.removeDependents(remove); }
@Override protected String[] getFields(FtrToken token) { DEPNode node = getNode(token); if (node == null) return null; if (token.isField(JointFtrXml.F_DEPREL_SET)) { return getDeprelSet(node.getDependents()); } return null; }
public void getDescendentsAux(DEPNode node, List<DEPNode> desc, Pattern regex) { for (DEPArc arc : node.getDependents()) { if (arc.isLabel(regex)) { getDescendentsAux(arc.getNode(), desc, regex); desc.add(arc.getNode()); } } }
private DEPArc getAnyDescendentArcByPOSAux(DEPNode node, String pos) { DEPNode dep; for (DEPArc arc : node.getDependents()) { dep = arc.getNode(); if (dep.isPos(pos)) return arc; arc = getAnyDescendentArcByPOSAux(dep, pos); if (arc != null) return arc; } return null; }
@Override protected String[] getFields(FtrToken token) { DEPNode node = getNode(token); if (node == null) return null; if (token.isField(JointFtrXml.F_DEPREL_SET)) { return getDeprelSet(node.getDependents()); } return null; }
@Override protected String[] getFields(FtrToken token) { DEPNode node = getNode(token); if (node == null) return null; if (token.isField(JointFtrXml.F_DEPREL_SET)) { return getDeprelSet(node.getDependents()); } return null; }
private void getSubIdSetAux(IntOpenHashSet set, DEPNode curr) { set.add(curr.id); for (DEPArc arc : curr.getDependents()) getSubIdSetAux(set, arc.getNode()); }
/** Called by {@link AbstractSRLabeler#label(DEPTree)}. */ private void labelAux(DEPNode pred, DEPNode head) { if (!s_skip.contains(head.id)) { i_arg = head.id; addArgument(getLabel(getDirIndex())); } labelDown(pred, head.getDependents()); }
private void collectDown(DEPNode pred, DEPNode arg) { if (arg.isArgumentOf(pred)) { for (String path : getDUPathList(pred, arg.getHead())) m_down.add(path); } for (DEPArc arc : arg.getDependents()) collectDown(pred, arc.getNode()); }
private void collectUp(DEPNode pred, DEPNode head) { if (head == null) return; for (DEPArc arc : head.getDependents()) { if (arc.getNode().isArgumentOf(pred)) { for (String path : getDUPathList(head, pred)) m_up.add(path); break; } } collectUp(pred, head.getHead()); }