Java Stanford CoreNLP:StreamCorruptedException:无效流标头:54686973

Java Stanford CoreNLP:StreamCorruptedException:无效流标头:54686973,java,stanford-nlp,Java,Stanford Nlp,所以我正试图用斯坦福大学的CoreNLP编写一个非常简单的程序,但在得到StreamCorruptedException之前我还没走多远。我正在使用Scala,但我不认为这有什么区别 代码如下: object Hello { def main(args: Array[String]) { val str = "The dog went to the park." val props = new Properties(); props.put("annotators",

所以我正试图用斯坦福大学的CoreNLP编写一个非常简单的程序,但在得到StreamCorruptedException之前我还没走多远。我正在使用Scala,但我不认为这有什么区别

代码如下:

object Hello {
  def main(args: Array[String]) {
    val str = "The dog went to the park."
    val props = new Properties();
    props.put("annotators", "tokenize, ssplit, pos, lemma, ner, depparse");
    val pipeline = new StanfordCoreNLP(props);

    // more to be added
  }
}
当我尝试运行此代码(sbt run)时,出现以下错误:

Caused by: java.io.StreamCorruptedException: invalid stream header: 54686973
  at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:806)
  at java.io.ObjectInputStream.<init>(ObjectInputStream.java:299)
  at edu.stanford.nlp.tagger.maxent.TaggerConfig.readConfig(TaggerConfig.java:748)
  at edu.stanford.nlp.tagger.maxent.MaxentTagger.readModelAndInit(MaxentTagger.java:803)
  at edu.stanford.nlp.tagger.maxent.MaxentTagger.readModelAndInit(MaxentTagger.java:766)
  at edu.stanford.nlp.tagger.maxent.MaxentTagger.<init>(MaxentTagger.java:297)
  at edu.stanford.nlp.tagger.maxent.MaxentTagger.<init>(MaxentTagger.java:262)
  at edu.stanford.nlp.pipeline.POSTaggerAnnotator.loadModel(POSTaggerAnnotator.java:97)
  at edu.stanford.nlp.pipeline.POSTaggerAnnotator.<init>(POSTaggerAnnotator.java:77)
  at edu.stanford.nlp.pipeline.AnnotatorImplementations.posTagger(AnnotatorImplementations.java:57)
  at edu.stanford.nlp.pipeline.AnnotatorFactories$4.create(AnnotatorFactories.java:276)
  at edu.stanford.nlp.pipeline.AnnotatorPool.get(AnnotatorPool.java:85)
  at edu.stanford.nlp.pipeline.StanfordCoreNLP.construct(StanfordCoreNLP.java:289)
  at edu.stanford.nlp.pipeline.StanfordCoreNLP.<init>(StanfordCoreNLP.java:126)
  at edu.stanford.nlp.pipeline.StanfordCoreNLP.<init>(StanfordCoreNLP.java:122)
  at Hello$.main(Hello.scala:13)
  at Hello.main(Hello.scala)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:483)
原因:java.io.StreamCorruptedException:无效流头:54686973
位于java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:806)
位于java.io.ObjectInputStream。(ObjectInputStream.java:299)
位于edu.stanford.nlp.tagger.maxent.TaggerConfig.readConfig(TaggerConfig.java:748)
位于edu.stanford.nlp.tagger.maxent.MaxentTagger.readModelAndInit(MaxentTagger.java:803)
位于edu.stanford.nlp.tagger.maxent.MaxentTagger.readModelAndInit(MaxentTagger.java:766)
在edu.stanford.nlp.tagger.maxent.MaxentTagger.(MaxentTagger.java:297)
在edu.stanford.nlp.tagger.maxent.MaxentTagger.(MaxentTagger.java:262)
位于edu.stanford.nlp.pipeline.POSTaggerAnnotator.loadModel(POSTaggerAnnotator.java:97)
位于edu.stanford.nlp.pipeline.POSTaggerAnnotator.(POSTaggerAnnotator.java:77)
位于edu.stanford.nlp.pipeline.AnnotatorImplements.posTagger(annotatorImplements.java:57)
位于edu.stanford.nlp.pipeline.AnnotatorFactories$4.create(AnnotatorFactories.java:276)
位于edu.stanford.nlp.pipeline.AnnotatorPool.get(AnnotatorPool.java:85)
位于edu.stanford.nlp.pipeline.StanfordCoreNLP.construct(StanfordCoreNLP.java:289)
位于edu.stanford.nlp.pipeline.StanfordCoreNLP.(StanfordCoreNLP.java:126)
位于edu.stanford.nlp.pipeline.StanfordCoreNLP.(StanfordCoreNLP.java:122)
在Hello$.main(Hello.scala:13)
在Hello.main(Hello.scala)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:483)
有什么想法吗


谢谢

很可能您没有模型,CoreNLP无法加载它们。为了运行CoreNLP,您需要同时拥有
stanford-CoreNLP-3.5.0.jar
stanford-CoreNLP-3.5.0-models.jar
。两者都应该添加到构建路径中。

很可能您没有模型,CoreNLP无法加载它们。为了运行CoreNLP,您需要同时拥有
stanford-CoreNLP-3.5.0.jar
stanford-CoreNLP-3.5.0-models.jar
。两者都应该添加到构建路径中。

很可能您没有模型,CoreNLP无法加载它们。为了运行CoreNLP,您需要同时拥有
stanford-CoreNLP-3.5.0.jar
stanford-CoreNLP-3.5.0-models.jar
。两者都应该添加到构建路径中。

很可能您没有模型,CoreNLP无法加载它们。为了运行CoreNLP,您需要同时拥有
stanford-CoreNLP-3.5.0.jar
stanford-CoreNLP-3.5.0-models.jar
。两者都应该添加到构建路径中。

Woops,我完全忘了将模型添加到构建路径中!非常感谢你!build.sbt中的相关行:libraryDependencies++=Seq(“edu.stanford.nlp”%“stanford corenlp”%“3.5.0”、“edu.stanford.nlp”%“stanford corenlp”%“3.5.0”classifier“models”)Hi Todd如果这解决了您的问题,请将答案标记为已接受(左侧的绿色复选标记按钮)。这给了奥古斯丁一些观点:)哎呀,我完全忘了将模型添加到我的构建路径中!非常感谢你!build.sbt中的相关行:libraryDependencies++=Seq(“edu.stanford.nlp”%“stanford corenlp”%“3.5.0”、“edu.stanford.nlp”%“stanford corenlp”%“3.5.0”classifier“models”)Hi Todd如果这解决了您的问题,请将答案标记为已接受(左侧的绿色复选标记按钮)。这给了奥古斯丁一些观点:)哎呀,我完全忘了将模型添加到我的构建路径中!非常感谢你!build.sbt中的相关行:libraryDependencies++=Seq(“edu.stanford.nlp”%“stanford corenlp”%“3.5.0”、“edu.stanford.nlp”%“stanford corenlp”%“3.5.0”classifier“models”)Hi Todd如果这解决了您的问题,请将答案标记为已接受(左侧的绿色复选标记按钮)。这给了奥古斯丁一些观点:)哎呀,我完全忘了将模型添加到我的构建路径中!非常感谢你!build.sbt中的相关行:libraryDependencies++=Seq(“edu.stanford.nlp”%“stanford corenlp”%“3.5.0”、“edu.stanford.nlp”%“stanford corenlp”%“3.5.0”classifier“models”)Hi Todd如果这解决了您的问题,请将答案标记为已接受(左侧的绿色复选标记按钮)。这给了奥古斯丁一些观点:)