List of usage examples for edu.stanford.nlp.trees GrammaticalRelation getSpecific
public String getSpecific()
From source file:org.devboost.stanford.language.LanguageCreator.java
License:Open Source License
private List<Dependency> createDependencies(GrammaticalStructure gs, Sentence sentence) { List<Dependency> dependencies = new ArrayList<Dependency>(); List<TypedDependency> typedDependencies = gs.typedDependenciesCollapsed(true); for (TypedDependency typedDependency : typedDependencies) { TreeGraphNode dep = typedDependency.dep(); TreeGraphNode gov = typedDependency.gov(); GrammaticalRelation relation = typedDependency.reln(); String shortName = relation.getShortName(); String specific = relation.getSpecific(); EClassifier classifier = LanguagePackage.eINSTANCE.getEClassifier(DEPENDENCY_PREFIX + shortName); if (classifier instanceof EClass) { Dependency dependency = (Dependency) LanguageFactory.eINSTANCE.create((EClass) classifier); Word dependant = getWordInSentence(sentence, dep); Word governor = null;//w w w . ja va 2 s . co m if (!gov.label().word().equals("ROOT")) { governor = getWordInSentence(sentence, gov); } if (governor != null) { dependency.setGovernor(governor); } if (dependant != null) { dependency.setDependent(dependant); sentence.getDependencies().add(dependency); } if (specific != null) { List<Word> words = sentence.findWords(specific); if (dependency instanceof Collapse) { if (words.size() == 1) { ((Collapse) dependency).setCollapsedWord(words.get(0)); } ((Collapse) dependency).setCollapsedWordString(specific); } } } } return dependencies; }