7

Stanford CoreNLP を使用して回避しようとしています。相互参照ツールで何が起こっているのかを理解するために、Web からいくつかのコードを使用しました。プロジェクトを 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);      
        }

   }
}
4

3 に答える 3

4

Eclipse で Stanford CoreNLP を使用して小さなアプリケーションを構築するときに、同様の問題が見つかりました。
Eclipse のヒープ サイズを増やしても問題は解決しません。
検索を行った後、増やす必要があるのはantビルドツールのヒープサイズですが、その方法がわかりません。
そこで私は Eclipse をあきらめて、代わりに Netbeans を使用します。

PS: Netbeans のデフォルト設定では、最終的にメモリ不足の例外が発生します。ただし、アプリケーションごとに-Xmsの設定を調整することで簡単に解決できます。

于 2012-01-23T12:15:11.283 に答える
3

Eclipse の修正: 次のように、Eclipse 設定でこれを構成できます。

  1. Windows -> 設定 (Mac では eclipse -> 設定)
  2. Java -> インストール済みの JRE
  3. JRE を選択し、[編集] をクリックします。
  4. デフォルトの VM 引数フィールドに、「-Xmx1024M」と入力します。(またはメモリの好み、1GBのRAMの場合は1024)
  5. [完了] または [OK] をクリックします。
于 2013-01-09T05:39:21.853 に答える
2

VM引数の下の右クリック->実行->実行構成でヒープサイズを定義できると思います。Macでテストしましたが、動作します。

于 2013-02-22T21:26:22.810 に答える