анализ и оценка слов из файлового питона
Я делаю пословный анализ предложения, такого как
"Привет! Это отличный фильм ???"
У меня есть много предложений, как выше. У меня есть огромный файл набора данных, как показано ниже, где я должен сделать быстрый поиск, если это слово существует. Если это произойдет, выполните анализ и сохраните в словаре, например, получите оценку из файла слова, оценку последнего слова предложения, первое слово предложения и так далее.
предложение [я] => Привет! Это отличный фильм ??? предложение [0] = Эй, предложение [1] = есть !! предложение [2] = это и так далее.
Вот код:
def unigrams_nrc(file):
for line in file:
(term,score,numPos,numNeg) = re.split("\t", line.strip())
if re.match(sentence[i],term.lower()):
#presence or absence of unigrams of a target term
wordanalysis["unigram"] = found
else:
found = False
if found:
wordanalysis["trail_unigram"] = found if re.match(sentence[(len(sentence)-1)],term.lower()) else not(found)
wordanalysis["lead_unigram"] = found if re.match(sentence[0],term.lower()) else not(found)
wordanalysis["nonzero_sscore"] = float(score) if (float(score) != 0) else 0
wordanalysis["sscore>0"] = (float(score) > 0)
wordanalysis["sscore"] = (float(score) != 0)
if re.match(tweet[len(sentence)-1],term.lower()):
wordanalysis["sscore !=0 last token"] = (float(score) != 0)
Вот файл (более 4000 слов в этом файле):
#fabulous 7.526 2301 2
#excellent 7.247 2612 3
#superb 7.199 1660 2
#perfection 7.099 3004 4
#terrific 6.922 629 1
#magnificent 6.672 490 1
#sensational 6.529 849 2
#heavenly 6.484 2841 7
#ideal 6.461 3172 8
#partytime 6.111 559 2
#excellence 5.875 1325 6
@thisisangel 5.858 217 1
#wonderful 5.727 3428 18
elegant 5.665 537 3
#perfect 5.572 3749 23
#fine 5.423 2389 17
excellence 5.416 279 2
#realestate 5.214 114 1
bicycles 5.205 113 1
Я хотел знать, есть ли лучший способ сделать выше? Определение лучшего способа: быстрее, меньше кода и элегантнее. Я новичок в Python, поэтому я знаю, что это не лучший код. У меня есть около 4 файлов, через которые я должен пройти и проверить счет, поэтому хочу реализовать эту функцию наилучшим образом.