在eclipse

时间:2016-02-22 16:38:07

标签: java eclipse out-of-memory stanford-nlp

我收到此错误

  

java.lang.OutOfMemoryError:超出GC开销限制

尝试运行以下代码时。任何人都可以告诉我该怎么做。另外,我想要链接到良好的Standford CoreNlp教程。

package stanfordnlp;
import java.io.*;
import java.util.*;
import edu.stanford.nlp.io.*;
import edu.stanford.nlp.ling.*;
import edu.stanford.nlp.pipeline.*;
import edu.stanford.nlp.trees.*;
import edu.stanford.nlp.util.*;

public class BaseStanfordNlp {

public static void main(String[] args) throws IOException {
PrintWriter out;
if (args.length > 1) {
  out = new PrintWriter(args[1]);
} else {
  out = new PrintWriter(System.out);
}
PrintWriter xmlOut = null;
if (args.length > 2) {
  xmlOut = new PrintWriter(args[2]);
}

StanfordCoreNLP pipeline = new StanfordCoreNLP();
Annotation annotation;
if (args.length > 0) {
  annotation = new Annotation(IOUtils.slurpFileNoExceptions(args[0]));
} else {
  annotation = new Annotation("Kosgi Santosh sent an email to Stanford University. He didn't get a reply.");
}

pipeline.annotate(annotation);
pipeline.prettyPrint(annotation, out);
if (xmlOut != null) {
  pipeline.xmlPrint(annotation, xmlOut);
}
// An Annotation is a Map and you can get and use the various analyses individually.
// For instance, this gets the parse tree of the first sentence in the text.
List<CoreMap> sentences = annotation.get(CoreAnnotations.SentencesAnnotation.class);
if (sentences != null && sentences.size() > 0) {
  CoreMap sentence = sentences.get(0);
  Tree tree = sentence.get(TreeCoreAnnotations.TreeAnnotation.class);
  out.println();
  out.println("The first sentence parsed is:");
  tree.pennPrint(out);
}
}

} 

enter image description here

1 个答案:

答案 0 :(得分:1)

运行代码时需要使用更多内存。这是关于在Eclipse中添加内存的链接:

https://wiki.eclipse.org/FAQ_How_do_I_increase_the_heap_size_available_to_Eclipse%3F

以下是Stanford CoreNLP文档的链接:

http://stanfordnlp.github.io/CoreNLP/