kavgan / ROUGE-2.0

ROUGE automatic summarization evaluation toolkit. Support for ROUGE-[N, L, S, SU], stemming and stopwords in different languages, unicode text evaluation, CSV output.
https://kavgan.github.io/ROUGE-2.0
Apache License 2.0
209 stars 37 forks source link

Running ROUGE2.jar in NodeJS and getting "stderr: java.lang.OutOfMemoryError: Java heap space" for rouge.type=topic or topicUniq #26

Open tallesfsilva opened 3 years ago

tallesfsilva commented 3 years ago

5ffb561265dba11148a76314.zip Hi there,

I'm developing a GUI and API in NodeJS to execute ROUGE-2.0 and I'm getting some issues when I select the topic and topicUniq rouge.type.

This is the console output: (I'm getting this error when I run spawn a childprocess in NodeJS, but it happens when I run rouge from terminal only.)

I'm only using the samples references and system, in total 11 files with minor changings. I don't know if the problem is in my machine with 8GB RAM or if the references and system are not formatted properly to run rouge in topic or topicUniq. In rouge.type=normal I can run quickly without any problem.

I can send the files I'm using

stderr: Reading POS tagger model from resources/taggers/english-bidirectional-distsim.tagger ... stderr: done [1,4 sec]. stderr:

stdout: 2021-01-11 11:25:27 INFO ROUGECalculator:127 - Loaded...POS tagger.

stdout: 2021-01-11 11:25:27 INFO ROUGECalculator:203 - Working on task1 ngram=1

stdout: 2021-01-11 11:25:38 INFO ROUGECalculator:203 - Working on task1 ngram=2

stdout: 2021-01-11 11:25:48 INFO ROUGECalculator:203 - Working on task2 ngram=1

stderr: jan 11, 2021 11:25:48 AM edu.stanford.nlp.process.PTBLexer next WARNING: Untokenizable: (U+8C, decimal: 140)

stderr: jan 11, 2021 11:26:28 AM edu.stanford.nlp.process.PTBLexer next WARNING: Untokenizable: (U+87, decimal: 135)

stderr: Exception in thread "main" stderr: java.lang.OutOfMemoryError: Java heap space at edu.stanford.nlp.sequences.ExactBestSequenceFinder.bestSequence(ExactBestSequenceFinder.java:108) at edu.stanford.nlp.sequences.ExactBestSequenceFinder.bestSequence(ExactBestSequenceFinder.java:31) at edu.stanford.nlp.tagger.maxent.TestSentence.runTagInference(TestSentence.java:309) stderr: at edu.stanford.nlp.tagger.maxent.TestSentence.testTagInference(TestSentence.java:299) at edu.stanford.nlp.tagger.maxent.TestSentence.tagSentence(TestSentence.java:134) at edu.stanford.nlp.tagger.maxent.MaxentTagger.tagSentence(MaxentTagger.java:990)

stderr: at edu.stanford.nlp.tagger.maxent.MaxentTagger.tagCoreLabelsOrHasWords(MaxentTagger.java:1765) at edu.stanford.nlp.tagger.maxent.MaxentTagger$TaggerWrapper.apply(MaxentTagger.java:1282)

stderr: at edu.stanford.nlp.tagger.maxent.MaxentTagger.tagString(MaxentTagger.java:926) at com.rxnlp.tools.rouge.ROUGECalculator.getPOSTagged(ROUGECalculator.java:405) at com.rxnlp.tools.rouge.ROUGECalculator.computeRouge(ROUGECalculator.java:484)

stderr: at com.rxnlp.tools.rouge.ROUGECalculator.evaluate(ROUGECalculator.java:213) at com.rxnlp.tools.rouge.ROUGECalculator.start(ROUGECalculator.java:172)

stderr: at com.rxnlp.tools.rouge.ROUGECalculator.main(ROUGECalculator.java:96)

child process exited with code 1