【发布时间】:2012-04-23 21:22:26
【问题描述】:
据我了解,IDF 用于计算有多少文档具有该术语(有点想法)。您可以在训练集中计算 IDF(连同 TF),因为您事先拥有所有文档。但是如果我事先没有测试集并且我以顺序方式获取测试文档(比如从网络爬虫),那么在测试时我将如何计算文档中单词的 IDF ?
【问题讨论】:
标签: text classification information-retrieval tf-idf
据我了解,IDF 用于计算有多少文档具有该术语(有点想法)。您可以在训练集中计算 IDF(连同 TF),因为您事先拥有所有文档。但是如果我事先没有测试集并且我以顺序方式获取测试文档(比如从网络爬虫),那么在测试时我将如何计算文档中单词的 IDF ?
【问题讨论】:
标签: text classification information-retrieval tf-idf
对于这种状态,如果您的数据集足够大,您可以只使用 IDF 的训练集。在测试阶段,如果新术语在训练集中,则使用训练的 IDF,如果术语是新术语,则使用训练集文档的数量来计算 IDF。 出于某些目的,您可以使用平滑方法来获得更好的结果。
【讨论】:
如果您只在索引/抓取一大堆文档后执行测试,您可以在抓取完成后计算 IDF。当您遇到新文档或新术语时,您不必计算 IDF。当您需要它进行一些 TD-IDF 或其他计算时,您可以即时计算它。
如果这还不够,出于某种原因,您仍然可以使用另一个文档数据集的 IDF,最好使用相同类型的文档。
【讨论】: