nlp多标签分类tf vs tfidf

时间:2019-02-11 17:56:26

标签: python nlp tf-idf multilabel-classification tfidfvectorizer

我正在尝试解决NLP多标签分类问题。我有大量的文档,应该分为29类。

我解决该问题的方法是,在清理文本之后,停止单词删除,标记化等操作,

要创建特征矩阵,我查看了每个文档术语的频率分布,然后创建了这些术语的表格(删除了重复的术语),然后计算了其对应文本中每个单词的术语频率(tf)。因此,最终我得到了大约1000个术语以及每个文档中它们受尊敬的频率。

然后我使用selectKbest将它们缩小到490左右。缩放它们后,我使用OneVsRestClassifier(SVC)进行分类。

我在F1 score周围得到0.58,但一点都没有改善,我需要得到0.62

我可以正确处理问题吗?

我需要使用tfidf vectorizer而不是tf,怎么办?

我是NLP的新手,我不确定下一步该怎么做以及如何提高分数。

任何有关此主题的帮助都是无价的。

谢谢

1 个答案:

答案 0 :(得分:0)

Tf方法可以使普通单词的重要性超过必要,而使用Tfidf方法则可以使在数据集中特定文档中稀有且唯一的单词更为重要。

在选择Kbest之前,还要先对整个功能集进行训练,然后使用功能重要性来获得最佳功能。

您也可以尝试使用Tree ClassifiersXGB来更好地建模,但是SVC也是很好的分类器。

尝试使用Naive Bayes作为f1 score的最低标准,并在grid search的帮助下尝试改善其他分类器的结果。