我不太懂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”吗?)
谢谢你。
您实际上正在获得增强的++依赖标签。然而,看起来您正在寻找其他东西或旧版本。
UD 在 UDv1 和 UDv2 之间进行了一些修改。其中一项变化是将谓语的倾斜修饰语(英语中的 PP)变为关系
obl
而不是 nmod
,将 nmod
限制为名词性修饰语。因此,obl
不是nmod
。然后,增强依赖关系而不是基本依赖关系的一部分是将大小写或介词合并到标签中,这样你就得到了obl:with
。同样,在 UDv2 中,标签 dobj
更改为简单的 obj
。
(并且,是的,您确实需要使用所有注释器“tokenize,ssplit,pos,lemma”,因为它们是依赖项解析之前需要的预处理步骤。)