Я пытаюсь создать элементарный анализатор настроений.У меня есть списки слов в категориях и два файла CSV из тем Reddit, от которых я беру комментарии.Мне удалось пометить мои наборы данных соответствующими тегами, и теперь у меня есть наборы кортежей в списках списков, разделенных комментариями.У меня есть фрагмент кода, который я надеялся использовать для создания целочисленного значения для каждого комментария на основе присутствующих тегов, однако я мысленно бью кирпичную стену.
Я пробовал приведенный ниже код, который приводит кв 0 в лучшем случае и ValueError в худшем случае.Я знаю, это должно быть переполнено плохими идеями, но я в растерянности.На данный момент я просто хочу что-то FUNCTION T_T
tLOTR = [[('terrible', 'negative'),
('so', 'intensifier'),
('awesome', 'positive'),
('so', 'intensifier'),
('but', 'shifter'),
('agree', 'positive'),
('like', 'positive'),
('really', 'intensifier'),
('but', 'shifter'),
('but', 'shifter'),
('so', 'intensifier'),
('not', 'shifter'),
('like', 'positive'),
('really', 'intensifier'),
('like', 'positive'),
('so', 'intensifier')],
[('not', 'shifter'),
('amazing', 'positive'),
('but', 'shifter'),
('bad', 'negative'),
('but', 'shifter'),
('like', 'positive'),
('awful', 'negative'),
('but', 'shifter'),
('like', 'positive'),
('but', 'shifter'),
('so', 'intensifier'),
('completely', 'intensifier'),
('wrong', 'negative')]]
#this is just a few of my tagged sets
def sentalize(text):
value = 0
for x in text:
for (word, tag) in x:
if tag == "positive":
value += 1
elif tag == "negative":
value -= 1
elif tag == "shifter":
value *= -1
elif tag == "intensifier":
value *= 1.25
return value
Так что я получаю 0 или ValueError, когда я запускаю одну вещь (например, tLOTR [0]) - в идеале я бы хотелиметь список значений для каждого комментария (комментарий 1 = -0,348) или что-то в этом роде.