使用classsication algorythm(例如naive bayes或SVM)和StringToWordVector, 是否可以使用TF / IDF并计算整个当前类中的术语频率,而不是只查看单个文档?
让我解释一下,我希望计算能够给出一个特定类别(不仅仅是给定文档)非常频繁的单词,而不是在整个语料库中非常频繁。
开箱即用还是需要一些额外的开发?
谢谢:)
答案 0 :(得分:5)
我希望计算能够对给定类(不仅仅是给定文档)非常频繁的单词给出高分,但在整个语料库中不常见。
您似乎想要受监督的术语加权。我不知道有任何现成的实现,但有一大堆literature about it。例如。加权方案tf-χ²用χ2独立性检验的结果代替idf,因此在统计上依赖于某些类的项被提升,还有其他几个。
Tf-idf本身就是无人监督的。
答案 1 :(得分:2)
我认为你在这里让自己感到困惑---你所要求的实质上是该课程文件中该术语的特征权重。这就是学习算法旨在优化的内容。只是担心文档的有用表示,它必须对它们所属的类不变(因为你不知道类是对于看不见的测试文档是什么)。
答案 2 :(得分:0)
更改的idf可能会帮助您在某个场景中。
您可以使用定义为:as的idf log(1 + p(本课程中的术语)/ p(其他课程中的术语))
缺点:每个类都有不同的idf,这可以解释为不同类中的每个术语在区分类别方面都有不同的贡献。
应用程序:通过在Native Bayes中添加idf,我得到了查询关键字分类的改进。并且在提取关键字时表现良好。