You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Java命令行获取Stanford NLP的Enhanced++依存关系标签?

Stanford NLP 获取Enhanced++依存关系标签的问题与解决

问题说明

对Java不熟悉,尝试通过Stanford NLP解析器获取Enhanced++依存关系标签,执行命令如下:

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

输出结果不符合预期:

  • 输入句The older couple is picnicking with wine中,picnicking与wine的依存关系预期为nmod,实际返回obl:with
  • 输入句What do you call it?中,call与it的依存关系预期为dobj,实际返回obj

调整命令获取Enhanced++标签

要得到Enhanced++通用依存关系标签,需在命令中明确指定解析器的模型与输出模式,修改后的命令如下:

java -cp "*" -Xmx2g edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators "tokenize,ssplit,pos,lemma,depparse" -depparse.model "edu/stanford/nlp/models/parser/nndep/english_enhanced++_UD.gz" -depparse.deprel "enhanced++" -file input.txt

核心参数解释:

  • -depparse.model:指定使用Enhanced++预训练依存解析模型
  • -depparse.deprel:强制输出Enhanced++格式的依存关系标签

关于annotators的必要性说明

如果仅关注依存解析(depparse):

  • 必须保留tokenize,ssplit,pos:这三个是依存解析的前置依赖——tokenize负责拆分词元,ssplit拆分句子,pos提供词性标注,三者是解析器生成正确依存结构的必要输入
  • 可以移除lemma:词形还原不是依存解析的强制要求,去掉后不影响核心功能

内容的提问来源于stack exchange,提问作者Galit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 20:25:14