Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Text 测试时计算IDF(如TF-IDF)?_Text_Classification_Information Retrieval_Tf Idf - Fatal编程技术网

Text 测试时计算IDF(如TF-IDF)?

Text 测试时计算IDF(如TF-IDF)?,text,classification,information-retrieval,tf-idf,Text,Classification,Information Retrieval,Tf Idf,据我所知,IDF用于计算有多少文档具有该术语(某种程度上只是想法)。您可以在培训集中计算IDF(以及TF),因为您事先拥有所有文档。但是,如果我事先没有测试集,并且以顺序的方式(比如从网络爬虫)获取测试文档,该怎么办,那么,在进行测试时,我将如何计算文档中单词的IDF?如果您仅在索引/爬网整个文档后执行测试,则可以在爬网完成后计算IDF。遇到新文档或新术语时,不必计算IDF。当您需要它进行TD-IDF或其他计算时,您可以动态计算它 如果这还不够,出于某种原因,您仍然可以使用另一个文档数据集的ID

据我所知,IDF用于计算有多少文档具有该术语(某种程度上只是想法)。您可以在培训集中计算IDF(以及TF),因为您事先拥有所有文档。但是,如果我事先没有测试集,并且以顺序的方式(比如从网络爬虫)获取测试文档,该怎么办,那么,在进行测试时,我将如何计算文档中单词的IDF?

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


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

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

“如果您只是在索引/爬网了一整堆文档之后才执行测试”,其实不是这样。当我收到爬虫的一个页面时,我必须决定该页面当时是相关的还是无关的。正如您提到的,在这种情况下,计算另一个文档数据集的IDF是一种做法吗?这个答案对我来说很有意义。然而,我想知道是否有任何文件或文章,你可以参考?而且,我想知道是否有任何图书馆,我们可以使用它来解决这个问题?这是我编辑的评论:这个答案对我来说部分是有意义的。然而,我想知道是否有任何文件或文章,你可以参考?问题是,假设你已经训练了你的模型,一旦你在测试文档中有了一个新词,即使你可以用你的大数据集计算这个词的IDF,但是你在训练集和测试集中仍然会有不同数量的特性,这是行不通的。