Как я могу применить лексикон к списку предложений?
У меня есть словарь лексики в этой форме
6 ابن جزمه 1
7 ابو جهل -1
8 اتق الله -1
9 اتقو الله 1
Я хочу создать новый список, содержащий оценку каждого предложения, основываясь на лексиконе, добавляющем оценку каждого слова, и если слов не существует, добавьте ноль, когда я реализую свой код, я получаю len(lex_score) = 3679
после того как я добавлю элиф условие я получаю len(lex_score) = 95079
len(lex_score) должно быть равно 6064
lex_score = []
def lexic(text):
for tweet in sentences:
score = 0
for word in tweet.split():
if word in lexicon:
score = score+lexicon[word]
elif word not in lexicon:
score = 0
lex_score.append(score)
Я хочу создать новый столбец во фрейме данных, содержащий оценку каждого предложения. Что я делаю неправильно? и есть ли лучший способ сделать это?
1 ответ
IIUC, вы можете просто суммировать оценки действительных записей лексики в каждом твите, а затем добавить эту оценку к lex_score
на каждой итерации sentences
,
Примечание: я предполагаю text == sentences
- в противном случае пропущена строка, где text
разбит на sentences
, В любом случае, этот базовый подход все еще должен работать:
def lexic(text):
lex_score = []
for tweet in text: # assuming sentences == text
score = sum([lexicon[word] for word in tweet.split() if word in lexicon])
lex_score.append(score)
return lex_score