我正在使用 LETOR 制作信息检索系统。他们使用 TF 和 IDF。我确信 TF 是依赖于查询的。但 IDF 应该是,但是:
“请注意,IDF 是独立于文档的,因此查询下的所有文档都具有相同的 IDF 值。”
但这没有意义,因为 IDF 是功能列表的一部分。如何计算每个文档的 IDF?
我正在使用 LETOR 制作信息检索系统。他们使用 TF 和 IDF。我确信 TF 是依赖于查询的。但 IDF 应该是,但是:
“请注意,IDF 是独立于文档的,因此查询下的所有文档都具有相同的 IDF 值。”
但这没有意义,因为 IDF 是功能列表的一部分。如何计算每个文档的 IDF?
IDF 是特定于术语的。任何给定术语的 IDF 都与文档无关,但 TF 是文档特定的。
换一种说法。假设我们有 3 个文档。
doc id 1 “敏捷的棕色狐狸跳过了懒惰的狗”
doc id 2 “The Sly Fox Pub Annapolis 位于教堂圈”
doc id 3 “位于教堂圈,在历史街区的中心”
现在,如果 IDF 是(文档数)/(包含术语 t 的文档数),那么术语 fox 的 IDF 是 3/2,无论搜索是什么或文档是什么。所以 IDF 是 t 的函数。
另一方面,TF 是 t 和 d 上的函数。所以 doc id 1 的 'the' 的 TF 是 2。
添加到 jshen 所说的内容:
IDF 衡量任何特定单词或语法在您正在搜索的给定语料库中的常见程度。它是对这个词的罕见程度以及它可能的重要性的估计。因此,如果查询包含一个不常见的单词,那么包含该稀有单词的文档应该被判断为更重要。