使用Stanford POS Tagg时出现Java内存不足错误

2024-10-03 09:07:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我的Jupyter笔记本中出现以下错误:

Loading default properties from tagger C:\Users\bdiplus_admin\Desktop\ABSA\stanford-postagger-full-2018-10-16/models/english-bidirectional-distsim.tagger
Loading POS tagger from C:\Users\bdiplus_admin\Desktop\ABSA\stanford-postagger-full-2018-10-16/models/english-bidirectional-distsim.tagger ... done [1.5 sec].
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    at edu.stanford.nlp.sequences.ExactBestSequenceFinder.bestSequence(ExactBestSequenceFinder.java:129)
    at edu.stanford.nlp.sequences.ExactBestSequenceFinder.bestSequence(ExactBestSequenceFinder.java:37)
    at edu.stanford.nlp.tagger.maxent.TestSentence.runTagInference(TestSentence.java:341)
    at edu.stanford.nlp.tagger.maxent.TestSentence.testTagInference(TestSentence.java:328)
    at edu.stanford.nlp.tagger.maxent.TestSentence.tagSentence(TestSentence.java:151)
    at edu.stanford.nlp.tagger.maxent.MaxentTagger.tagSentence(MaxentTagger.java:1052)
    at edu.stanford.nlp.tagger.maxent.MaxentTagger.tagCoreLabelsOrHasWords(MaxentTagger.java:1843)
    at edu.stanford.nlp.tagger.maxent.MaxentTagger.tagAndOutputSentence(MaxentTagger.java:1853)
    at edu.stanford.nlp.tagger.maxent.MaxentTagger.runTagger(MaxentTagger.java:1764)
    at edu.stanford.nlp.tagger.maxent.MaxentTagger.runTagger(MaxentTagger.java:1825)
    at edu.stanford.nlp.tagger.maxent.MaxentTagger.runTagger(MaxentTagger.java:1598)
    at edu.stanford.nlp.tagger.maxent.MaxentTagger.runTagger(MaxentTagger.java:1554)
    at edu.stanford.nlp.tagger.maxent.MaxentTagger.main(MaxentTagger.java:1897)

基本上是说我没记性了。你知道吗

我已经查找了这个错误,我得到的最常见的解决方案是尝试用-Xmx4096M指定最大内存。然而,我的问题是我不知道把这个论点放在哪里?

我在运行Python3的Jupyter笔记本中使用了以下代码行:

from nltk.tag.stanford import StanfordPOSTagger as POS_Tag
from nltk import word_tokenize

_path_to_model = home + '/models/english-bidirectional-distsim.tagger' 
_path_to_jar = home + '/stanford-postagger.jar'
stanford_tag = POS_Tag(model_filename=_path_to_model, path_to_jar=_path_to_jar)

def posTag(review):
    tagged_text_list=[]
    for text in review:
        tagged_text_list.append(stanford_tag.tag(word_tokenize(text)))
    return tagged_text_list

Tags: topathtextfromnlpjavataggerat