Привет, я создал скрипт Python, используя tweepy для потоковой передачи твитов на основе массива ключевых слов в коллекцию mongodb на основе имени элемента в массиве, по которому он был отфильтрован через pymongo, т.е. (твиты Apple сохранены в коллекции Apple). Этот скрипт сохраняет их в формате JSON, и теперь я хочу выполнить анализ тональности этих сохраненных твитов.
Я прочитал несколько руководств по этому вопросу и решил использовать NaiveBayesClassifier, встроенный в модуль TextBlob. Я создал некоторые данные поезда и передал их в классификатор (просто обычный текстовый массив с настроением в конце каждого элемента), но я не уверен, как применить этот классификатор к моим уже сохраненным твитам. Я думаю, что это как показано ниже, но это не работает, так как выдает ошибку:
Traceback (most recent call last):
File "C:/Users/Philip/PycharmProjects/FinalYearProject/TrainingClassification.py", line 25, in <module>
cl = NaiveBayesClassifier(train)
File "C:\Python27\lib\site-packages\textblob\classifiers.py", line 192, in __init__
self.train_features = [(self.extract_features(d), c) for d, c in self.train_set]
ValueError: too many values to unpack
Вот мой код:
from textblob.classifiers import NaiveBayesClassifier
import pymongo
train = [
'I love this sandwich.', 'pos',
'I feel very good about these beers.', 'pos',
'This is my best work.', 'pos',
'What an awesome view", 'pos',
'I do not like this restaurant', 'neg',
'I am tired of this stuff.', 'neg',
'I can't deal with this', 'neg',
'He is my sworn enemy!', 'neg',
'My boss is horrible.', 'neg'
]
cl = NaiveBayesClassifier(train)
conn = pymongo.MongoClient('localhost', 27017)
db = conn.TwitterDB
appleSentiment = cl.classify(db.Apple)
print ("Sentiment of Tweets about Apple is " + appleSentiment)
Любая помощь будет принята с благодарностью.