如何在终端中使用java命令行获取Enhanced++依赖标签?

问题描述 投票:0回答:1

我不太懂java,但我只是想使用Stanford NLP解析器的文档来获取Enhanced++依赖标签。这是我跑的路线:

java -cp "*" -Xmx2g edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators "tokenize,ssplit,pos,lemma,depparse" -file input.txt

我确实得到了输出。但我没有得到我期望的标签。例如,input.txt文件中有一句话“老夫妇正在带着酒去野餐”,野餐和wine之间的依赖关系应该是nmod,但是却是obl:with。 另一个句子是“你叫它什么?”,我期望“call”和“it”之间存在 dobj 关系,但我得到的是“obj”。

我应该修复什么才能获取增强型通用依赖项的标签?

(另外,如果我只对“depparse”感兴趣,我真的需要指定选项“tokenize,ssplit,pos,lemma”吗?)

谢谢你。

java nlp stanford-nlp
1个回答
0
投票

您实际上正在获得增强的++依赖标签。然而,看起来您正在寻找其他东西或旧版本。

UD 在 UDv1 和 UDv2 之间进行了一些修改。其中一项变化是将谓语的倾斜修饰语(英语中的 PP)变为关系

obl
而不是
nmod
,将
nmod
限制为名词性修饰语。因此,
obl
不是
nmod
。然后,增强依赖关系而不是基本依赖关系的一部分是将大小写或介词合并到标签中,这样你就得到了
obl:with
。同样,在 UDv2 中,标签
dobj
更改为简单的
obj

(并且,是的,您确实需要使用所有注释器“tokenize,ssplit,pos,lemma”,因为它们是依赖项解析之前需要的预处理步骤。)

© www.soinside.com 2019 - 2024. All rights reserved.