Я новичок в Python и бегу nltk.NaiveBayes
классификатор на training_set
в следующей строке кода:Float не итерацию ошибка nltk.naivebayes классификатором
training_set = apply_features(extract_features, training_tweets)
training_set
является LazyMap
и training_tweets
список кортежи в следующем формате:
('ليت كل ايام السنة رمضان', 'positive'), где первая часть представляет собой арабский твит, а вторая часть - настроение.
функция extract_features
ниже:
def extract_features(document):
document_words = set(document)
features = {}
for word in word_features:
features['contains(%s)' % word] = (word in document_words)
return features
Этот код работает на английском твитов. Я не уверен, где я должен искать объект float
в моем списке кортежей.
Любая помощь приветствуется. Это дает следующее отслеживающий ...
File "C:/Users/Owner/nb.py", line 64, in <module>
classifier = NaiveBayesClassifier.train(training_set)
File "C:\Users\Owner\Anaconda3\lib\site-packages\nltk\classify\naivebayes.py", line 194, in train
for featureset, label in labeled_featuresets:
File "C:\Users\Owner\Anaconda3\lib\site-packages\nltk\util.py", line 946, in iterate_from
try: yield self._func(self._lists[0][index])
File "C:\Users\Owner\Anaconda3\lib\site-packages\nltk\classify\util.py", line 65, in lazy_func
return (feature_func(labeled_token[0]), labeled_token[1])
File "C:/Users/Owner/nb.py", line 35, in extract_features
document_words = set(document)
TypeError: 'float' object is not iterable