1) pymystem3 (библиотека, разработанная сотрудниками Яндекса)
from pymystem3 import Mystem
name = Mystem()
test_name = list(df['text_col'])
а) some_words_or_text = '...' created_lemmas = name.lemmatize(some_words_or_tex) print(created_lemmas)
б)created_lemmas = ' '.join(name.lemmatize(some_words_or_text)) print(created_lemmas) склеивает
в) from collections import Counter print(Counter(created_lemmas)) сколько раз употребляется каждое слово
г)функция принимает текст и возвращает лемматизированную строку:
def lemmatize_function(text):
lemm = Mystem().lemmatize(text)
return ''.join(lemm)
д) модуль re для работы с регулярным выражениями, функция замены, субституции re.sub() по шаблону совпадения и заменяет их нужной строкой
import re
re.sub(pattern, replacement, text)
(в скобках указаны шаблон для поиска pattern, строка для замены replacement, сам текст)
е)функция оставляет в тексте только кириллические символы и пробелы
def only_kirillic_and_spaces_function (text):
text = re.sub(r'[^а-яА-ЯёЁ ]', ' ', text)
return " ".join(text.split())
Чтобы вывести результат (д) и (е)
print("Лемматизированный текст, только кириллические символы и проблеы:", lemmatize_function(only_kirillic_and_spaces_function(text_name[0])))
2) pymorphy2
https://python-school.ru/nlp-text-preprocessing/ (для морфологического анализа русского и украинского языков)