我试图解决一个NLP多标签分类问题。我有大量的文件,应该分为29类。你知道吗
我解决问题的方法是,在清理文本、停止删除单词、标记化等之后,执行以下操作:
为了创建特征矩阵,我查看了每个文档中术语的频率分布,然后创建了这些术语的表(删除重复的术语),然后计算了相应文本中每个单词的术语频率(tf
)。所以,最终我得到了大约1000个术语和它们在每个文档中受人尊敬的频率。你知道吗
然后我用selectKbest
把它们缩小到490左右。在缩放它们之后,我使用OneVsRestClassifier(SVC
)进行分类。你知道吗
我得到了一个F1 score
左右的0.58
,但它没有任何改善,我需要得到0.62
。你知道吗
我处理这个问题正确吗?你知道吗
我是否需要使用tfidf vectorizer
而不是tf
,以及如何使用?你知道吗
我是NLP的新手,我不知道下一步该怎么做,如何提高分数。你知道吗
这方面的任何帮助都是无价的。你知道吗
谢谢
Tf
方法可以对常用词给予更多的重视,而不是使用Tfidf
方法,该方法对数据集中特定文档中罕见且唯一的词给予重视。你知道吗另外,在选择Kbest之前,还要对整个特征集进行训练,然后使用特征重要性来获得最佳特征。你知道吗
您也可以尝试使用
Tree Classifiers
或XGB
来更好地建模,但是SVC
也是非常好的分类器。你知道吗尝试使用
Naive Bayes
作为f1 score
的最低标准,并尝试在grid search
的帮助下改进其他分类器的结果。你知道吗相关问题 更多 >
编程相关推荐