2012-01-23 52 views
7

Tôi đang cố gắng sử dụng Stanford CoreNLP. Tôi đã sử dụng một số mã từ web để hiểu những gì đang xảy ra với công cụ lõi. Tôi đã thử chạy dự án trong Eclipse nhưng tiếp tục gặp phải một ngoại lệ bộ nhớ. Tôi đã thử tăng kích thước heap nhưng không có bất kỳ sự khác biệt. Bất kỳ ý tưởng về lý do tại sao điều này tiếp tục xảy ra? Đây có phải là vấn đề về mã cụ thể không? Mọi hướng dẫn sử dụng CoreNLP sẽ thật tuyệt vời.Sử dụng Stanford CoreNLP

EDIT - Mã Added

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

đăng mã tại đây –

+0

@Pangea Đã thêm mã. –

+0

Tôi sử dụng corenlp trong nhật thực với-Xms4g và nó hoạt động tốt. – alienCoder

Trả lời

4

tôi thấy vấn đề tương tự khi xây dựng ứng dụng nhỏ sử dụng Stanford CoreNLP trong Eclipse.
Tăng kích thước heap của Eclipse sẽ không giải quyết được vấn đề của bạn.
Sau khi thực hiện tìm kiếm, nó là công cụ xây dựng kiến ​​ kích thước heap cần được tăng lên, nhưng tôi không có ý tưởng làm thế nào để làm điều đó.
Vì vậy, tôi từ bỏ Eclipse và sử dụng Netbeans thay thế.

PS: Bạn cuối cùng sẽ thoát khỏi ngoại lệ bộ nhớ với cài đặt mặc định trong Netbeans. Nhưng nó có thể dễ dàng giải quyết bằng cách điều chỉnh thiết lập -Xms cho mỗi ứng dụng.

+0

Cảm ơn bạn! Đó là một cuộc sống tiết kiệm! Vấn đề bộ nhớ này đã khiến tôi phát điên! Làm thế nào bạn đã tìm ra rằng vấn đề là với kiến? –

+0

Tôi đã làm một số googling. Hãy cho tôi biết nếu bạn tìm cách để thiết lập kích thước đống kiến. – Khairul

+0

[This] (http://soenkerohde.com/2008/06/change-eclipse-ant-settings-when-you-run-out-of-memory/) trang web có câu trả lời nhưng tôi không chắc chắn lý do tại sao vẫn không hoạt động. Ngoài ra, nếu bạn đang trực tuyến, tôi muốn trò chuyện với bạn! –

3

Fix for eclipse: Bạn có thể cấu hình này trong sở thích nhật thực như sau

  1. Windows -> Preferences (trên mac nó: eclipse -> tuỳ chọn)
  2. Java -> JRE cài đặt
  3. Chọn JRE và nhấp vào Chỉnh sửa
  4. Trên trường đối số VM mặc định, nhập "-Xmx1024M". (hoặc sở thích bộ nhớ của bạn, cho 1GB ram 1024)
  5. Nhấp vào kết thúc hoặc OK.
2

Tôi nghĩ bạn có thể xác định kích thước heap trong nhấp chuột phải-> run-> run-configuration trong đối số VM. tôi đã thử nghiệm nó trên mac và nó hoạt động.

Các vấn đề liên quan