【问题标题】:How to overcome Drawback of Inverse Document Frequency (IDF)如何克服逆文档频率 (IDF) 的缺点
【发布时间】:2014-08-19 21:57:39
【问题描述】:

请告诉我如何克服 IDF 中的负权重问题。谁能举个小例子?

【问题讨论】:

  • 负权重?这应该怎么发生?
  • @qqilihq IDF 在将其用于出现在超过一半的语料库文档中的术语时显示出潜在的主要缺点。这些词条的 IDF 为负数,因此对于任何两个几乎相同的文档,一个包含该词条,一个不包含该词条,后者可能会得到更大的分数。这意味着出现在一半以上语料库中的术语将对最终文档分数产生负面影响。

标签: search-engine information-retrieval


【解决方案1】:

IDF 定义为 N/n(t),其中 n(t) 是出现术语“t”的文档数,N 是集合中文档的总数。有时,会在这个分数周围应用 log()。

请注意,这个分数 N/n(t) 总是 >= 1。对于出现在所有文档中的单词,很可能是英文单词“the”,idf 的值是 1。甚至如果围绕该分数应用对数,则该值始终 >= 零。 (回想一下 log 函数的图,它从 -inf 单调增加到 +inf,如果 x1,则 log(x)>0)。

因此,idf 的标准定义不可能是否定的。

【讨论】:

    【解决方案2】:

    Debasis 给出的答案是完全正确的。但是,如果将一个小的 +1 项添加到除数以避免被零除错误,负 idf 可能仍会重新计算。暗示这一点的一个来源是Wikipedia article on tf-idf。问题是,如果出现计数 n(t) 等于文档的计数 N(即它出现在所有文档中),则 LOG 操作会导致负值。我刚刚在一个玩具问题上实现 tf-idf 时遇到了这个问题,其中文档计数 N = 3 和出现计数 3 通常 = 0,但由于 +1 修正项增加,导致 idf 为 -0.287682072451781除数为 4,> 比文档数。也许这就是 O.P. 所经历的负权重背后的罪魁祸首。我想我会发布这个,以防其他人再次遇到这个最初令人困惑的问题。解决方法很简单:删除 +1 项并找到另一种方法来避免被零除错误。

    【讨论】:

      猜你喜欢
      • 2016-01-23
      • 2023-03-08
      • 2017-06-13
      • 2015-11-23
      • 1970-01-01
      • 2015-01-19
      • 1970-01-01
      • 2014-05-18
      • 1970-01-01
      相关资源
      最近更新 更多