Stanford ner java.lang.OutofMemory问题和输出的解释



我试图使用stanford-ner.jar在一个相对较大的语料库(504MB)上进行训练,即使我使用-Xms1g和-Xms1g选项,仍然存在内存问题。最可怕的是输出,当我尝试训练一个小模型时,输出是这样的:

[1000][2000]numFeatures = 215032

然而,我目前得到的人员甚至达到了"534700",numberFeatures仍在计算中。我想一定是有什么问题导致内存问题,软件不能处理这么大的功能?我真的不明白[1000][2000]…这是什么意思?有没有斯坦福大学的教程来解释软件的输出?

我的训练语料库格式如下:

Google    COMP
And       O
Steve     PER
.         O
Microsoft COMP
Facebook  COMP
Total     MET
profix    MET
.         MET

诸如此类的小条目组成了这个504MB的语料库。

谁能指出我的问题?

谢谢!

您可能应该增加分配给程序的内存。传递给Java的-mx值是多少?-Xms设置初始内存,-mx(或-Xmx)设置最大内存。我的猜测是,对于500MB的语料库,这必须是一个非常大的值——至少10GB,甚至更多。最重要的是,我有一种不好的感觉,这将需要很长时间的训练。

你从哪里收集到这么大的训练语料库?是否有可能对语料库进行抽样,至少在一开始,看看是否能训练?

最新更新