আমি nltk
গ্রন্থাগারের movie_reviews
কর্পস ব্যবহার করছি যার মধ্যে প্রচুর নথি রয়েছে। আমার কাজটি ডেটা প্রাক প্রসেসিং এবং প্রাক প্রক্রিয়াজাতকরণ ছাড়াই এই পর্যালোচনাগুলির পূর্বাভাসজনক পারফরম্যান্স পাচ্ছে। তবে তালিকায় সমস্যা আছে documents
এবং documents2
আমার একই ডকুমেন্ট রয়েছে এবং উভয় তালিকায় একই ক্রম রাখতে আমার এগুলি বদলাতে হবে। আমি এগুলিকে আলাদাভাবে বদলাতে পারছি না কারণ প্রতিবার আমি তালিকাটি বদলে ফেললে আমি অন্যান্য ফলাফল পেয়ে থাকি। এজন্যই আমাকে একই ক্রমের সাথে একবারে বদলানো দরকার কারণ আমার শেষের দিকে তাদের তুলনা করা দরকার (এটি অর্ডের উপর নির্ভর করে)। আমি পাইথন ২.7 ব্যবহার করছি
উদাহরণ (প্রকৃতপক্ষে স্ট্রিংগুলি টোকানাইজড, তবে এটি আপেক্ষিক নয়):
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')]
এবং উভয় তালিকাগুলি বদলানোর পরে আমার এই ফলাফলটি পাওয়া দরকার:
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')]
আমার এই কোডটি রয়েছে:
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