análise de palavras e pontuação de um arquivo python
Eu estou fazendo uma palavra por palavra análise de uma sentença como
"Hey lá !! Este é um excelente filme ???"
Eu tenho muitas frases como acima. Eu tenho um enorme arquivo de conjunto de dados como mostrado abaixo, onde eu tenho que fazer uma pesquisa rápida se essa palavra existir. Se isso acontecer, faça a análise e armazene em um dicionário, como obter a pontuação do arquivo da palavra, a pontuação da última palavra da frase, a primeira palavra da frase e assim por diante.
sentença [i] => Ei ai !! Este é um excelente filme ??? sentença [0] = Ei, frase [1] = lá !! sentença [2] = Isto e assim por diante.
Aqui está o código:
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)
Aqui está o arquivo (mais de 4000 palavras neste arquivo):
#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
Eu queria saber se existe uma maneira melhor de fazer o acima? Definindo melhor maneira: mais rápido, menos código e elegante. Eu sou novo em python, então eu sei que este não é o melhor código. Eu tenho cerca de 4 arquivos através dos quais eu tenho que ir e verificar a pontuação, portanto, quero implementar essa função da melhor maneira possível.