测试时计算 IDF(如在 TF-IDF 中)



据我了解,IDF 用于计算有多少文档具有该术语(有点像这个想法)。您可以在训练集中计算 IDF(以及 TF),因为您事先拥有所有文档。但是,如果我事先没有测试集,并且我以顺序方式(例如从网络爬虫)获取测试文档,那么在测试时,我将如何计算文档中单词的 IDF?

对于此状态,如果您的数据集足够大,则可以仅使用 IDF 的训练集。 在测试阶段,如果新术语在训练集中,请使用训练的 IDF,如果术语是新术语,请使用训练集文档的数量来计算 IDF。出于某些目的,您可以使用平滑方法来获得更好的结果。

如果您仅在索引/爬网一大堆文档后执行测试,则可以在爬网完成后计算 IDF。当您遇到新文档或新术语时,您不必计算 IDF。当您需要它进行一些TD-IDF或其他计算时,您可以即时计算它。

如果这还不够,出于某种原因,您仍然可以使用另一个文档数据集的 IDF,最好是使用相同类型的文档。

最新更新