public static String getTerminalString(Tree<String> tree) { StringBuilder sb = new StringBuilder(); for (Tree<String> y : tree.getYield()) { sb.append(y.getLabel()).append(" "); } return sb.toString(); }
public static List<String> getTerminalTokens(Tree<String> tree) { List<String> output = new ArrayList<>(); for (Tree<String> t : tree.getYield()) { output.add(t.getLabel()); } return output; }
public static List<String> getTerminalTokens(Tree<String> tree) { List<String> output = new ArrayList<>(); for (Tree<String> t : tree.getYield()) { output.add(t.getLabel()); } return output; }
public static List<String> getTerminalTokens(Tree<String> tree) { List<String> output = new ArrayList<>(); for (Tree<String> t : tree.getYield()) { output.add(t.getLabel()); } return output; }
public static String getTerminalString(Tree<String> tree) { StringBuilder sb = new StringBuilder(); for (Tree<String> y : tree.getYield()) { sb.append(y.getLabel()).append(" "); } return sb.toString(); }
private void computeYield() { yield = new ArrayList<>(); if (this.isLeaf()) yield.add(this); else for (Tree<T> t : children) yield.addAll(t.getYield()); }
private void computeYield() { yield = new ArrayList<>(); if (this.isLeaf()) yield.add(this); else for (Tree<T> t : children) yield.addAll(t.getYield()); }
public static List<String> getTerminalTokens(Tree<String> tree) { List<String> output = new ArrayList<>(); for (Tree<String> t : tree.getYield()) { output.add(t.getLabel()); } return output; }
public static String getTerminalString(Tree<String> tree) { StringBuilder sb = new StringBuilder(); for (Tree<String> y : tree.getYield()) { sb.append(y.getLabel()).append(" "); } return sb.toString(); }
public static String getTerminalString(Tree<String> tree) { StringBuilder sb = new StringBuilder(); for (Tree<String> y : tree.getYield()) { sb.append(y.getLabel()).append(" "); } return sb.toString(); }
public static String[] getTerminalStringSentence(Tree<String> tree) { List<String> words = new ArrayList<>(); for (Tree<String> y : tree.getYield()) { if (!ParseTreeProperties.isNullLabel(y.getParent().getLabel())) words.add(ParseUtils.convertBracketsFromPTBFormat(y.getLabel())); } return words.toArray(new String[words.size()]); }
private static boolean checkForPredicate(Tree<Pair<String, IntPair>> tree, int predicateIndex) { if (tree == null) return false; // Does the left-most leaf of the tree match the predicate? return tree.getYield().get(0).getLabel().getSecond().getFirst() == predicateIndex; } }
private static boolean checkForPredicate(Tree<Pair<String, IntPair>> tree, int predicateIndex) { if (tree == null) return false; // Does the left-most leaf of the tree match the predicate? return tree.getYield().get(0).getLabel().getSecond().getFirst() == predicateIndex; } }
private static boolean checkForPredicate(Tree<Pair<String, IntPair>> tree, int predicateIndex) { if (tree == null) return false; // Does the left-most leaf of the tree match the predicate? return tree.getYield().get(0).getLabel().getSecond().getFirst() == predicateIndex; } }
private void getLeftYield(Tree<T> node, List<T> leftYield) { for (int leftChildId = 0; leftChildId < node.getPositionAmongParentsChildren(); leftChildId++) { List<Tree<T>> leftChildYield = node.getParent().getChild(leftChildId).getYield(); for (Tree<T> leftYieldItem : leftChildYield) { leftYield.add(leftYieldItem.getLabel()); } } }
@Override public Set<Feature> getWordFeatures(TextAnnotation ta, int wordPosition) throws EdisonException { Sentence sentence = ta.getSentenceFromToken(wordPosition); int sentenceStart = sentence.getStartSpan(); int predicatePosition = wordPosition - sentenceStart; Tree<String> tree = ParseHelper.getParseTree(parseViewName, sentence); Tree<Pair<String, IntPair>> spanLabeledTree = ParseUtils.getSpanLabeledTree(tree); Tree<Pair<String, IntPair>> currentNode = spanLabeledTree.getYield().get(predicatePosition).getParent(); String f = getVoice(currentNode); return new LinkedHashSet<Feature>(Collections.singletonList(DiscreteFeature.create(f))); }
private void getRightYield(Tree<T> node, List<T> rightYield) { for (int rightChildId = node.getPositionAmongParentsChildren() + 1; rightChildId < node .getParent().getNumberOfChildren(); rightChildId++) { List<Tree<T>> rightChildYield = node.getParent().getChild(rightChildId).getYield(); for (Tree<T> rightYieldItem : rightChildYield) { rightYield.add(rightYieldItem.getLabel()); } } }
private void getRightYield(Tree<T> node, List<T> rightYield) { for (int rightChildId = node.getPositionAmongParentsChildren() + 1; rightChildId < node .getParent().getNumberOfChildren(); rightChildId++) { List<Tree<T>> rightChildYield = node.getParent().getChild(rightChildId).getYield(); for (Tree<T> rightYieldItem : rightChildYield) { rightYield.add(rightYieldItem.getLabel()); } } }