Example usage for edu.stanford.nlp.trees GrammaticalRelation getSpecific

List of usage examples for edu.stanford.nlp.trees GrammaticalRelation getSpecific

Introduction

In this page you can find the example usage for edu.stanford.nlp.trees GrammaticalRelation getSpecific.

Prototype

public String getSpecific() 

Source Link

Usage

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;
}