public DEPTree getNullTree() { DEPTree tree = new DEPTree(); DEPNode dummy = new DEPNode(1, "NULL", "NULL", "NULL", new DEPFeat()); dummy.setHead(tree.get(0), "NULL"); tree.add(dummy); tree.initXHeads(); tree.initSHeads(); return tree; }
/** Called by {@link AbstractPOSTagger#process(DEPTree)}. */ protected void init(DEPTree tree) { d_tree = tree; t_size = tree.size(); if (i_flag != FLAG_DECODE) { g_tags = tree.getPOSTags(); tree.clearPOSTags(); } EngineProcess.normalizeForms(tree); }
/** Called by {@link CSenseClassifier#process(DEPTree)}. */ protected void init(DEPTree tree) { d_tree = tree; t_size = tree.size(); if (i_flag != FLAG_DECODE) g_senses = d_tree.getSenses(s_key); tree.setDependents(); }
/** * Sets dependents of each node in this tree only if no dependent has ever been set before. * If you are not sure if you have set any dependent or not, use {@link DEPTree#resetDependents()} instead. */ public void setDependents() { if (get(0).l_dependents != null) return; resetDependents(); }
public DEPTree getDEPTreeWithoutEdited(CTTree cTree, DEPTree dTree) { IntOpenHashSet set = new IntOpenHashSet(); addEditedTokensAux(cTree.getRoot(), set); int i, j, size = dTree.size(); DEPTree tree = new DEPTree(); DEPNode node; for (i=1,j=1; i<size; i++) { if (!set.contains(i)) { node = dTree.get(i); node.id = j++; removeEditedHeads(node.getXHeads(), set); removeEditedHeads(node.getSHeads(), set); tree.add(node); } } return (tree.size() == 1) ? null : tree; }
tree.setDependents(); root = tree.getFirstRoot(); head = root.getDependents().get(0).getNode(); tree = new DEPTree(); head.removeDependentsByLabels(p); tree.add(node); if (node.isDependentOf(root)) node.setHead(tree.get(0), DEPLibEn.DEP_ROOT); tree.resetIDs(); fout.println(tree.toStringSRL()+"\n");
DEPTree tree = new DEPTree(); DEPNode node; String[] tmp; tree.add(new DEPNode()); tree.get(0).setXHeads(new ArrayList<DEPArc>()); tree.get(0).setXHeads(new ArrayList<DEPArc>()); nament = (i_nament < 0) ? null : tmp[i_nament]; node = tree.get(id); node.init(id, form, lemma, pos, new DEPFeat(feats)); node.nament = nament; node.setHead(tree.get(Integer.parseInt(tmp[i_headId])), tmp[i_deprel]); if (i_coref >= 0) tree.setMentions(getMentions(lines)); return tree;
/** Sets semantic heads of the specific dependency tree given the input lines. */ private void setSHeads(List<String[]> lines, DEPTree tree) { int i, headId, size = tree.size(); String heads, label; String[] tmp; DEPNode node; tree.initSHeads(); for (i=1; i<size; i++) { node = tree.get(i); heads = lines.get(i-1)[i_sheads]; if (heads.equals(AbstractColumnReader.BLANK_COLUMN)) continue; for (String head : heads.split(DEPLib.DELIM_HEADS)) { tmp = head.split(DEPLib.DELIM_HEADS_KEY); headId = Integer.parseInt(tmp[0]); label = tmp[1]; node.addSHead(tree.get(headId), label); } } }
/** {@link LGAsk#generateAskFromQuestion(DEPTree, String)}. */ private void addPrefix(DEPTree tree, DEPNode verb, DEPNode ref) { DEPNode ask = getNode(tree.get(0), "Ask", "ask", CTLibEn.POS_VB, DEPLibEn.DEP_ROOT, null); verb.setHead(ask); tree.add(1, ask); if (ref == null && !hasRelativizer(tree) && !DEPLibEn.containsRelativizer(verb)) { DEPNode complm = getNode(verb, "whether", "whether", CTLibEn.POS_IN, DEPLibEn.DEP_COMPLM, null); tree.add(2, complm); } }
int i, j, bIdx, eIdx, size = size(); DEPNode curr, head, dep; curr = get(i); head = curr.getHead(); curr = get(j); head = curr.getHead(); addNonProjectiveMap(map, i, j); addNonProjectiveMap(map, j, i); addNonProjectiveMap(map, i, dep.id); addNonProjectiveMap(map, dep.id, i); return getNonProjectiveMapAux(map);
static public void main(String[] args) { DEPReader fin = new DEPReader(0, 1, 2, 3, 4, 5, 6); DEPTree tree = new DEPTree(); fin.open(UTInput.createBufferedFileReader(args[0])); tree = fin.next(); CSenTypeClassifierEN sen = new CSenTypeClassifierEN(); tree.setDependents(); System.out.println(sen.isInterrogative(tree.get(1))); } }
/** @return the dependency tree converted from the specific constituent tree without head information. */ protected DEPTree initDEPTree(CTTree cTree) { DEPTree dTree = new DEPTree(); String form, lemma, pos; DEPNode dNode; int id; for (CTNode node : cTree.getTokens()) { id = node.getTokenId() + 1; form = MPLib.revertBracket(node.form); lemma = AbstractColumnReader.BLANK_COLUMN; pos = node.pTag; dNode = new DEPNode(id, form, lemma, pos, node.c2d.d_feats); dTree.add(dNode); } dTree.initXHeads(); return dTree; }
/** Called by {@link AbstractSRLabeler#process(DEPTree)}. */ protected void init(DEPTree tree) { d_tree = tree; t_size = tree.size(); i_pred = getNextPredId(0); s_skip = new IntOpenHashSet(); l_argns = new ArrayList<String>(); m_argns = new HashMap<String,ObjectDoublePair<DEPNode>>(); if (i_flag != FLAG_DECODE) { g_heads = tree.getSHeads(); tree.clearSHeads(); } else tree.initSHeads(); initArcs(); }
/** Called by {@link CPredIdentifier#process(DEPTree)}. */ protected void init(DEPTree tree) { d_tree = tree; t_size = tree.size(); if (i_flag != FLAG_DECODE) g_preds = tree.getPredicates(); tree.clearPredicates(); tree.setDependents(); }
/** * Constructs a dependency tree. * An artificial root node gets inserted automatically. */ public DEPTree() { DEPNode root = new DEPNode(); root.initRoot(); add(root); }