red*_*bia 7 python nlp nltk document-classification
我正在使用NLTK来对文档进行分类 - 每个文档有1个标签,有10种类型的文档.
对于文本提取,我正在清理文本(标点删除,html标记删除,小写),删除nltk.corpus.stopwords,以及我自己的停用词集合.
对于我的文档功能,我查看所有50k文档,并按频率(frequency_words)收集前2k个单词,然后为每个文档识别文档中哪些单词也在全局frequency_words中.
然后我将每个文档作为hashmap传递{word: boolean}
到nltk.NaiveBayesClassifier(...)中,我对文档总数的测试训练比率为20:80.
我遇到的问题:
谢谢!
小智 3
术语:文档将被分为 10 个不同的类,这使其成为多类分类问题。除此之外,如果您想对具有多个标签的文档进行分类,那么您可以将其称为多类多标签分类。
对于您面临的问题,
nltk.NaiveBayesClassifier() 是一个开箱即用的多类分类器。所以是的,你可以用它来解决这个问题。根据多标签数据,如果您的标签是 a、b、c、d、e、f、g、h、i、j,那么您必须将特定文档的标签“b”定义为“0,1” 0,0,0,0,0,0,0,0'。
特征提取是分类(机器学习)中最难的部分。我建议您研究不同的算法,以了解并选择最适合您的数据的算法(如果不查看您的数据,就很难推荐使用哪种算法/实现)
有许多不同的库可供分类。我个人使用过 scikit-learn,我可以说它是很好的开箱即用分类器。
注意:使用 scikit-learn,考虑到数据集巨大和其他挫折,我能够在一周内取得结果。
归档时间: |
|
查看次数: |
1753 次 |
最近记录: |