2

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

我不确定的是,这是否有助于提高文档分数,因为权重更高,或者降低文档分数,因为它使文档向量远离查询向量,正如《Hibernate Search in Action》一书所说(第 363 页) . 我承认我真的很难看到文档向量模型如何与 lucene 评分方程相匹配

4

1 回答 1

1

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

  • 查询词的文档频率较低(提高了分数的IDF部分),
  • 查询词在文档中出现的次数很多(提高了分数的TF部分),
  • 查询的词出现在文档的一个相当小的字段中(提高分数的规范部分)。

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

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

D2 会比 D1 有更好的分数。

于 2012-03-07T23:23:34.420 回答