9

使用分类算法(例如朴素贝叶斯或 SVM)和 StringToWordVector,是否可以使用 TF/IDF 并计算整个当前类中的术语频率,而不仅仅是查看单个文档?

让我解释一下,我希望计算能够为给定类(不仅仅是给定文档)非常频繁但在整个语料库中不是非常频繁的单词提供高分。

是否可以开箱即用,还是需要一些额外的开发?

谢谢 :)

4

3 回答 3

6

我希望计算能够为给定类(不仅仅是给定文档)非常频繁但在整个语料库中不是非常频繁的单词提供高分。

您似乎想要有监督的术语权重。我不知道有任何现成的实现,但是有很多关于它的文献。例如,加权方案 tf-χ² 将 idf 替换为 χ² 独立性检验的结果,因此统计上依赖于某些类别的项得到提升,还有其他几个。

Tf-idf 本身本质上是无监督的。

于 2013-10-25T14:54:38.733 回答
4

我认为您在这里感到困惑-您所要求的本质上是该类别文档的该术语的特征权重。这就是学习算法旨在优化的内容。只需担心文档的有用表示,它必须对它们所属的类保持不变(因为您不会知道看不见的测试文档的类是什么)。

于 2013-10-28T14:21:30.203 回答
0

更改后的 idf 可能会在某些场景中为您提供帮助。

您可以使用定义为的 idf:
log(1+p(该类中的术语)/p(其他类中的术语))

缺点:每个类都有不同的idf,这可以解释为不同类中的每个术语对区分类别有不同的贡献。

应用:通过在 Native Bayes 中添加 idf,我在查询关键字分类方面得到了改进。它在提取关键字时表现良好。

于 2013-12-06T08:13:06.590 回答