文本分类的词袋:为什么不只使用词频而不是 TFIDF?

机器算法验证 机器学习 分类 文本挖掘
2022-02-03 07:39:22

文本分类的一种常用方法是从“词袋”中训练分类器。用户获取要分类的文本并计算每个对象中单词的频率,然后进行某种修剪以使生成的矩阵保持在可管理的大小。

我经常看到用户使用 TFIDF 构建他们的特征向量。换句话说,上面提到的文本频率被语料库中单词的频率降低了权重。我明白为什么 TFIDF 对选择给定文档中“最有区别的”单词很有用,例如,显示给人类分析师。但是在使用标准监督机器学习技术进行文本分类的情况下,为什么还要通过语料库中文档的频率来降低​​权重呢?学习者自己不会决定分配给每个单词/单词组合的重要性吗?如果您对 IDF 增加的价值有什么看法,我将不胜感激。

2个回答

您是正确的,监督学习器通常可以使用 TF-IDF 加权来冗余。以下是原因的基本概述:在 TF-IDF 加权的一种典型形式中,重新缩放是对数的,因此单词的加权w在一个文件中d

TF-IDF(w,d)=(no. occurrences of w in d)f(w)
为了N语料库中的文档数量和f(w)=log(Nno. documents containing w). 什么时候f(w)>0, TF-IDF 只是对术语频率进行了重新调整。因此,如果我们将计算每个文档中单词出现次数的矩阵写为X, 那么线性模型的形式为Xβ. 如果我们使用 TF-IDF 而不是仅使用词频,则线性模型可以写为X(kI)β~, 在哪里k是一个存储我们所有权重的向量ki=f(wi). 的效果kI是重新调整每一列X. 在这种情况下,选择使用 TF-IDF 还是单独使用 TF 是无关紧要的,因为你会得到相同的预测。使用替换(kI)β~=β,我们可以看到效果是rescaleβ.

但至少在两种情况下,选择使用 TF-IDF对监督学习来说是重要的。

第一种情况是当f(w)=0. 只要每个文档中出现一个术语,例如“and”或“the”等非常常见的词,就会发生这种情况。在这种情况下,TF-IDF 会将X(kI),导致矩阵不是满秩的。对于监督学习,秩亏矩阵通常不是首选,因此这些词只是从X因为他们没有添加任何信息。通过这种方式,TF-IDF 提供了对最常用词的自动筛选。

第二种情况是当矩阵X(kI)将其文档向量重新调整为相同的规范。由于较长的文档很可能比较短的文档具有更大的词汇量,因此很难比较不同长度的文档。重新缩放每个文档向量还将抑制文档中稀有词的重要性,而与该词在语料库中的稀有或常见程度无关。此外,在计算 TF-IDF 后重新缩放每个文档的向量以具有相同的范数会给出一个设计矩阵,该矩阵不是X,因此无法使用线性缩放恢复原始矩阵。

重新缩放文档向量与余弦相似度密切相关,因为这两种方法都涉及比较单位长度向量。

TF-IDF 在某些设置中的流行并不一定会对您使用的方法施加限制。最近,使用在大型语料库上预训练或由研究人员针对其特定任务训练的词和标记向量变得非常普遍。根据您所做的工作和数据规模以及分析目标,使用 TD-IDF、word2vec 或其他方法来表示自然语言信息可能更方便。

可以在此处找到许多资源,为了方便我将其复制。

  • K.斯帕克琼斯。“术语特异性的统计解释及其在检索中的应用”。文献杂志,28 (1)。1972 年。

  • G. Salton 和 Edward Fox 和 Wu Harry Wu。“扩展布尔信息检索”。ACM 通讯,26 (11)。1983 年。

  • G. 索尔顿和 MJ 麦吉尔。《现代信息检索导论》。1983年

  • G. 索尔顿和 C. 巴克利。“自动文本检索中的术语加权方法”。信息处理与管理,24 (5)。1988 年。

  • H. Wu 和 R. Luk 以及 K. Wong 和 K. Kwok。“将 TF-IDF 术语权重解释为做出相关决策”。ACM 信息系统交易,26 (3)。2008 年。

在典型情况下,您的语料库中的文档可能比带标签的文档多得多。这意味着在使用整个语料库时可以更准确、更完整地计算 IDF。

接下来考虑到目前为止您可以获得的语料库都已标记或标记的子集“足够大”的情况。在这种情况下,使用 TfIDF 时训练所需的迭代次数可能会更少,因为学习算法不需要学习太多。

最后,在同样的情况下,您也可以仅提供 tf,或者分别提供 tf 和 idf(甚至还包括 tfidf)。我认为这可能会产生更好的结果,例如,在使用复杂的内核函数时。