Search code examples
parsingnlpstanford-nlp

Stanford type dependency, can not extract "prepositional modfier"


I am trying to extract the prepositional modifier, like it is stated in the Dependency Manual:

I try to parse the sentence : "I saw a cat with a telescope" , using the code:

List<CoreMap> sentences = stanfordDocument.get(SentencesAnnotation.class);
for (CoreMap sentence : sentences) {
   Tree tree = sentence.get(TreeAnnotation.class);
   TreebankLanguagePack languagePack = new PennTreebankLanguagePack();
   GrammaticalStructureFactory grammaticalStructureFactory = languagePack.grammaticalStructureFactory();
   GrammaticalStructure structure = grammaticalStructureFactory.newGrammaticalStructure(tree);
   Collection<TypedDependency> typedDependencies = structure.typedDependenciesCollapsed();
   for (TypedDependency td : typedDependencies) {
      System.out.println(td.reln());
   }
}     

As stated in the Manual I was expecting to get : prep(saw, with).

In the Collection of the TypedDependeny I get only "nsubj; root; det; dobj; det; prep_with" as relation type, and not the "prep/prepc" as stated in the http://robotics.usc.edu/~gkoch/DependencyManual.pdf (page 8).

I have also tried to extract pcomp : Prepositional compelement (page 7 of the manual) and it doesnt find it.

Did somebody encountered the same problem? Am I doing anything wrong?


Solution

  • CoreNLP outputs "Collapsed dependencies preserving a tree structure" (section 4.4 of the manual) from my experience. I think it's the same thing here (e.g. prep_with is a collapsed dependency of prep(saw, with))