TGViewer
Data Science | Machinelearning [ru] Data Science | Machinelearning [ru] @devsp · 19.8K subscribers
Post #4270 3.89K
👩‍💻 Предобработка текстовых данных и создание мешка слов (Bag of Words)

Напишите функцию, которая принимает список текстовых строк и возвращает мешок слов (Bag of Words) в виде словаря, где ключи — это уникальные слова, а значения — их частота встречаемости в текстах. Функция должна выполнять базовую предобработку текста: приведение к нижнему регистру, удаление знаков препинания и стоп-слов.

Пример использования:

texts = [
"I love data science!",
"Data science is amazing.",
"Machine learning is a part of data science."
]

bag_of_words = create_bag_of_words(texts)
print(bag_of_words)
# Ожидаемый результат (пример):
# {'love': 1, 'data': 3, 'science': 3, 'amazing': 1, 'machine': 1, 'learning': 1, 'part': 1}


Решение задачи🔽

from collections import defaultdict
import string
from nltk.corpus import stopwords
import nltk

# Загружаем стоп-слова (если не загружены, выполнить:
nltk.download('stopwords'))
nltk.download('stopwords')
stop_words = set(stopwords.words('english'))

def preprocess_text(text):
# Приведение к нижнему регистру и удаление знаков препинания
text = text.lower()
text = text.translate(str.maketrans('', '', string.punctuation))
return text

def create_bag_of_words(texts):
bag = defaultdict(int)

for text in texts:
# Предобработка текста
processed_text = preprocess_text(text)

# Разделение текста на слова и подсчет частот
for word in processed_text.split():
if word not in stop_words: # Игнорируем стоп-слова
bag[word] += 1

return dict(bag)
  • 👍 4
  • ❤ 1
More from @devsp
  1. Oct 9, 2026LLM, боль и хайповый препринт: что там на самом деле По телегам снова понеслась волна: учё…
  2. Oct 9, 2026Гоняй свои ML-стратегии по истории рынка, а не по собственному кошельку. Сначала прогон —…
  3. Oct 9, 2026«И тут по щелчку навайбкодил SaaS» — а что осталось за кулисами сказочного успеха Cal AI,…
  4. Oct 9, 2026🤣 Этот на все согласен 💥 xCode Journal
  5. Oct 8, 2026Разработчик больше не обязан выполнять каждую задачу вручную. Но сможет ли ИИ-агент действ…
  6. Oct 8, 2026OpenBPM 2.0 приехал В «Хоулмонте» инженеры пилят русскую платформу OpenBPM. Что это по сут…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →