如何计算查询的TF-IDF?

Cod*_*rus 9 search computer-science data-retrieval tf-idf

如何计算tf-idf查询?我理解如何使用以下定义计算一组文档的tf-idf:

tf =文档中的出现/文档中的总词数

idf = log(#documents/#documents,其中包含术语

但我不明白这与查询有何关联.

例如,我读了一个资源,说明了查询的值" 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?

Ami*_*mir 7

假设您的查询是best car insurance,您的总词汇量包含car、best、auto、 insurance并且您有N=1,000,000文档。因此,您的查询如下所示:

在此处输入图片说明

您的文件之一可能是:

在此处输入图片说明

现在计算your和之间的余弦相似度TF-IDFQueryDocument


hyp*_*ons 5

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