List of usage examples for edu.stanford.nlp.trees GrammaticalRelation getShortName
public String getShortName()
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; }