我正在尝试使用Stanford CoreNLP。我使用Web上的一些代码来了解coreference工具的用途。我尝试在Eclipse中运行该项目但仍遇到内存不足异常。我尝试增加堆大小,但没有任何区别。关于为什么会这种情况发生的任何想法?这是特定于代码的问题吗?任何使用CoreNLP的方向都会很棒。
编辑 - 已添加代码
import edu.stanford.nlp.dcoref.CorefChain;
import edu.stanford.nlp.dcoref.CorefCoreAnnotations;
import edu.stanford.nlp.pipeline.Annotation;
import edu.stanford.nlp.pipeline.StanfordCoreNLP;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
public class testmain {
public static void main(String[] args) {
String text = "Viki is a smart boy. He knows a lot of things.";
Annotation document = new Annotation(text);
Properties props = new Properties();
props.put("annotators", "tokenize, ssplit, pos, parse, dcoref");
StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
pipeline.annotate(document);
Map<Integer, CorefChain> graph = document.get(CorefCoreAnnotations.CorefChainAnnotation.class);
Iterator<Integer> itr = graph.keySet().iterator();
while (itr.hasNext()) {
String key = itr.next().toString();
String value = graph.get(key).toString();
System.out.println(key + " " + value);
}
}
}
答案 0 :(得分:4)
我在Eclipse中使用Stanford CoreNLP构建小型应用程序时发现了类似的问题
增加Eclipse的堆大小不会解决您的问题
在搜索之后,应该增加 ant build tool 堆大小,但我不知道该怎么做。
所以我放弃Eclipse并改用Netbeans。
PS: Netbeans中的默认设置最终会导致内存不足。但它可以通过根据应用程序调整 -Xms 来轻松解决。
答案 1 :(得分:3)
修复eclipse:你可以在eclipse偏好中配置它,如下所示
答案 2 :(得分:2)
我认为您可以在VM参数下的右键单击&gt; run-&gt;运行配置中定义堆大小。我已经在mac上测试了它并且它可以工作。