我试图使用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,甚至更多。最重要的是,我有一种不好的感觉,这将需要很长时间的训练。
你从哪里收集到这么大的训练语料库?是否有可能对语料库进行抽样,至少在一开始,看看是否能训练?