Вступить в клуб →
сложнаяpythonNLP, эмбеддинги, LLM и RAG

Нарезка текста на фрагменты по словам с перекрытием

Напишите chunk_words(text, size, overlap).

  • Текст разбивается на слова по пробельным символам (split()).
  • Каждый фрагмент содержит до size слов, соседние фрагменты перекрываются на overlap слов: следующий начинается через size - overlap слов после начала предыдущего.
  • Фрагмент — слова, соединённые одним пробелом. Возвращайте список словарей {"start": индекс первого слова, "text": фрагмент}.
  • Последний фрагмент должен заканчиваться последним словом текста; фрагмент, целиком содержащийся в предыдущем, не создавайте.
  • Пустой текст — пустой список. Если overlap >= size или size <= 0, бросьте ValueError.

заготовка решения

def chunk_words(text, size, overlap):
    # ваш код
    return None

🔒 Проверка ответа — для участников клуба

  • Автотесты прямо в браузере
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела