为什么 Lucene IDF 有一个看似额外的 +1?
机器算法验证
信息检索
tf-idf
2022-03-18 20:01:41
1个回答
所有 TF-IDF 加权方案都只是启发式方法,以给予不寻常的术语更多的权重。我不确定 TF-IDF 方案背后通常有一个坚实的统计基础(参见参考资料 1),除了观察到 TF-IDF 往往比简单的字数统计产生更好的结果。由于结果的质量首先是 TF-IDF 的主要(唯一?)理由,因此有人可能会争辩说,尝试使用 +1 和不使用 +1 的方法并选择最好的方法就可以了。
如果我正确地阅读了这个sckit 学习线程,看来您不是第一个提出关于将 IDF 分数加 1 的类似问题的人。关于该线程的共识是 +1 也是非标准行为。我只是略读了一下,但该线程似乎没有包含 +1 的响亮认可或理由。
所以选择 +1 具有将所有 IDF 值的下限置于 1 而不是 0 的效果。这与添加包含您语料库中每个单词的文档。不知道为什么这可能会有所帮助,但也许是在特定情况下。甚至可以处理一些参数在作为调整参数,为您提供更灵活的 IDF 方案系列作为他们的下限。
当 IDF 的下界为零时,乘积对于某些术语可能为 0,因此这些术语在学习过程中根本没有权重;定性地说,这些术语非常常见,以至于它们没有提供与 NLP 任务相关的信息。当下限非零时,这些项将具有更大的影响。
- 约翰·拉弗蒂和盖伊·黎巴嫩。“统计流形上的扩散核。” 机器学习杂志。2005 年。
其它你可能感兴趣的问题