stanford coreNLP共指错误

时间:2014-02-13 11:08:34

标签: java stanford-nlp

我正在使用stanford-corenlp-3.3.1,与网址(http://nlp.stanford.edu/software/corenlp.shtml#Download)中提供的代码相同但出现以下错误:

Adding annotator tokenize Adding annotator ssplit Exception in thread "main" java.lang.NoSuchMethodError: edu.stanford.nlp.process.WordToSentenceProcessor.stringToNewlineIsSentenceBreak(Ljava/lang/String;)Ledu/stanford/nlp/process/WordToSentenceProcessor$NewlineIsSentenceBreak;
at edu.stanford.nlp.pipeline.WordsToSentencesAnnotator.(WordsToSentencesAnnotator.java:55)
at edu.stanford.nlp.pipeline.StanfordCoreNLP$3.create(StanfordCoreNLP.java:520)
at edu.stanford.nlp.pipeline.AnnotatorPool.get(AnnotatorPool.java:81)
at edu.stanford.nlp.pipeline.StanfordCoreNLP.construct(StanfordCoreNLP.java:262)
at edu.stanford.nlp.pipeline.StanfordCoreNLP.(StanfordCoreNLP.java:129)
at edu.stanford.nlp.pipeline.StanfordCoreNLP.(StanfordCoreNLP.java:125)
at utils.Coref.main(Coref.java:32)

它显示错误

StanfordCoreNLP pipeline = new StanfordCoreNLP(props);

非常感谢任何帮助和建议。

1 个答案:

答案 0 :(得分:0)

对这种一般情况here有一个很好的解释。这种情况总是因为在运行时类路径的某处有多个版本的corenlp工件。很明显,它可能是隐藏的。你真的需要交叉指责,不会花太多时间来找出错误的类或方法的加载位置。

作为一个例子,我得到了与OP完全相同的错误信息,我发现我有一个名为seg.jar的jar文件,它以某种方式悄悄进入我的项目,所以我删除了它,它解决了问题。