私はCoreNLPサーバーを使用して複数の文に注釈を付そうとしています。私は取得していますあまりにも多くの文章でそれをしようとした場合しかし、:edu.stanford.nlp.io.RuntimeIOException:サーバーに接続できませんでした
Exception in thread "Thread-48" edu.stanford.nlp.io.RuntimeIOException: Could not connect to server: 192.168.108.60:9000
at edu.stanford.nlp.pipeline.StanfordCoreNLPClient$2.run(StanfordCoreNLPClient.java:393)
Caused by: java.io.IOException: Server returned HTTP response code: 500 for URL: http://192.168.108.60:9000?properties=%7B+%22inputFormat%22%3A+%22serialized%22%2C+%22outputSerializer%22%3A+%22edu.stanford.nlp.pipeline.ProtobufAnnotationSerializer%22%2C+%22inputSerializer%22%3A+%22edu.stanford.nlp.pipeline.ProtobufAnnotationSerializer%22%2C+%22annotators%22%3A+%22tokenize%2C+ssplit%2C+pos%2C+lemma%2C+ner%2C+parse%2C+dcoref%22%2C+%22outputFormat%22%3A+%22serialized%22+%7D
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1840)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441)
at edu.stanford.nlp.pipeline.StanfordCoreNLPClient$2.run(StanfordCoreNLPClient.java:381)
すべてが働いている私はちょうど10か20の文章のためにこれを実行する場合は、それらの数が大きくなるように、サーバーがいるようです崩壊してタイムアウト限度に達しています。少なくともこれが私が持っている唯一の説明です。
StanfordCoreNLPClient coreNlp = new StanfordCoreNLPClient(props, "192.168.108.60", 9000);
// ..
for(int windowSize : windowSizeList) {
Map<String, List<TaggedSentence>> aspectMap = new HashMap<>();
for (int i = 0; i < sentenceList.size(); i++) {
Annotation document = sentenceList.get(i);
try {
coreNlp.annotate(document);
} catch(Exception e) {
LOGGER.error("Error", e);
}
// ...
}
}
どうすればこの問題を解決できますか?
は編集:
props.setProperty("timeout", "50000");
が、それが解決しない:さて、私はそこにタイムアウトオプションであることがわかりました。それはとにかく失敗している - それはちょっと時間がかかる。
あなたは3.6.0リリースを使用していますか、GitHubからコンパイルしていますか?これに役立つかもしれない3.6.0以降に組み込まれた一連の安定性修正があります。 –