Привет! Это Данила Ляпин, наставник курса «Специалист по Data Science». Собрал подборку материалов по обработке естественного языка — она охватывает путь от базовых концепций NLP до трансформеров и BERT. Все материалы бесплатны и проверены на практике. Главное — двигаться последовательно, не пропускать основы и обязательно практиковаться на реальных задачах.
Сourse in Natural Language Processing, YSDA

Полноценный курс от Школы анализа данных Яндекса. Репозиторий на GitHub содержит записи лекций, материалы семинаров, домашние задания и практические проекты. Материалы в основном на английском языке. Часто рекомендуется как один из лучших бесплатных ресурсов для тех, кто хочет стать дата-сайентистом самостоятельно.
NLP Course, Lena Voita

Англоязычный курс от Елены Войты, исследователя и преподавателя ШАД. Это расширенная версия её курса для Школы анализа данных, адаптированная для самостоятельного изучения. Материалы организованы как лекции-блоги с визуализациями и интерактивными элементами для лучшего понимания. Сложные концепции объясняются доступным языком, можно выбирать темы и двигаться в своём темпе.
«Основы Natural Language Processing для текста», Хабр Voximplant

Вводная статья для тех, кто начинает работать с текстовыми данными. Разбирает семь базовых тем NLP: токенизацию (по предложениям и словам), лемматизацию и стемминг, обработку стоп-слов, регулярные выражения, Bag of Words и TF-IDF.
Все примеры реализованы с помощью библиотеки NLTK с готовым кодом на Python. Статья показывает не только теорию, но и практическое применение — как извлекать признаки из текста и готовить данные для алгоритмов машинного обучения.
Text Classification with Python and Scikit-Learn, Usman Malik

Практический туториал по классификации текстов на примере анализа тональности кинорецензий. Вы скачиваете датасет и вместе с автором проходите полный путь работы с текстовыми данными: загрузку датасета (2000 отзывов на фильмы), предобработку с помощью регулярных выражений и лемматизации через NLTK, преобразование текста в числовые признаки методами Bag of Words и TF-IDF. Затем обучете модель и оцениваете её с использованием различных метрик.
«Word2vec в картинках», Jay Alammar

Статья объясняет концепцию word embeddings через простую аналогию. Сначала автор показывает, как можно представить личность человека в виде вектора из пяти характеристик психологического теста, и как измерять схожесть между людьми. Затем эта идея переносится на слова.
Word2Vec создаёт векторные представления слов так, что семантически близкие слова оказываются рядом в векторном пространстве. Это позволяет выполнять арифметические операции со смыслами: король – мужчина + женщина ≈ королева.
Читать в оригинале на английском →
Understanding LSTM Networks, Christopher Olah

Классическая статья с наглядными диаграммами объясняет, почему обычные рекуррентные сети плохо работают с долгими зависимостями в данных. Например, чтобы правильно выбрать форму глагола в конце предложения, нужно помнить про подлежащее из его начала.
LSTM (Long Short-Term Memory) решает эту проблему через систему фильтров, или гейтов (gates): Forget gate — решает, какую информацию забыть, Input gate — определяет, что добавить в память, Output gate — контролирует, что передать дальше. Статья разбирает каждый компонент на примере языковой модели, которая предсказывает следующее слово в предложении.
«Нейросети для работы с последовательностями», Яндекс Образование

Раздел из учебника Яндекс Образования про нейросети для работы с текстом и другими последовательными данными. Объясняет, как представлять слова в виде векторов (word embeddings), разбирает рекуррентные сети и их модификации для работы с долгими зависимостями, рассказывает про архитектуру энкодер-декодер для машинного перевода и механизм внимания. Также покрывает практические аспекты: как готовить тексты и увеличить количество данных в обучающей выборке.
Attention Is All You Need, Google

Оригинальная статья, которая представила архитектуру Transformer. До этого для работы с текстом использовали рекуррентные сети, которые обрабатывали слова последовательно, одно за другим. Авторы предложили новый подход — механизм attention, который позволяет модели смотреть на все слова в предложении одновременно и понимать связи между ними. Это делает обучение быстрее, потому что вычисления можно распараллелить.
Авторы описывают устройство Transformer, а также делятся результатами экспериментов. Результаты на машинном переводе показали, что модель обучается быстрее и достигает лучшего качества, чем предыдущие подходы. Эта архитектура стала основой для BERT, GPT и других современных языковых моделей.
Attention is All You Need простым языком, Хабр bartov-e

Разбор архитектуры Transformer на русском языке. Автор объясняет, почему рекуррентные сети были неудобны и как механизм self-attention это решает. Разбирает суть идеи attention, в частности говорит про три ключевые матрицы Query, Key и Value, которые помогают определить связи между словами и их важность для предсказания.
«Трансформеры», Яндекс Образование

Раздел из учебника по машинному обучению. Объясняет, почему трансформеры пришли на смену рекуррентным сетям, разбирает их устройство и показывает разницу между BERT и GPT. Также рассказывает про применение трансформеров за пределами NLP — в компьютерном зрении (ViT) и генерации изображений (DALL-E).
Transformer Zoo и Transformer Zoo (a deeper dive), Григорий Сапунов
Две лекции про архитектуру Transformer и её вариации. В первой лекции Григорий Сапунов объясняет, чем трансформеры отличаются от традиционных архитектур (вроде рекуррентных сетей) и какие модели на их основе появились за последние годы. Во второй лекции углубляется в детали: как устроены трансформеры изнутри, чем они отличаются и что там можно менять.
«BERT, ELMO и Ко в картинках (как в NLP пришло трансферное обучение)», Jay Alammar

Иллюстрированная статья о том, как изменился подход к обработке текста. Раньше каждое слово имело одно векторное представление независимо от контекста. ELMo научился создавать разные представления для одного слова в зависимости от его использования в предложении.
BERT пошёл дальше: его можно предобучить на больших объёмах текста, а потом дообучить для вашей конкретной задачи — это называется трансферным обучением. Статья объясняет, почему этот подход стал прорывом в NLP, и показывает примеры использования BERT.
Читать оригинал на английском →
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding, Google

Оригинальная статья про BERT от исследователей Google. До этого языковые модели читали текст только слева направо, что ограничивало их понимание контекста. BERT использует bidirectional Transformer — модель видит слова и слева, и справа одновременно, что даёт более глубокое понимание текста.
Статья описывает двухэтапный подход: сначала модель предобучается на огромных объёмах текста из Wikipedia и BookCorpus, выполняя две задачи — угадывать замаскированные слова и определять, следует ли одно предложение за другим. Затем эту предобученную модель можно быстро адаптировать под конкретную задачу, добавив задаче-специфичный выходной слой. Авторы демонстрируют результаты 11 разных NLP-задач.
«Ваш первый BERT: иллюстрированное руководство», Jay Alammar

Простое руководство по использованию одной из версий BERT’а для классификации предложений. Пример одновременно и достаточно простой для первого знакомства с моделью, и достаточно продвинутый для того, чтобы продемонстрировать ключевые концепты. К статье прилагается Jupyter-ноутбук, который можно запустить в Google Colab.
Читать оригинал на английском →
«BERT — state-of-the-art языковая модель для 104 языков. Туториал по запуску BERT локально и на Google Colab», Хабр DesertFlow

Краткий туториал по работе с многоязычной версией BERT. Сначала автор объясняет базовые концепции: что такое BERT, зачем нужны эмбеддинги и как BERT обучается. Затем показывает, как запустить нейросеть локально или прямо в браузере. Дальше он предлагает на примере кода рассмотреть два режима работы: предсказание пропущенных слов и определение логичности между двумя последовательными предложениями.
«Основы Pytorch: перевод документации», Google Colab

Большинство рабочих процессов машинного обучения включают работу с данными, создание моделей, оптимизацию параметров и сохранение обученных моделей. Этот учебник знакомит вас с полным рабочим процессом ML, реализованным в PyTorch, со ссылками, чтобы узнать больше о каждом из понятий.
Темы по порядку: тензоры, наборы данных и загрузчики данных, трансформация, построение модели, автоматическая дифференциация, цикл оптимизаций, а также сохранение, загрузка и использование модели. Предполагается, что вы уже базово знакомы с Python и концепциями глубокого обучения.
Smart Batching Tutorial, Google Colab

Продвинутый туториал по оптимизации обучения через smart batching. Стандартный подход — делать все последовательности одинаковой длины через padding, что расточительно. Smart batching группирует тексты похожей длины в батчи и добавляет padding только до максимальной длины внутри батча.
Туториал показывает полный процесс: загрузку датасета, токенизацию текстов, создание батчей переменной длины, дообучение предобученной модели и оценку результатов. Таким образом можно ускорить обучение без потери точности.
Автор: Danila_Ly


