/** 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); } } }
@Override public DEPTree next() { DEPTree tree = null; try { List<String[]> lines = readLines(); if (lines == null) return null; tree = getDEPTree(lines); tree.initSHeads(); if (i_sheads >= 0) setSHeads(lines, tree); } catch (Exception e) {e.printStackTrace();} return tree; }
private void addPBArgs(DEPTree dTree, CTTree cTree) { CTNode root = cTree.getRoot(); dTree.initSHeads(); if (root.pbArgs != null) { initPBArgs(dTree, cTree, root); arrangePBArgs(dTree); relabelArgNs(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(); }
tree.initSHeads();
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; }
private 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; }