7
votes

En utilisant Stanford Corenlp

J'essaie de contourner l'utilisation de Stanford Corenlp. J'ai utilisé du code sur le Web pour comprendre ce qui se passe avec l'outil Coreference. J'ai essayé d'exécuter le projet dans Eclipse mais continuez à rencontrer une exception hors mémoire. J'ai essayé d'augmenter la taille du tas mais il n'y a aucune différence. Des idées sur la raison pour laquelle cela continue à se produire? Est-ce un problème spécifique au code? Toute direction d'utilisation corenlp serait génial.

Edit - Code ajouté P>

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);      
        }

   }
}


1 commentaires

J'utilise Corenlp à Eclipse avec -xms4g et ça marche bien.


3 Réponses :


4
votes

J'ai trouvé un problème similaire lors de la construction d'une petite application utilisant Stanford Corenlp à Eclipse.
L'augmentation de la taille du tas d'Eclipse ne résoudra pas votre problème.
Après avoir effectué la recherche, c'est outil de construction de fourmis Taille du tas qui devrait être augmenté, mais je ne sais pas comment faire ça.
Donc, j'abandonne Eclipse et utilisez plutôt Netbeans.

PS: Vous finirez par sortir d'une exception de mémoire avec le paramètre par défaut dans NetBeans. Mais il peut facilement résoudre en ajustant le réglage -xms par application.


6 commentaires

Merci! C'est un sauveur de vie! Ce problème de mémoire me conduisait à Noix! Comment avez-vous trouvé que le problème était avec la fourmi?


J'ai fait des googles. Faites-moi savoir si vous trouvez un moyen de définir la taille des fourmis.


[This] ( SOINKEROHDE .COM / 2008/06 / ... ) Le site Web a une réponse mais je ne sais pas pourquoi cela ne fonctionne toujours pas. En outre, si vous êtes en ligne, j'aimerais discuter avec vous!


Je ne pouvais pas en ce moment. Je vais sortir. Vous pouvez m'envoyer un email moi [Kyu Dot Helf à Gmail Dot Com]


Changements à NetBeans le seul moyen d'éviter l'exception exceptionnelle?


En ce qui concerne les solutions aller, la commutation de l'IDE est probablement la pire. Vous pouvez facilement définir la taille du tas sur une base de configuration. Ouvrez les configurations d'exécution / débogage et sélectionnez l'onglet "Arguments". img.viralpatel.net/2009/10/tomcat-jvm-config. png



3
votes

Correction pour Eclipse: vous pouvez le configurer dans la préférence Eclipse comme suit

  1. Windows -> Préférences (sur Mac It's: Eclipse -> Préférences)
  2. Java -> JRES installées
  3. Sélectionnez le JRE et cliquez sur Modifier
  4. sur le champ d'arguments VM par défaut, tapez "-XMX1024M". (ou votre préférence de mémoire, pour 1 Go de RAM STI 1024)
  5. Cliquez sur Terminer ou OK.

0 commentaires

2
votes

Je pense que vous pouvez définir la taille du tas dans un clic droit-> exécuter-> exécuter-configurations sous les arguments VM. Je l'ai testé sur Mac et ça marche.


0 commentaires