【问题标题】:nlp multilabel classification tf vs tfidfnlp 多标签分类 tf vs tfidf
【发布时间】:2019-07-05 07:03:36
【问题描述】:

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

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

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

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

我在0.58 附近得到了一个F1 score,但它根本没有改善,我需要得到0.62。

我是否正确处理了问题?

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

我对 NLP 很陌生,完全不知道下一步该做什么以及如何提高分数。

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

谢谢

【问题讨论】:

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


    【解决方案1】:

    Tf 方法可以比必要的更重视常用词,而不是使用 Tfidf 方法,它重视数据集中特定文档中稀有和独特的词。

    同样在选择 Kbest 之前,宁愿在整个特征集上进行训练,然后使用特征重要性来获得最佳特征。

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

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

    【讨论】:

    • 嗨。我只是通过使用 tf-idf 矢量化器设法通过了成绩。我的根很长而且很复杂。结果比我想象的要简单。谢谢。
    猜你喜欢
    • 2011-12-06
    • 2020-11-08
    • 2020-06-26
    • 2018-05-26
    • 2019-07-06
    • 2021-12-20
    • 2017-07-03
    • 1970-01-01
    • 2019-04-01
    相关资源
    最近更新 更多