更大的tf总能提升Lucene的文件得分吗?

时间:2012-03-07 21:42:40

标签: lucene cosine-similarity

据我所知,默认术语频率(tf)简单地计算为搜索的特定术语出现在字段中的sqrt次数。因此,包含您正在搜索的术语的多个出现的文档将具有更高的tf并因此具有更高的权重。

我不确定这是否有助于增加文档分数,因为权重更高或减少文档分数,因为它将文档向量移动远离查询向量作为书Hibernate Search in Action似乎在说(第363页)。我承认我真的很难看到文档向量模型如何适应lucene得分方程

1 个答案:

答案 0 :(得分:1)

我没有要检查本书,但基本上(如果我们忽略可以在索引时手动设置的不同提升),有三个原因可能会导致某些文档的得分高于(或低于)使用Lucene的默认评分模型和给定查询的其他文档的分数:

  • 查询的术语文档频率较低(提升得分的IDF部分),
  • 查询的术语在文档中出现次数很多(提升得分的TF部分),
  • 查询的字词出现在文档的一个相当小的字段中(提升分数的norm部分)。

这意味着对于两个文档D1和D2以及一个查询的术语T,如果

  • T在D1中出现n次,
  • T出现p>在D2中n次,
  • D2的查询字段具有(几乎)与D1相同的大小(术语数),

D2的得分会高于D1。