Stanford CoreNLP를 사용하려고합니다. 웹에서 코드를 사용하여 coreference 도구로 진행되는 작업을 이해했습니다. 이클립스에서 프로젝트를 실행했지만 메모리 부족 예외가 계속 발생했습니다. 나는 힙 크기를 늘리려고했지만 어떤 차이점이 없다. 왜 이런 일이 계속 발생하는지에 대한 아이디어가 있습니까? 이것은 코드에 특정한 문제입니까? CoreNLP를 사용하는 모든 방향은 정말 멋집니다.Stanford CoreNLP 사용
편집 - 이클립스에 스탠포드 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);
}
}
}
여기에 코드를 게시하십시오. –
@Pangea 코드를 추가했습니다. –
corenlp를 -Xms4g와 함께 사용하면 잘 동작합니다. – alienCoder