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

在运行斯坦福大学的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 . 

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

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

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

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

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

点赞