我正在尝试用我的训练数据集训练朴素贝叶斯分类器,这些数据集已被手动分为正面和负面推文。
我找到了大量使用movie_reviews语料库或类似类型数据集进行训练的代码,但没有找到只有2个文件,一个是负数,一个是正数的代码。
我找到的示例代码:
import string
from nltk.corpus import LazyCorpusLoader,
CategorizedPlaintextCorpusReader
from nltk.corpus import stopwords
my_movie_reviews = LazyCorpusLoader('my_movie_reviews', CategorizedPlaintextCorpusReader, r'(?!\.).*\.txt',
cat_pattern=r'(neg|pos)/.*', encoding='ascii')
mr = my_movie_reviews
stop = stopwords.words('english')
documents = [([w for w in mr.words(i) if w.lower() not in stop and
w.lower() not in string.punctuation], i.split('/')[0]) for i in mr.fileids()]
for i in documents:
print i
我的问题在于单行循环语句。我不必在我的程序中处理fileid,因为我在每个类别中只有一个文件。我该如何编辑该声明?
我的语料库: nltk.data/corpora/my_corpus/negative/negative_tweets.txt - 类别1 nltk.data/corpora/my_corpus/positive/positive_tweets.txt - 类别2