как повысить эффективность моего лемматизатора - PullRequest
0 голосов
/ 12 апреля 2020

У меня есть файл .txt, который включает в себя множество твитов и обзоров, из них около 1 ГБ (я думаю, это много, потому что это всего лишь текст)

Я хочу прочитать файл, лемматизировать каждую строку и если есть какой-то шаблон, я хочу извлечь его в список.

pattern = "I like (\w+)"

list_patterns =[]
for line in open(text):
    tagged = pos_tag(line.split())
    lemmatized_sentence = []
    for token, pos in tagged:
        pos_first = pos[0].lower()
        if pos_first in 'n v'.split():
            lemma=lemmatizer.lemmatize(token, pos_first)
        else:
            lemma=token
        lemmatized_sentence.append(lemma)
        clean_sentence = ' '.join(lemmatized_sentence)
    list_patterns.extend(re.findall(pattern, clean_sentence))

Дело в том, что этот код очень трудоемкий для запуска, и я не уверен, что есть какие-то проблемы с ним, или, если нет, если есть какой-то способ улучшить его, чтобы он мог работать быстрее, потому что простой запуск этого кода (без очистки текста) занимает около 10 секунд:

list_pattern =[]
for line in open(text):
    list_pattern.extend(re.findall(pattern, line))
...