Я запускаю синтаксический анализатор нейронных зависимостей из CoreNLP 3.8.0 с использованием Apache Spark.Я использую для разбора конвейер CoreNLP:
public static StanfordCoreNLP StanfordDepNNParser(){
Properties props = new Properties();
props.put("language", "english");
props.setProperty("annotators", "tokenize, ssplit, pos, lemma, ner, depparse");
props.put("depparse.model", "edu/stanford/nlp/models/parser/nndep/english_SD.gz");
props.put("parse.originalDependencies", true);
return new StanfordCoreNLP(props);
}
Однако через некоторое время я получаю следующую ошибку:
18/06/08 08:16:40 WARN scheduler.TaskSetManager: Lost task 136.0 in stage 0.0 (TID 140, server.com): java.lang.StackOverflowError
at java.util.HashMap.putVal(HashMap.java:630)
at java.util.HashMap.put(HashMap.java:611)
at java.util.HashSet.add(HashSet.java:219)
at edu.stanford.nlp.semgraph.SemanticGraph.toCompactStringHelper(SemanticGraph.java:1526)
at edu.stanford.nlp.semgraph.SemanticGraph.toCompactStringHelper(SemanticGraph.java:1541)
at edu.stanford.nlp.semgraph.SemanticGraph.toCompactStringHelper(SemanticGraph.java:1541)
at edu.stanford.nlp.semgraph.SemanticGraph.toCompactStringHelper(SemanticGraph.java:1541)
at edu.stanford.nlp.semgraph.SemanticGraph.toCompactStringHelper(SemanticGraph.java:1541)
at edu.stanford.nlp.semgraph.SemanticGraph.toCompactStringHelper(SemanticGraph.java:1541)
at edu.stanford.nlp.semgraph.SemanticGraph.toCompactStringHelper(SemanticGraph.java:1541)
at edu.stanford.nlp.semgraph.SemanticGraph.toCompactStringHelper(SemanticGraph.java:1541)
at edu.stanford.nlp.semgraph.SemanticGraph.toCompactStringHelper(SemanticGraph.java:1541)
at edu.stanford.nlp.semgraph.SemanticGraph.toCompactStringHelper(SemanticGraph.java:1541)
at edu.stanford.nlp.semgraph.SemanticGraph.toCompactStringHelper(SemanticGraph.java:1541)
at edu.stanford.nlp.semgraph.SemanticGraph.toCompactStringHelper(SemanticGraph.java:1541)
. . . .
К сожалению, я не могу найти точное предложение (или документ), который вызывает это исключение.Можно ли сделать какую-то проверку заранее, которая бы просто пропустила это предложение?