0

我从这个链接下载了最新版本的斯坦福 CoreNLP 和更大的英文模型

将下载的模型放在同一个项目文件夹中,我使用“ant”/“ant jar”来构建项目。

然后我在 Windows 上使用此命令加载服务器:

java -d64 -mx20g -classpath "*;lib\*;liblocal\*;libsrc\*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -timeout 500000

从http://localhost:9000加载结果页面,使用关系、共指等过滤器时服务器崩溃。

我得到错误:

java.util.concurrent.ExecutionException: java.lang.NullPointerException

来自服务器的日志:

一些注释失败,例如:

[pool-1-thread-1] INFO edu.stanford.nlp.pipeline.MentionAnnotator - Error with building coref mention annotator!

主要问题/异常:

 java.util.concurrent.ExecutionException: java.lang.NullPointerException
        at java.util.concurrent.FutureTask.report(Unknown Source)
        at java.util.concurrent.FutureTask.get(Unknown Source)
        at edu.stanford.nlp.pipeline.StanfordCoreNLPServer$CoreNLPHandler.handle(StanfordCoreNLPServer.java:497)
        at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source)
        at sun.net.httpserver.AuthFilter.doFilter(Unknown Source)
        at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source)
        at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(Unknown Source)
        at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source)
        at sun.net.httpserver.ServerImpl$Exchange.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
        at edu.stanford.nlp.pipeline.MentionAnnotator.annotate(MentionAnnotator.java:100)
        at edu.stanford.nlp.pipeline.AnnotationPipeline.annotate(AnnotationPipeline.java:75)
        at edu.stanford.nlp.pipeline.StanfordCoreNLP.annotate(StanfordCoreNLP.java:606)
        at edu.stanford.nlp.pipeline.StanfordCoreNLPServer$CoreNLPHandler.lambda$handle$344(StanfordCoreNLPServer.java:479)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        ... 3 more

任何可能导致此问题的帮助将不胜感激。

谢谢

4

1 回答 1

0

你给图书馆喂什么?我曾经在 IntelliJ 和 Netbeans 中运行 coreNLP 库,我遇到了一个问题,如果我输入一个空格(一个或多个空格、一个制表符或一个空的空行),我会得到一个空指针异常。我必须检查每个句子,以便在将其输入 coreNLP 库时它们不会是空白的。(我将每个句子作为字符串存储在数组中,所以如果我在数组中存储一个空白字符串并将其传递给 CoreNLP 库,它会崩溃)。我不知道它是否是您的情况,但希望这会有所帮助。

于 2017-01-30T08:57:26.670 回答