如何逐步训练nltk分类器

Rog*_*Rog 17 python nltk

我正在开发一个项目,使用python nltk模块和naivebayes分类器对文本片段进行分类.我能够对语料库数据进行训练并对另一组数据进行分类,但是希望在初始训练后将其他训练信息提供给分类器.

如果我没有弄错的话,似乎没有办法做到这一点,因为NaiveBayesClassifier.train方法需要一整套训练数据.有没有办法在不提供原始功能集的情况下添加到训练数据中?

我愿意接受包括其他能够接受新训练数据的分类器的建议.

Jac*_*cob 8

我知道有两个选项:

1)定期在新数据上重新训练分类器.您将在语料库(已包含原始训练数据)中累积新的训练数据,然后每隔几个小时重新训练并重新加载分类器.这可能是最简单的解决方案.

2)外部化内部模型,然后手动更新.该NaiveBayesClassifier可直接给予它来创建label_prodistfeature_probdist.您可以单独创建它们,将它们传递给a NaiveBayesClassifier,然后在新数据进入时更新它们.分类器将立即使用这些新数据.您必须查看train方法以获取有关如何更新概率分布的详细信息.

  • 如果您愿意为了水平可伸缩性而牺牲一点速度,则可以通过创建使用Redis Hash进行存储/查找的ProbDistI子类来在Redis中保留模型.然后你不必做任何酸洗,分类器"永远在线". (3认同)