2012-01-23 11 views
7

Sto cercando di aggirare lo Stanford CoreNLP. Ho usato del codice dal web per capire cosa sta succedendo con lo strumento di coreference. Ho provato a eseguire il progetto in Eclipse ma continuo a riscontrare un'eccezione di memoria insufficiente. Ho provato ad aumentare le dimensioni dell'heap ma non c'è alcuna differenza. Qualche idea sul perché questo continua ad accadere? È un problema specifico del codice? Qualsiasi indicazione sull'utilizzo di CoreNLP sarebbe eccezionale.Utilizzo di Stanford CoreNLP

EDIT - Codice Aggiunto

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

inserisci qui il codice –

+0

@Pangea Codice aggiunto. –

+0

Io uso corenlp in eclissi con -Xms4g e funziona perfettamente. – alienCoder

risposta

4

ho trovato problema simile quando si costruisce piccola applicazione che utilizza Stanford CoreNLP in Eclipse.
L'aumento delle dimensioni dell'heap di Eclipse non risolverà il problema.
Dopo aver eseguito la ricerca, è ant form tool dimensione heap che dovrebbe essere aumentata, ma non ho idea di come farlo.
Quindi rinuncio a Eclipse e utilizzo invece Netbeans.

PS: Alla fine si uscirà dall'eccezione di memoria con l'impostazione predefinita in Netbeans. Ma può essere facilmente risolto regolando l'impostazione -Xms per applicazione.

+0

Grazie! Questo è un risparmiatore di vita! Questo problema di memoria mi stava facendo impazzire! Come hai capito che il problema era con la formica? –

+0

Ho fatto qualche ricerca su google. Fammi sapere se trovi il modo di impostare la dimensione dell'heap ant. – Khairul

+0

[questo] (http://soenkerohde.com/2008/06/change-eclipse-ant-settings-when-you-run-out-of-memory/) il sito web ha una risposta ma non sono sicuro del perché ancora non funziona Inoltre, se sei online, mi piacerebbe fare una chiacchierata con te! –

3

Fix per Eclipse: È possibile configurare questo a preferenza eclissi come segue

  1. Windows -> Preferenze (su Mac è: Eclipse -> Preferenze)
  2. Java -> JRE installata
  3. Selezionare la JRE e fare clic su Modifica
  4. Nel campo degli argomenti VM predefiniti, digitare "-Xmx1024M". (o la tua preferenza di memoria, per 1GB di ram è 1024)
  5. Fare clic su Fine o OK.
2

Penso che sia possibile definire la dimensione dell'heap in right-click-> run-> run-configuration sotto gli argomenti VM. l'ho provato su mac e funziona.

Problemi correlati