nlp 多标签分类 tf vs tfidf

nlp multilabel classification tf vs tfidf

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

我解决这个问题的方法是,在清理文本、删除停用词、标记化等之后,执行以下操作:

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

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

我在 0.58 左右获得了 F1 score,但它根本没有改善,我需要获得 0.62

我是否正确处理了问题?

我是否需要使用 tfidf vectorizer 而不是 tf,如何使用?

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

在这个问题上的任何帮助都是无价的。

谢谢

Tf 方法可以比必要的更重视常用词,而不是使用 Tfidf 方法,该方法赋予数据集中特定文档中罕见且独特的词的重要性。

此外,在选择 Kbest 之前,宁愿对整组特征进行训练,然后使用特征重要性来获得最佳特征。

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

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