public List<List<DEPArc>> getArgumentList() { int i, size = size(); List<DEPArc> args; DEPNode node; List<List<DEPArc>> list = new ArrayList<List<DEPArc>>(); for (i=0; i<size; i++) list.add(new ArrayList<DEPArc>()); for (i=1; i<size; i++) { node = get(i); for (DEPArc arc : node.getSHeads()) { args = list.get(arc.getNode().id); args.add(new DEPArc(node, arc.getLabel())); } } return list; }
static public List<List<DEPArc>> getArgumentList(DEPTree tree) { int i, size = tree.size(); List<DEPArc> args; DEPNode node; List<List<DEPArc>> list = new ArrayList<List<DEPArc>>(); for (i=0; i<size; i++) list.add(new ArrayList<DEPArc>()); for (i=1; i<size; i++) { node = tree.get(i); for (DEPArc arc : node.getSHeads()) { args = list.get(arc.getNode().id); args.add(new DEPArc(node, arc.getLabel())); } } return list; }
@Override public void countAccuracy(int[] counts) { int i, pTotal = 0, rTotal = 0, correct = 0; StringIntPair[] gHeads; List<SRLArc> sHeads; for (i=1; i<t_size; i++) { sHeads = d_tree.get(i).getSHeads(); gHeads = g_heads[i]; pTotal += sHeads.size(); rTotal += gHeads.length; for (StringIntPair p : gHeads) for (DEPArc arc : sHeads) if (arc.getNode().id == p.i && arc.isLabel(p.s)) correct++; } counts[0] += correct; counts[1] += pTotal; counts[2] += rTotal; }
private StringIntPair[][] getSHeadsAux() { int i, j, len, size = size(); StringIntPair[] heads; List<SRLArc> arcs; SRLArc arc; StringIntPair[][] sHeads = new StringIntPair[size][]; sHeads[0] = new StringIntPair[0]; for (i=1; i<size; i++) { arcs = get(i).getSHeads(); len = arcs.size(); heads = new StringIntPair[len]; for (j=0; j<len; j++) { arc = arcs.get(j); heads[j] = new StringIntPair(arc.label, arc.getNode().id); } sHeads[i] = heads; } return sHeads; }
remove = Lists.newArrayList(); for (DEPArc arc : node.getSHeads())
private void arrangePBArgs(DEPTree dTree) { int i, size = dTree.size(); List<SRLArc> remove; DEPNode node, head; String label; for (i=1; i<size; i++) { node = dTree.get(i); remove = Lists.newArrayList(); for (SRLArc arc : node.getSHeads()) { head = arc.getNode(); label = arc.getLabel(); if (ancestorHasSHead(node, head, label)) remove.add(arc); // else if (rnrHasSHead(node, head, label)) // remove.add(arc); } node.removeSHeads(remove); } }
BaseToken token = tokens.get( i - 1 ); for ( DEPArc head : parserNode.getSHeads() ) { Predicate predicate = headIdToPredicate.get( head.getNode() );
BaseToken token = tokens.get( i - 1 ); for ( DEPArc head : parserNode.getSHeads() ) { Predicate predicate = headIdToPredicate.get( head.getNode() );
deprel = ftags; for (DEPArc arc : node.getSHeads())
for (DEPArc arc : tree.get(i).getSHeads()) if ((pvRoleset = pvRolesets[arc.getNode().id]) != null) if (MPLib.containsOnlyDigits(n = arc.getLabel().substring(1, 2)))
dHead = node.getHead(); for (DEPArc sArc : node.getSHeads())
for (DEPArc arc : arg.getSHeads())
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; }