From dd790f289b24e5c7595eb70073220f235fa464e8 Mon Sep 17 00:00:00 2001 From: Vedant Vohra Date: Fri, 19 Jan 2018 12:39:55 +0530 Subject: [PATCH] Patch fix for the "ImportError: no module named collections" issue. All it took was some replace() :) --- src/senti_classifier/classifiers.py | 2 +- src/senti_classifier/senti_classifier.py | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/senti_classifier/classifiers.py b/src/senti_classifier/classifiers.py index b141212..701d081 100644 --- a/src/senti_classifier/classifiers.py +++ b/src/senti_classifier/classifiers.py @@ -76,7 +76,7 @@ def get_train_set(texts): train_set = get_train_set(texts) #classifier = NaiveBayesClassifier.train(train_set) #classifier = MaxentClassifier.train(train_set) - pickle.dump(classifier, open(pickled_classifier,'w')) + pickle.dump(classifier, open(pickled_classifier,'wb')) else: classifier = pickle.load(open(pickled_classifier,'r')) #classifier.show_most_informative_features(20) diff --git a/src/senti_classifier/senti_classifier.py b/src/senti_classifier/senti_classifier.py index c4b9b02..1616584 100755 --- a/src/senti_classifier/senti_classifier.py +++ b/src/senti_classifier/senti_classifier.py @@ -224,10 +224,12 @@ def classify(text, synsets_scores, bag_of_words): #========== Skipping pickle for a while ==========*/ -senti_pickle = resource_stream('senti_classifier', 'data/SentiWn.p') -bag_of_words_pickle = resource_stream('senti_classifier', 'data/bag_of_words.p') -synsets_scores = pickle.load(senti_pickle) -bag_of_words = pickle.load(bag_of_words_pickle) +# temporary fix for "no module named collections" error in some cases due to unexpected \r in .p files +senti_pickle = resource_stream('senti_classifier', 'data/SentiWn.p').read().replace('\r', '') +bag_of_words_pickle = resource_stream('senti_classifier', 'data/bag_of_words.p').read().replace('\r', '') +synsets_scores = pickle.loads(senti_pickle) +bag_of_words = pickle.loads(bag_of_words_pickle) +# # bag_of_words = classify_polarity(bag_of_words)