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

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

Introduction

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

Prototype

public String getShortName() 

Source Link

Usage

From source file:de.tudarmstadt.ukp.dkpro.core.stanfordnlp.util.StanfordAnnotator.java

License:Open Source License

/**
 * Writes dependency annotations to the JCas
 * /*from  www.j a  v a 2s .  co  m*/
 * @param jCas
 *            a CAS.
 * @param aDependencyType
 *            the dependency type
 * @param aGovernor
 *            the governing-word
 * @param aDependent
 *            the dependent-word
 */
public static void createDependencyAnnotation(JCas jCas, GrammaticalRelation aDependencyType, Token aGovernor,
        Token aDependent) {
    // create the necessary objects and methods
    String dependencyTypeName = DEPPACKAGE + aDependencyType.getShortName().toUpperCase();

    Type type = jCas.getTypeSystem().getType(dependencyTypeName);
    if (type == null) {
        // Fall back to generic type. If we used a mapping provider, we'd do that too.
        type = JCasUtil.getType(jCas, Dependency.class);
        // throw new IllegalStateException("Type [" + dependencyTypeName + "] mapped to tag ["
        // + dependencyType + "] is not defined in type system");
    }

    Dependency dep = (Dependency) jCas.getCas().createFS(type);
    dep.setDependencyType(aDependencyType.toString());
    dep.setGovernor(aGovernor);
    dep.setDependent(aDependent);
    dep.setBegin(dep.getDependent().getBegin());
    dep.setEnd(dep.getDependent().getEnd());
    dep.addToIndexes();
}

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;/*from w ww .j  a  v a 2  s .com*/
            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;
}