为什么依赖与在线演示不同?
Why are the dependencies different from the online demo?
给出下面的句子:
My dog also likes eating sausage.
online demo 产生以下关系:
nmod:poss(dog-2, My-1)
nsubj(likes-4, dog-2)
advmod(likes-4, also-3)
root(ROOT-0, likes-4)
xcomp(likes-4, eating-5)
dobj(eating-5, sausage-6)
但是,我的代码也使用了通用依赖项 (UD),产生了一些不同的东西:
nmod:poss(dog-2, My-1)
nsubj(likes-4, dog-2)
advmod(likes-4, also-3)
root(ROOT-0, likes-4)
amod(sausage-6, eating-5)
dobj(likes-4, sausage-6)
punct(likes-4, .-7)
这是我的代码:
String sentence = "My dog also likes eating sausage.";
MaxentTagger tagger = new MaxentTagger("edu/stanford/nlp/models/pos-tagger/english-left3words/english-left3words-distsim.tagger");
DependencyParser parser = DependencyParser.loadFromModelFile("edu/stanford/nlp/models/parser/nndep/english_UD.gz");
DocumentPreprocessor preprocessor = new DocumentPreprocessor(new StringReader(sentence));
for (List<HasWord> s: preprocessor) {
List<TaggedWord> taggedWords = tagger.tagSentence(s);
GrammaticalStructure gs = parser.predict(taggedWords);
for (TypedDependency d: gs.typedDependencies()) {
System.out.println(d);
}
}
使用typedDependenciesCCprocessed
、typedDependenciesCollapsed
和typedDependenciesCollapsedTree
将产生相同的结果。
如何获得与演示完全相同的关系?
在线演示使用选区解析器并将其转换为依赖项。您链接的代码正在使用神经网络依赖解析器。预计这些会有所不同。要获得演示的输出,您应该 运行 斯坦福解析器:http://nlp.stanford.edu/software/lex-parser.shtml。在 CoreNLP 中,这意味着 运行 个注释器 tokenize,ssplit,parse
.
给出下面的句子:
My dog also likes eating sausage.
online demo 产生以下关系:
nmod:poss(dog-2, My-1)
nsubj(likes-4, dog-2)
advmod(likes-4, also-3)
root(ROOT-0, likes-4)
xcomp(likes-4, eating-5)
dobj(eating-5, sausage-6)
但是,我的代码也使用了通用依赖项 (UD),产生了一些不同的东西:
nmod:poss(dog-2, My-1)
nsubj(likes-4, dog-2)
advmod(likes-4, also-3)
root(ROOT-0, likes-4)
amod(sausage-6, eating-5)
dobj(likes-4, sausage-6)
punct(likes-4, .-7)
这是我的代码:
String sentence = "My dog also likes eating sausage.";
MaxentTagger tagger = new MaxentTagger("edu/stanford/nlp/models/pos-tagger/english-left3words/english-left3words-distsim.tagger");
DependencyParser parser = DependencyParser.loadFromModelFile("edu/stanford/nlp/models/parser/nndep/english_UD.gz");
DocumentPreprocessor preprocessor = new DocumentPreprocessor(new StringReader(sentence));
for (List<HasWord> s: preprocessor) {
List<TaggedWord> taggedWords = tagger.tagSentence(s);
GrammaticalStructure gs = parser.predict(taggedWords);
for (TypedDependency d: gs.typedDependencies()) {
System.out.println(d);
}
}
使用typedDependenciesCCprocessed
、typedDependenciesCollapsed
和typedDependenciesCollapsedTree
将产生相同的结果。
如何获得与演示完全相同的关系?
在线演示使用选区解析器并将其转换为依赖项。您链接的代码正在使用神经网络依赖解析器。预计这些会有所不同。要获得演示的输出,您应该 运行 斯坦福解析器:http://nlp.stanford.edu/software/lex-parser.shtml。在 CoreNLP 中,这意味着 运行 个注释器 tokenize,ssplit,parse
.