analiza słów i ocena z pliku pytona
Robię słowo po słowie analizę zdania, takiego jak
„Hej tam !! To wspaniały film ???”
Mam wiele zdań takich jak powyżej. Mam ogromny plik danych, jak pokazano poniżej, w którym muszę szybko sprawdzić, czy to słowo istnieje. Jeśli to zrobi, wykonaj analizę i zapisz w słowniku, np. Uzyskaj wynik z pliku słowa, wynik ostatniego słowa zdania, pierwsze słowo zdania i tak dalej.
zdanie [i] => Hej tam !! To doskonały film ??? zdanie [0] = Hej, zdanie [1] = tam !! zdanie [2] = To i tak dalej.
Oto kod:
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)
Oto plik (ponad 4000 słów w tym pliku):
#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
Chciałem wiedzieć, czy jest lepszy sposób na wykonanie powyższego? Definiowanie lepszego sposobu: Szybciej, mniej kodu i elegancko. Jestem nowy w pythonie, więc wiem, że nie jest to najlepszy kod. Mam około 4 plików, przez które muszę przejść i sprawdzić wynik, dlatego chcę wdrożyć tę funkcję w najlepszy możliwy sposób.