У меня есть документ опроса пользователей:
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
Я хочу определить, какие ключевые слова соответствуют более высокой оценке, а какие - более низкой.
Моя идея состоит в том, чтобы составить таблицу слов (или словаря «вектор слов»), которая будет содержать оценки, с которыми она связана, и количество раз, когда оценка была связана с этим предложением.
Примерно так:
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
... ... ...
Тогда для каждого слова средний балл является средним из всех баллов, с которыми связано слово.
Для этого мой код следующий:
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}
Но этот код выдает мне следующую ошибку:
File "<ipython-input-144-14b3edc8cbd4>", line 9
word_vec[word] = {'Score':data['SCORE'][i], 'NumberOfTimes':(word_vec[word]['NumberOfTimes'] += 1)}
^
SyntaxError: invalid syntax
Может кто-нибудь показать мне правильный способ сделать это?