В настоящее время я пытаюсь обработать большое количество очень больших (> 10 тыс. Слов) текстовых файлов. В моем конвейере данных я определил функцию токенизации gensim как мое узкое место, соответствующая часть предоставлена в моем MWE ниже:
import re
import urllib.request
url='https://raw.githubusercontent.com/teropa/nlp/master/resources/corpora/genesis/english-web.txt'
doc=urllib.request.urlopen(url).read().decode('utf-8')
PAT_ALPHABETIC = re.compile('(((?![\d])\w)+)', re.UNICODE)
def tokenize(text):
text.strip()
for match in PAT_ALPHABETIC.finditer(text):
yield match.group()
def preprocessing(doc):
tokens = [token for token in tokenize(doc)]
return tokens
foo=preprocessing(doc)
Вызов функции preprocessing
для данного примера занимает примерно 66ms
и Я хотел бы улучшить этот номер. Есть ли что-то, что я все еще могу оптимизировать в своем коде? Или проблема с моим оборудованием (ноутбук потребителя середины 2010-х)? Мне было бы интересно также узнать о времени выполнения у людей с более новым оборудованием.
Заранее спасибо