了解TF-IDF对数中对数的使用

机器算法验证 机器学习 聚类 数理统计 文本挖掘 自然语言
2022-03-16 17:21:18

我在读:

https://en.wikipedia.org/wiki/Tf%E2%80%93idf#Definition

但我似乎无法确切理解为什么这个公式是这样构造的。

我的理解:

iDF 应该在某种程度上衡量一个术语 S 在每个文档中出现的频率,随着术语出现的频率越来越高,值会降低。

从那个角度

iDF(S)=# of Documents# of Documents containing S

此外,术语频率可以正确地描述为

tf(S,D)=# of Occurrences of S in document D# maximum number of occurrences for any string Q in document D

那么度量

iDF(S)×tf(S,D)

在某种程度上与一个术语在给定文档中出现的频率成正比,以及该术语在一组文档中的唯一性。

我不明白的

但是给出的公式将其描述为

(log(iDF(S)))(12+log(12tf(S,D)))

我希望了解对定义中描述的对数的需求。比如,他们为什么在那里?他们强调什么方面?

1个回答

强调的方面是术语或文档的相关性不随术语(或文档)频率成比例增加。因此,使用次线性函数有助于消除这种影响。在此范围内,非常大或非常小的值(例如非常罕见的词)的影响也被摊销了。最后,由于大多数人直观地认为评分函数在某种程度上是加法的,使用对数将使不同独立项的概率P(A,B)=P(A)P(B)看起来更像log(P(A,B))=log(P(A))+log(P(B)).

正如您链接的维基百科文章所指出的那样,TF-IDF 的理由仍未得到充分确立;它是/曾经是我们想要严格的启发式,而不是我们想要转移到现实世界的严格概念。正如@Anony-Mousse 所提到的,关于此事的很好读物是罗伯逊的理解逆文档频率:关于 IDF 的理论论据它对整个框架进行了广泛的概述,并尝试将 TF-IDF 方法与搜索词的相关权重联系起来。