CoreNLP:句子解析失败,可能是因为内存不足

时间:2017-01-28 05:48:15

标签: java nlp out-of-memory stanford-nlp

在运行斯坦福大学的CoreNLP 3.7.0时,我偶然看到了这一点:

WARNING: Parsing of sentence failed, possibly because of out of memory.
Will ignore and continue: Just a year ago , the public outrage was over 
Sovaldi , a new hepatitis C drug being sold by Gilead Sciences for 
$ 1,000 a pill , or $ 84,000 for a course of treatment . 

我以前见过这个,但那句话分裂搞砸了,并且给了一个很长的句子。我现在看到的案例,如上所述,具有合理的大小,正确分割的句子。

为什么会发生这种情况,我应该怎么做才能解决它?

1 个答案:

答案 0 :(得分:1)

虽然这不完全是为什么会发生这种情况的答案,但我通过使用64位JRE并增加可用堆来解决这个问题。我不确定你使用的是什么环境和IDE,但是在Windows上的Eclipse中你必须做三件事:

  • Download the 64-bit JRE(选择Windows Offline / 64位)
  • 在Eclipse中,单击 Window..Preferences..Java..Installed JRE ,然后确保选中新安装的JRE(您可能必须点击 Search to先找到它)
  • 右键单击您的Java项目,单击 Properties..Run / Debug Settings ,选择您感兴趣的启动配置,然后点击 Edit 。在 Arguments 标签上,在 VM参数下输入-Xmx30G

这会将最大堆设置为30Gb(我不确定它是否受到物理内存的限制,因为我没有那么多)并且您的项目应该再次运行。请注意,之前发生的事情很可能会被缓慢处理。