Answer

Answer

t.me/python_tesst

Ответ:

[nltk_data] Downloading package stopwords to

[nltk_data]   C:\Users\SP\AppData\Roaming\nltk_data...

[nltk_data]  Unzipping corpora\stopwords.zip.

[nltk_data] Downloading package punkt to

[nltk_data]   C:\Users\SP\AppData\Roaming\nltk_data...

[nltk_data]  Package punkt is already up-to-date!

Объяснение:

Попробуем разобрать некоторые строчки кода. Необходимо обработать текст - в нём нужно убрать знаки препинания, стоп-слова, выделить слова с одной основой и привести всё это в пригодный для машины вид. Чтобы убрать знаки препинания, а заодно и любые другие символы кроме русских букв, можно воспользоваться регулярными выражениями. Для отбора стоп-слов есть специальная библиотека nltk. А для приведения слов к своей основной форме можно пропустить их через стемминг.

Код:

import nltk
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
from nltk.stem.snowball import SnowballStemmer 

import re
import tqdm

nltk.download('stopwords')
nltk.download('punkt')

# Функция обрабатывает тексты для дальнейшего использования
def process_text(texts):
 stemmer = SnowballStemmer(language='russian')
 stop_words = set(stopwords.words('russian'))
 regex = re.compile('[^а-я А-Я]')
 process_texts = []
  
 for text in tqdm.tqdm(texts):
  text = text.lower()
  # Удаляет любые символы, кроме русских букв
  text = regex.sub(' ', text)
  # Разбивает текст на отдельные слова
  word_tokens = word_tokenize(text) 
  # Убирает стоп слова и пропускаем через стемминг оставшиеся
  filtered_sentence = [stemmer.stem(w) for w in word_tokens if not w in stop_words] 
  process_texts.append(' '.join(filtered_sentence))
   
 return process_texts


df['textProcessed'] = process_text(df['textOriginal'])



Report Page