※ ChatGPTを利用し、要約された質問です(原文:以下のプログラムで出るエラーの意味が分かりません(つ_;))
OPENnlpの構文解析でエラーが発生する
このQ&Aのポイント
以下のプログラムで出るエラーの意味が分かりません。OPENnlpの構文解析でエラーが発生し、java.lang.OutOfMemoryError: Java heap spaceというエラーが表示されます。
エラーメッセージによると、このエラーはJava heapスペースの不足によって発生しています。
このエラーを解決するためには、プログラムの実行に割り当てられるJava heapスペースを増やす必要があります。
以下のプログラムで出るエラーの意味が分かりません(つ_;)
import opennlp.tools.lang.english.TreebankParser;
import opennlp.tools.parser.Parse;
import opennlp.tools.parser.ParserME;
import opennlp.tools.util.Span;
public class Test {
public static void main(String[] args) throws Exception {
ParserME parser = TreebankParser.getParser("C:\\opennlp", true, false,
ParserME.defaultBeamSize,
ParserME.defaultAdvancePercentage);
String input = "I am a student.";
Parse[] parses = TreebankParser.parseLine(input, parser, 1);
for (Parse parse : parses) {
output(parse);
}
}
private static void output(Parse parse) {
if (parse.getChildCount() == 0) {
Span span = parse.getSpan();
String word = parse.getText().substring(
span.getStart(), span.getEnd());
System.out.print(word);
} else {
System.out.print("(" + parse.getType() + " ");
for (Parse child : parse.getChildren()) {
output(child);
}
System.out.print(")");
}
}
}
これは英文の構文解析をしてくれるOPENnlpというプログラムです。
本来なら
(TOP (S (NP (PRP I))(VP (VBP am)(NP (DT a)(NN student.)))))
という出力があるはずなのですが、エラーが出ます。。
Exception in thread ”main” java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOfRange(Unknown Source)
at java.lang.String.<init>(Unknown Source)
at java.io.DataInputStream.readUTF(Unknown Source)
at java.io.DataInputStream.readUTF(Unknown Source)
at opennlp.maxent.io.BinaryGISModelReader.readUTF(BinaryGISModelReader.java:70)
at opennlp.maxent.io.SuffixSensitiveGISModelReader.readUTF(SuffixSensitiveGISModelReader.java:94)
at opennlp.maxent.io.GISModelReader.getPredicates(GISModelReader.java:134)
at opennlp.maxent.io.GISModelReader.getModel(GISModelReader.java:82)
at opennlp.tools.lang.english.TreebankParser.getParser(TreebankParser.java:45)
at Kaaaaaa.main(Kaaaaaa.java:10)
というエラーが出ます・・・。
このエラーを解決するにはどうしたら良いでしょうか??
もし分かる方いらっしゃったら教えていただけないでしょうか??
お礼
おかげさまでできるようになりました☆ 本当にありがとうございます♪