import clear.dep.DepNode; import clear.dep.DepTree; import clear.reader.SRLReader; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; public class Tmp { HashSet<String> set; public Tmp(String inputFile) { SRLReader reader = new SRLReader(inputFile, true); DepTree tree; set = new HashSet<>(); while ((tree = reader.nextTree()) != null) { tree.setHasHeads(); mod(tree); } ArrayList<String> keys = new ArrayList<>(set); Collections.sort(keys); for (String key : keys) { System.out.println(key); } } void rb(DepTree tree) { DepNode curr, next; int count; for (int i = 1; i < tree.size(); i++) { curr = tree.get(i); if (!curr.isPos("IN")) { continue; } count = 0; for (DepNode node : tree.getRightDependents(curr.id)) { // count++; if (!node.isPosx("RB.*|IN") && !node.isDeprel("P") && !node.isDeprel("COORD")) { count++; } } if (count > 1) { System.out.println(tree.getRightDependencies(curr.id)); System.out.println(curr.id + " " + tree + "\n"); try { System.in.read(); } catch (IOException e) { } } } } final void mod(DepTree tree) { DepNode curr; for (int i = 1; i < tree.size(); i++) { curr = tree.get(i); if (curr.isPos("MD") && curr.srlInfo.labelMatches("AM-MOD")) { set.add(curr.lemma); } } } void neg(DepTree tree) { DepNode prev, curr; for (int i = 2; i < tree.size(); i++) { prev = tree.get(i - 1); curr = tree.get(i); if (curr.lemma.equals("not") && prev.isPosx("VB.*")) { if (!curr.isDeprel("ADV") || curr.headId != prev.id) { System.out.println(curr.id + " " + tree + "\n"); } } } } static public void main(String[] args) { Tmp tmp = new Tmp(args[0]); } }