Ich verwende vader sentiment, um CSV-Dateien voller Tweets zu analysieren. Ich versuche, einen Durchschnittswert für jeden der Stimmungswerte für den gesamten Tweets-Satz zu erhalten. Aus irgendeinem Grund neigen viele der Ergebnisse dazu, Werte von 0 zu ergeben, was keinen Sinn ergibt, es sei denn, es handelt sich um ein Rundungsproblem. Auch len (Ergebnis [i]) gibt immer 1. Mein Code ist wie folgt:Vader Sentiment-Werte werden nicht korrekt ausgegeben
for row in csv.reader(csv_file):
result = { 'pos':[] , 'neg':[], 'compound':[], 'neu':[] }
sentences = row
f = open(file_name[0], 'a', newline='')
writer = csv.writer(f)
for sentence in sentences:
vs = vaderSentiment(sentence)
row = [sentence, str(vs)]
writer.writerow(row)
result['pos'].append(vs['pos'])
result['neg'].append(vs['neg'])
result['compound'].append(vs['compound'])
result['neu'].append(vs['neu'])
print('sum:')
for i in result.keys():
print('\t',i, '=>', float(sum(result[i]))/len(result[i]))
f.close()
Wie sehr nett, dass Leute wählen, um zu downvoten und keine Hilfe oder Erklärung dafür zu bieten. –
Sie haben Ihre Eingabedaten nicht zur Verfügung gestellt, oder was Sie als Ausgabe erwartet haben. Noch wo du diese "VaderSentiment" -Funktion hast. –
Danke, das ist fair. Ich hatte mein Gesicht in letzter Zeit ziemlich vergraben, also vergaß ich, dass es für einige Leute vage sein könnte. Vader Sentiment ist ein beliebtes Sentiment-Analyse-Paket in Python. Es ist ziemlich interessant, aber es gibt sehr wenig Dokumentation darüber. –