查询的IDF?

如何计算查询的tf-idf ? 我知道如何计算一组文档的tf-idf,其中包含以下定义:

tf =文档中的发生/文档中的总字数

idf = log(#term /发生术语的文档/#文档

但我不明白这与查询有什么关系。

例如 ,我读了一个资源,说明了一个查询的价值“ life learning

生活| tf = .5 | idf = 1.405507153 | tf_idf = 0.702753576
学习| tf = .5 | idf = 1.405507153 | tf_idf = 0.702753576

我明白的tf值,每个术语在两个可能的术语中只出现一次,因此1/2,但我不知道idf从哪里来。
我认为#documents = 1和occurrence = 1,log(1)= 0,所以idf将为0,但这似乎并不是这种情况。 它是基于你使用的任何文件吗? 你如何计算查询的tf-idf?


只有tf(生命)取决于查询本身。 但是,查询的idf取决于后台文档,所以idf(life)= 1 + ln(3/2)〜= 1.405507153。 这就是为什么tf-idf被定义为将局部分量(词频)与全局分量(逆文档频率)相乘的原因。


假设你的查询是最好的汽车保险 ,你的总词汇包含汽车,最好,汽车,保险 ,你有N=1,000,000文件。 所以你的查询如下所示:

在这里输入图像描述

你的一个文件可能是:

在这里输入图像描述

现在计算QueryDocument TF-IDF之间的余弦相似度。

链接地址: http://www.djcxy.com/p/33951.html

上一篇: IDF of a query?

下一篇: Comparing logical values to NaN in pandas/numpy