Я пытаюсь обучить наивный байесовский классификатор с помощью моих наборов обучающих данных, которые были вручную классифицированы на положительные и отрицательные твиты.
Я нашел много кода, который тренируется с использованием корпуса 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
Моя проблема заключается в однострочном операторе цикла. Мне не нужно иметь дело с идентификатором файла в моей программе, так как у меня есть только один файл в каждой категории. Как я могу отредактировать это заявление?
Мой корпус: nltk.data/corpora/my_corpus/negative/negative_tweets.txt — категория 1 nltk.data/corpora/my_corpus/positive/positive_tweets.txt — категория 2