【问题标题】:How to calculate IDF?如何计算 IDF?
【发布时间】:2010-12-30 08:42:00
【问题描述】:

感谢本网站上的各位在 TF/IDF 中提供的帮助。它帮助我在 java 中创建 tf-idf 函数。我做了 tf 但我有一个问题。正如他们在 wiki 上写的那样,IDF 可以计算出有多少文档具有该术语。但我很困惑。

例如,这里是字符串“JosAH is great. JoshAH Rocks”,因此 TF 为 2/5,对于 IDF,有 2 个文档,每个文档都包含 JoshAH 术语。所以 我们将只查看该术语是否出现在其他文档中,或者我们将查看它在其他文档中出现的次数?

【问题讨论】:

    标签: tf-idf


    【解决方案1】:

    我不完全确定你在这里问什么。无论如何,IDF --- inverse document frequency --- 的目的是抑制非常频繁项的分数,并提高不频繁项的分数。

    在您的两个文档集合中,“JosAH”的 IDF 将为 0 --- 因为它出现在所有文档中。

    【讨论】:

    • 谢谢亚历克斯,让我解释一下我的问题。在 1 个文档中,我可以计算词频以查看一个单词出现了多少次。但是对于 IDF,我应该看看它是否出现在其他文件中。或者我是否还应该查看它在其他文档中出现的次数?如果您还有任何问题,请务必问我。谢谢
    • IDF的数学定义应该在你的教科书中有很好的定义。引用 Wikipedia:逆文档频率是该术语的一般重要性的度量(通过将所有文档的数量除以包含该术语的文档的数量,然后取该商的对数来获得)。因此,您需要知道它出现的文档数,以及文档总数。不过,您不需要每个文档的出现次数。
    • 让我们说一下我们是如何计算 TF/IDF 的,术语是“JosAH”,它的 tf/idf = 0.232 但我们想查看与第二个文档的完整文档相似度,所以我必须计算 TF/每个学期的 IDF?然后将其相加得到实际的 tf/idf ???如果我错了,请纠正我
    【解决方案2】:

    文档频率是“集合中包含术语的文档数”(来自Introduction to Information Retrieval),所以用你的话来说,前一个选项,'看看是否术语出现'。

    【讨论】:

      猜你喜欢
      • 2012-04-23
      • 2016-09-03
      • 1970-01-01
      • 2020-11-05
      • 1970-01-01
      • 1970-01-01
      • 2017-12-15
      • 1970-01-01
      • 2019-05-24
      相关资源
      最近更新 更多