В настоящее время я пытаюсь токенизировать текстовый файл, где каждая строка представляет собой основной текст твита:
"According to data reported to FINRA, short volume percent for $SALT clocked in at 39.19% on 12-29-17 http://www.volumebot.com/?s=SALT"
"@Good2go @krueb The chart I posted definitely supports ng going lower. Gobstopper' 2.12, might even be conservative."
"@Crypt0Fortune Its not dumping as bad as it used to...."
"$XVG.X LOL. Someone just triggered a cascade of stop-loss orders and scooped up morons' coins. Oldest trick in the stock trader's book."
Файл имеет длину 59 397 строк (данные за день), и яиспользование spaCy для предварительной обработки / токенизации.В настоящее время это занимает у меня около 8,5 минут, и мне было интересно, есть ли способ оптимизировать следующий код для ускорения, так как 8,5 минут кажется ужасно долгим для этого процесса:
def token_loop(path):
store = []
files = [f for f in listdir(path) if isfile(join(path, f))]
start_time = time.monotonic()
for filename in files:
with open("./data/"+filename) as f:
for line in f:
tokens = nlp(line.lower())
tokens = [token.lemma_ for token in tokens if not token.orth_.isspace() and token.is_alpha and not token.is_stop and len(token.orth_) != 1]
store.append(tokens)
end_time = time.monotonic()
print("Time taken to tokenize:",timedelta(seconds=end_time - start_time))
return store
Хотя он говорит о файлах, он в настоящее времятолько зацикливание на 1 файл.
Просто чтобы заметить, мне нужно только это для токенизации содержимого;Мне не нужно никаких дополнительных тегов и т. Д.