信息检索:如何为多个搜索词计算tf-idf?

时间:2018-11-03 18:00:27

标签: search full-text-search information-retrieval tf-idf

我有以下4个文档的主体:

  

<1>这是第一个文档。
  <2>这是第二份文件。
  <3>第三个文档比第一个和第二个文档长。
  <4>这是最后一个文档。

并使用搜索队列“ first or last”,我应该如何计算tf-idf?

当前我正在使用此

tf(x, D) = raw frequency of term x in document D / raw frequency of most occurring term in D

idf(x) = log(1 + total number of documents / number of documents containing x)

对于队列,我得到了
<1> = (1 / 1) * log(1 + 4/3)
<3> = (1 / 2) * log(1 + 4/3)
<4> = (1 / 1) * log(1 + 4/3)

这是正确的吗?您如何正确执行此操作?我是否要分别计算所有搜索词的值,然后相加?相乘?

1 个答案:

答案 0 :(得分:0)

假设您说“搜索队列”时的意思是“搜索查询”,并且查询是使用逻辑运算符 OR 构造的,则可以构造一个流,当其中一个术语为遇到。这实际上是您在上面所做的。

正如您在帖子中所说,另一种方法是在分别计算术语向量之后,再计算它们的向量。但是,乘法不是您要的选择。

因此,无论哪种方式,您都可以通过这种方式从多个术语中构造一个抽象术语。