Ich versuche, ein Dataset von Essen Tweets als gesund und ungesund klassifiziert zu erstellen. Ich schrieb zwei Skripte, die die Tweets streamen mit Schlagworten habe ich angegeben und dann habe ich Sentiment-Analyse darauf angewendet, so wird es sein Es ist einfach für mich, sie in gesund und ungesund zu klassifizieren, aber die Sentimentanalyse von Textblobs ist nicht sehr befriedigend und das Skript ruft auch Tweets ab, die diese Schlüsselwörter nicht enthalten. Wenn jemand Tweets Datensatz wissen, so wäre das sehr hilfreich.Twitter Sentiment Analyse mit Python
from tweepy import Stream
from tweepy import OAuthHandler
from tweepy.streaming import StreamListener
import time
import os
from textblob import TextBlob
import json
ck`enter code here`ey = "xxx"
csecret = "xx"
atok`enter code here`en = "xx"
asecret = "xx"
class listener(StreamListener):
def on_data(self, data):
try:
tweet = data.split(',"text":"')[1].split('","source')[0]
print tweet
saveThis = str(time.time()) + '::' + tweet
#tweet = data.split(',"text":"')[1]
analysis=TextBlob(tweet)
polarity=analysis.sentiment.polarity
print(polarity)
if polarity <0 :
#username = data["user"]["screen_name"]
saveThis = tweet + '::' + str(polarity)
out = open('out1.csv', 'a')
out.write(saveThis)
out.write('\n')
out.close()
#return (True)
#saveThis = str(time.time()) + '::' + tweet + '::' + str(polarity)
#saveFile = open('unhealthytweet1.json', 'a')
#saveFile.write(saveThis)
#saveFile.write('\n')
#saveFile.close()
return (True)
elif polarity>0 :
#username = data["user"]["screen_name"]
#username, " :: ",
saveThis =tweet + '::' + str(polarity)
out = open('out2.csv', 'a')
out.write(saveThis)
out.write('\n')
out.close()
# return (True)
# saveThis = str(time.time()) + '::' + tweet + '::' + str(polarity)
# saveFile = open('unhealthytweet1.json', 'a')
# saveFile.write(saveThis)
# saveFile.write('\n')
# saveFile.close()
return (True)
except BaseException, e:
print 'failed on_date,', str(e)
time.sleep(5)
pass
auth = OAuthHandler(ckey, csecret)
auth.set_access_token(atoken, asecret)
twitterStream = Stream(auth, listener())
twitterStream.filter(track=["vegetable soup", "fruits", "green tea", "vegetables", "fresh juice", "salad","sea food"], languages=['en'])
#