Çok sayıda belge içeren nltk
kütüphanenin movie_reviews
külliyatını kullanıyorum . Benim görevim, verilerin önceden işlenmesiyle ve ön işlem yapılmadan bu incelemelerin tahmini performansını elde etmektir. Ama listelerde, sorun var documents
ve documents2
ben aynı dokümanları var ve her iki listede de aynı düzeni sağlamak için bunları karıştırmak gerekmez. Bunları ayrı ayrı karıştıramıyorum çünkü listeyi her karıştırdığımda başka sonuçlar alıyorum. Bu yüzden aynı sırayla karıştırmam gerekiyor çünkü sonunda onları karşılaştırmam gerekiyor (sıraya bağlı). Python 2.7 kullanıyorum
Örnek (gerçekte dizeler belirtilmiştir, ancak göreli değildir):
documents = [(['plot : two teen couples go to a church party , '], 'neg'),
(['drink and then drive . '], 'pos'),
(['they get into an accident . '], 'neg'),
(['one of the guys dies'], 'neg')]
documents2 = [(['plot two teen couples church party'], 'neg'),
(['drink then drive . '], 'pos'),
(['they get accident . '], 'neg'),
(['one guys dies'], 'neg')]
Ve her iki listeyi karıştırdıktan sonra bu sonucu almam gerekiyor:
documents = [(['one of the guys dies'], 'neg'),
(['they get into an accident . '], 'neg'),
(['drink and then drive . '], 'pos'),
(['plot : two teen couples go to a church party , '], 'neg')]
documents2 = [(['one guys dies'], 'neg'),
(['they get accident . '], 'neg'),
(['drink then drive . '], 'pos'),
(['plot two teen couples church party'], 'neg')]
Bu koda sahibim:
def cleanDoc(doc):
stopset = set(stopwords.words('english'))
stemmer = nltk.PorterStemmer()
clean = [token.lower() for token in doc if token.lower() not in stopset and len(token) > 2]
final = [stemmer.stem(word) for word in clean]
return final
documents = [(list(movie_reviews.words(fileid)), category)
for category in movie_reviews.categories()
for fileid in movie_reviews.fileids(category)]
documents2 = [(list(cleanDoc(movie_reviews.words(fileid))), category)
for category in movie_reviews.categories()
for fileid in movie_reviews.fileids(category)]
random.shuffle( and here shuffle documents and documents2 with same order) # or somehow