我有以下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)
这是正确的吗?您如何正确执行此操作?我是否要分别计算所有搜索词的值,然后相加?相乘?
答案 0 :(得分:0)
假设您说“搜索队列”时的意思是“搜索查询”,并且查询是使用逻辑运算符 OR 构造的,则可以构造一个流,当其中一个术语为遇到。这实际上是您在上面所做的。
正如您在帖子中所说,另一种方法是在分别计算术语向量之后,再计算它们的向量。但是,乘法不是您要的选择。
因此,无论哪种方式,您都可以通过这种方式从多个术语中构造一个抽象术语。