我想使用http://nlp.stanford.edu/software/openie.html中的示例代码,但行
System.out.println(sentence.get(SemanticGraphCoreAnnotations.EnhancedDependenciesAnnotation.class).toString(SemanticGraph.OutputFormat.LIST));
给出错误
SemanticGraphCoreAnnotations.EnhancedDependenciesAnnotation不能 解析为类型
即使我导入了edu.stanford.nlp.semgraph.SemanticGraphCoreAnnotations。 Eclipse建议遵循快速修复:
更改为“AlternativeDependenciesAnnotation” (edu.stanford.nlp.semgraph.SemanticGraphCoreAnnotations;)
更改为“BasicDependenciesAnnotation” (edu.stanford.nlp.semgraph.SemanticGraphCoreAnnotations;)
应用第一个修复会导致java.lang.NullPointerException,而第二个修复会给第一个句子带来以下相当不满意的结果:
来自的加载条款搜索者 edu / stanford / nlp / models / naturalli / clauseSearcherModel.ser.gz ... 1.0奥巴马是 熊在夏威夷
导入edu.stanford.nlp.semgraph.SemanticGraphCoreAnnotations.EnhancedDependenciesAnnotation;无法解析和导入导入edu.stanford.nlp.semgraph.SemanticGraphCoreAnnotations;也没有帮助。
我导入了JAR
我使用的是CoreNLP 3.6.0。 。我检查了edu.stanford.nlp.semgraph中的SemanticGraphCoreAnnotations.java,它包含EnhancedDependenciesAnnotation.class。我该如何解决这个问题?
答案 0 :(得分:1)
似乎示例代码是为最新版本的OpenIE编写的,目前仅在GitHub上。让它运行的最简单方法可能是克隆repository并自己编译CoreNLP。
答案 1 :(得分:0)
使用 stanford-corenlp-3.9.2
jar
。这对我有用。