2016-04-11 1 views
1

J'essaie d'implémenter le classificateur Naive Bayes sur les tweets en utilisant TextBlob en python. Je suis en mesure de former l'ensemble de données et peut classer les tweets avec succès individuels en utilisant:TextBlob Naive Bayes texte classification

print cl.classify("text") 

Maintenant, je veux ouvrir un fichier csv et classer tous les tweets dans ce fichier. Des suggestions sur la façon dont je peux y parvenir? Mon code est comme ci-dessous:

import csv 
from textblob import TextBlob 

with open(test_path, 'rU') as csvfile: 
    lineReader = csv.reader(csvfile,delimiter=',',quotechar="\"") 
    lineReader = csv.reader(csvfile,delimiter=',') 

    test = [] 
    for row in lineReader: 
     blob = (row[0]) 
     blob = TextBlob(blob) 
     test.append([blob]) 

     print (test.classify()) 

AttributeError: objet « liste » n'a pas d'attribut « classer »

+1

Vous appelez 'classify()' sur 'list'. vous devriez faire cela à la 'blob' –

+0

Pourquoi y a-t-il deux affectations de linereader? – trans1st0r

+0

Merci pour la solution! – Ashwin

Répondre

0

Vous devez former d'abord trop aussi,

(pas clair si vous avez fait cela?)
train = [] 
# then repeat your above lines, appending each tweet to train set 
# but for a separate training set (or slice up the rows) 

# do your test append loop ----- 

# 1. Now train a model 
my_classifier = NaiveBayesClassifier(train) 

# 2. test given to the model to get accuracy 
accu = my_classifier.accuracy(test)