Лемматизация и препроцессинг текста

Как правильно выполнить предварительную обработку текста на русском языке с использованием библиотек nltk и pymorphy3? Есть-ли у меня какие-то ошибки, которые могут нагружать код?

Фреймворки, которые использовал -

import re
import nltk
from pymorphy3 import MorphAnalyzer
from nltk.tokenize import word_tokenize
from nltk.corpus import stopwords

Функция лемматизации -

def lemmatize(text):
    res=[]
    words=text.split()
    for word in words:
        p=morph.parse(word)[0]
        res.append(p.normal_form)
    return ' '.join(res)

Функция препроцессинга текста -

def preprocess(text):
    text=re.sub('[^а-яА-Я]', ' ', text)
    tokens = word_tokenize(text, language='russian')
    tokens = [word.lower() for word in tokens]
    stop_words = set(stopwords.words('russian'))
    tokens = [word for word  in tokens if word not in stop_words]
    tokens = [lemmatize(word) for word in tokens]
    return " ".join(tokens)

Сохранение готового текста

data_text['txt'] = data_text["txt"].apply(preprocess)

Ответы (0 шт):