Ich habe ein Dokument der Benutzerumfrage:
Score Comment
8 Rapid bureaucratic affairs. Reports for policy...
4 There needs to be communication or feed back f...
7 service is satisfactory
5 Good
5 There is no
10 My main reason for the product is competition ...
9 Because I have not received the results. And m...
5 no reason
Ich möchte bestimmen, welche Keywords einer höheren Punktzahl entsprechen und welche Keywords einer niedrigeren Punktzahl entsprechen.
Meine Idee ist es, eine Tabelle der Wörter (oder ein "Wortvektor" -Wörterbuch) zu erstellen, die die Bewertungen enthält, mit denen sie verknüpft sind, und die Häufigkeit, mit der diese Bewertung diesem Satz zugeordnet wurde.
So etwas wie das Folgende:
Word Score Count
Word1: 7 1
4 2
Word2: 5 1
9 1
3 2
2 1
Word3: 9 3
Word4: 8 1
9 1
4 2
... ... ...
Dann ist für jedes Wort die durchschnittliche Punktzahl der Durchschnitt aller Punktzahlen, denen dieses Wort zugeordnet ist.
Dazu lautet mein Code wie folgt:
word_vec = {}
# col 1 is the word, col 2 is the score, col 3 is the number of times it occurs
for i in range(len(data)):
sentence = data['SurveyResponse'][i].split(' ')
for word in sentence:
word_vec['word'] = word
if word in word_vec:
word_vec[word] = {'Score':data['SCORE'][i], 'NumberOfTimes':(word_vec[word]['NumberOfTimes'] += 1)}
else:
word_vec[word] = {'Score':data['SCORE'][i], 'NumberOfTimes':1}
Aber dieser Code gibt mir den folgenden Fehler:
File "<ipython-input-144-14b3edc8cbd4>", line 9
word_vec[word] = {'Score':data['SCORE'][i], 'NumberOfTimes':(word_vec[word]['NumberOfTimes'] += 1)}
^
SyntaxError: invalid syntax
Könnte mir bitte jemand den richtigen Weg zeigen?
Probieren Sie diesen Code aus
word_vec = {}
# col 1 is the word, col 2 is the score, col 3 is the number of times it occurs
for i in range(len(data)):
sentence = data['SurveyResponse'][i].split(' ')
for word in sentence:
word_vec['word'] = word
if word in word_vec:
word_vec[word]['Score'] += data['SCORE'][i] # Keep accumulating the total score for each word, would be easier to find the average score later on
word_vec[word]['NumberOfTimes'] += 1
else:
word_vec[word] = {'Score':data['SCORE'][i], 'NumberOfTimes':1}
Um den Wert von 'NumberOfTimes' zu erhöhen, können Sie dies direkt direkt erhöhen word_vec[word]['NumberOfTimes'] += 1
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen