我使用Stanford's NER CRF,想要训练大型数据集,让我们说100k新闻文章。如何训练数据,需要多长时间?我是机器学习领域的新手,并希望得到一些指导。
问题1: 所有这些变量意味着什么?我应该特别注意哪些?
numClasses: 8
numDocuments: 100
numDatums: 48721
numFeatures: 168489
Time to convert docs to data/labels: 1.0 seconds
numWeights: 4317368
QNMinimizer called on double function of 4317368 variables, using M = 25.
问题2:我应该在一台机器上运行培训,还是在像Hadoop这样的分布式系统上运行?
问题3:计算似乎是CPU和内存密集型,我该如何克服这些要求?
答案 0 :(得分:0)
您能否提供有关训练数据的更多详情。通常,您可以在人类标记数据上训练NER系统,例如2003 CoNLL数据集。你有多少人类标记数据?
NER系统的常见问题解答提供了一些减少内存的建议:
此时无法在多台计算机上运行NER培训。
我对此并不乐观,但我认为默认情况下,CRFClassifier在评估渐变时会使用多线程...如果它不使用多线程,则在属性中添加以下内容会导致它开始使用指定线程数的多线程:
multiThreadGrad=4