Python NLTK-多标签分类
我使用NLTK对文档进行分类,每个文档有一个标签,有10种文档类型 对于文本提取,我正在清理文本(标点符号删除、html标记删除、小写)、删除nltk.corpus.stopwords以及我自己的stopwords集合 对于“我的文档”功能,我查看了所有50k个文档,并按频率(frequency_words)收集了前2k个单词,然后针对每个文档确定文档中哪些单词也在全局frequency_words中 然后,我将每个文档作为Python NLTK-多标签分类,python,nlp,nltk,document-classification,Python,Nlp,Nltk,Document Classification,我使用NLTK对文档进行分类,每个文档有一个标签,有10种文档类型 对于文本提取,我正在清理文本(标点符号删除、html标记删除、小写)、删除nltk.corpus.stopwords以及我自己的stopwords集合 对于“我的文档”功能,我查看了所有50k个文档,并按频率(frequency_words)收集了前2k个单词,然后针对每个文档确定文档中哪些单词也在全局frequency_words中 然后,我将每个文档作为{word:boolean}的hashmap传递到nltk.NaiveB
{word:boolean}
的hashmap传递到nltk.NaiveBayesClassifier(…)中,相对于文档总数,我有一个20:80的测试训练比率
我面临的问题是:
谢谢 术语:将文档分为10个不同的类别,这使其成为一个多类别分类问题。此外,如果要使用多个标签对文档进行分类,则可以将其称为多类多标签分类 对于您所面临的问题
注意:使用scikit learn,我能够在一周内取得成果,因为数据集非常庞大,而且还遇到了其他挫折 多标签数据是指一个文档可以有多个标签,还是指有两个以上的标签?如果有两个以上的标签,大约有10个。每个文档只有一个labelOkay。我不太明白你的第二个问题。“每个文档的字数”是什么意思?您的意思是说您执行了某种形式的降维(“收集前2k个单词”)?因此,在从每个文档提取特征时,您只需计算单词数,就可以使用nltk.FreqDist创建哈希图,即{'manage':1029,…..}这可以传递给NaiveBayes算法进行训练,classifierNLTK可以在多个类别中进行分类,只需提供一个带有多个标签的训练集。您可以忽略作者之间的个体差异,使用您描述的FreqDist。