3

これは私のコードの一部です:

String sentence="My dog also likes eating sausage.";
LexicalizedParser lp = new LexicalizedParser("englishPCFG.ser.gz"); 
TokenizerFactory tf = PTBTokenizer.factory(false, new WordTokenFactory());
TreePrint tp = new TreePrint("penn,typedDependenciesCollapsed");

List tokens = tf.getTokenizer(new StringReader(sentence)).tokenize(); 
lp.parse(tokens); // parse the tokens
Tree t = lp.getBestParse();

対象(犬)の値を取得するにはどうすればよいですか?

これは、サブジェクトを抽出したい依存関係です:

nsubj(likes-4, dog-2)
4

1 に答える 1

6

次のようなことを試してください:

String sentence="My dog also likes eating sausage.";
LexicalizedParser lp = new LexicalizedParser("resources/stanford-parser-2011-06-27/grammar/englishPCFG.ser.gz");
TokenizerFactory tf = PTBTokenizer.factory(false, new WordTokenFactory());
TreePrint tp = new TreePrint("penn,typedDependenciesCollapsed");

List tokens = tf.getTokenizer(new StringReader(sentence)).tokenize();
lp.parse(tokens); // parse the tokens
Tree t = lp.getBestParse();

TreebankLanguagePack languagePack = new PennTreebankLanguagePack();
GrammaticalStructure structure = languagePack.grammaticalStructureFactory().newGrammaticalStructure(t);
Collection<TypedDependency> typedDependencies = structure.typedDependenciesCollapsed();

for(TypedDependency td : typedDependencies) {
  if(td.reln().equals(EnglishGrammaticalRelations.NOMINAL_SUBJECT)) {
    System.out.println(td);
  }
}

印刷されます:

nsubj(likes-4, dog-2)
于 2011-11-05T21:09:22.293 に答える