逆文档频率 (IDF) 是一种统计度量,用于评估术语在文档集合(例如语料库或数据集)中的重要性。 它量化了一个词在所有文档中有多稀有或常见。 核心思想是,出现在许多文档中的术语(例如,“the”或“and”)对于区分文档的重要性较低,而出现在较少文档中的术语更有意义。 IDF 的计算公式为:IDF(t) = log(N / (df(t) + 1))
,其中 N
是文档总数,df(t)
是包含术语 t
的文档数。 对数有助于抑制大数值范围的影响,并且将 1 添加到 df(t)
可防止在术语不存在时被零除。 IDF 很少单独使用,而是与词频 (TF) 结合形成 TF-IDF,这是一种在搜索引擎和文本分析中广泛使用的指标。
TF-IDF 将词频(一个术语在文档中出现的频率)乘以 IDF,为每个术语分配权重。 这种加权有助于优先考虑在特定文档中频繁出现但在其他地方很少出现的术语。 例如,在软件文档语料库中,像“user”这样的常见术语可能具有较低的 IDF,而像“WebSocket”这样的技术术语将具有较高的 IDF。 搜索引擎使用 TF-IDF 按与查询的相关性对文档进行排名。 包含具有高 TF-IDF 的查询术语的文档(表示该术语在文档中很常见且在语料库中很少见)被认为更相关。 类似地,TF-IDF 用于机器学习中,用于文档聚类或分类等任务,区分文档至关重要。
考虑一个实际的例子:新闻文章数据集。 单词“economy”可能出现在 10,000 篇文章中的 500 篇中,因此其 IDF 为 log(10000 / 501) ≈ 2.3
。 相比之下,“hyperinflation”可能出现在 50 篇文章中,导致 IDF 为 log(10000 / 51) ≈ 5.3
。 如果文档多次包含“hyperinflation”,则该术语的 TF-IDF 分数将显着高于“economy”,从而突出了其独特性。 开发人员应注意,IDF 在很大程度上取决于语料库 - 在一个数据集中被认为稀有的术语可能在另一个数据集中很常见。 词干提取(将单词还原为词根形式)或删除停用词(例如“and”或“the”等常见单词)等预处理步骤也会通过改变术语分布来影响 IDF 计算。 正确实施 IDF 需要平衡计算效率(例如,预先计算术语频率)与特定用例的准确性。