6

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

4

2 回答 2

2

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

于 2012-05-03T20:54:48.237 回答
0

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

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

于 2012-04-11T20:52:54.250 回答