Машинное обучение для работы с текстами: подборка бесплатных курсов и материалов. data science.. data science. ml.. data science. ml. nlp.. data science. ml. nlp. Машинное обучение.

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


Сourse in Natural Language Processing, YSDA

Машинное обучение для работы с текстами: подборка бесплатных курсов и материалов - 1

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

Перейти →

NLP Course, Lena Voita

Машинное обучение для работы с текстами: подборка бесплатных курсов и материалов - 2

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

Перейти →

«Основы Natural Language Processing для текста», Хабр Voximplant

Машинное обучение для работы с текстами: подборка бесплатных курсов и материалов - 3

Вводная статья для тех, кто начинает работать с текстовыми данными. Разбирает семь базовых тем NLP: токенизацию (по предложениям и словам), лемматизацию и стемминг, обработку стоп-слов, регулярные выражения, Bag of Words и TF-IDF.

Все примеры реализованы с помощью библиотеки NLTK с готовым кодом на Python. Статья показывает не только теорию, но и практическое применение — как извлекать признаки из текста и готовить данные для алгоритмов машинного обучения.

Перейти →

Text Classification with Python and Scikit-Learn, Usman Malik

Машинное обучение для работы с текстами: подборка бесплатных курсов и материалов - 4

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

Перейти →

«Word2vec в картинках», Jay Alammar

Машинное обучение для работы с текстами: подборка бесплатных курсов и материалов - 5

Статья объясняет концепцию word embeddings через простую аналогию. Сначала автор показывает, как можно представить личность человека в виде вектора из пяти характеристик психологического теста, и как измерять схожесть между людьми. Затем эта идея переносится на слова.

Word2Vec создаёт векторные представления слов так, что семантически близкие слова оказываются рядом в векторном пространстве. Это позволяет выполнять арифметические операции со смыслами: король – мужчина + женщина ≈ королева.

Читать на Хабре на русском

Читать в оригинале на английском → 

Understanding LSTM Networks, Christopher Olah

Машинное обучение для работы с текстами: подборка бесплатных курсов и материалов - 6

Классическая статья с наглядными диаграммами объясняет, почему обычные рекуррентные сети плохо работают с долгими зависимостями в данных. Например, чтобы правильно выбрать форму глагола в конце предложения, нужно помнить про подлежащее из его начала.

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

Перейти → 

Читать на Хабре на русском →

«Нейросети для работы с последовательностями», Яндекс Образование

Машинное обучение для работы с текстами: подборка бесплатных курсов и материалов - 7

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

Перейти →

Attention Is All You Need, Google

Машинное обучение для работы с текстами: подборка бесплатных курсов и материалов - 8

Оригинальная статья, которая представила архитектуру Transformer. До этого для работы с текстом использовали рекуррентные сети, которые обрабатывали слова последовательно, одно за другим. Авторы предложили новый подход — механизм attention, который позволяет модели смотреть на все слова в предложении одновременно и понимать связи между ними. Это делает обучение быстрее, потому что вычисления можно распараллелить. 

Авторы описывают устройство Transformer, а также делятся результатами экспериментов. Результаты на машинном переводе показали, что модель обучается быстрее и достигает лучшего качества, чем предыдущие подходы. Эта архитектура стала основой для BERT, GPT и других современных языковых моделей.

Перейти →

Attention is All You Need простым языком, Хабр bartov-e

Машинное обучение для работы с текстами: подборка бесплатных курсов и материалов - 9

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

Перейти →

«Трансформеры», Яндекс Образование

Машинное обучение для работы с текстами: подборка бесплатных курсов и материалов - 10

Раздел из учебника по машинному обучению. Объясняет, почему трансформеры пришли на смену рекуррентным сетям, разбирает их устройство и показывает разницу между BERT и GPT. Также рассказывает про применение трансформеров за пределами NLP — в компьютерном зрении (ViT) и генерации изображений (DALL-E).

Перейти →

Transformer Zoo и Transformer Zoo (a deeper dive), Григорий Сапунов

Две лекции про архитектуру Transformer и её вариации. В первой лекции Григорий Сапунов объясняет, чем трансформеры отличаются от традиционных архитектур (вроде рекуррентных сетей) и какие модели на их основе появились за последние годы. Во второй лекции углубляется в детали: как устроены трансформеры изнутри, чем они отличаются и что там можно менять.

Смотреть первую часть →

Смотреть вторую часть → 

«BERT, ELMO и Ко в картинках (как в NLP пришло трансферное обучение)», Jay Alammar

Машинное обучение для работы с текстами: подборка бесплатных курсов и материалов - 11

Иллюстрированная статья о том, как изменился подход к обработке текста. Раньше каждое слово имело одно векторное представление независимо от контекста. ELMo научился создавать разные представления для одного слова в зависимости от его использования в предложении. 

BERT пошёл дальше: его можно предобучить на больших объёмах текста, а потом дообучить для вашей конкретной задачи — это называется трансферным обучением. Статья объясняет, почему этот подход стал прорывом в NLP, и показывает примеры использования BERT.

Читать на Хабре на русском →

Читать оригинал на английском → 

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding, Google

Машинное обучение для работы с текстами: подборка бесплатных курсов и материалов - 12

Оригинальная статья про BERT от исследователей Google. До этого языковые модели читали текст только слева направо, что ограничивало их понимание контекста. BERT использует bidirectional Transformer — модель видит слова и слева, и справа одновременно, что даёт более глубокое понимание текста. 

Статья описывает двухэтапный подход: сначала модель предобучается на огромных объёмах текста из Wikipedia и BookCorpus, выполняя две задачи — угадывать замаскированные слова и определять, следует ли одно предложение за другим. Затем эту предобученную модель можно быстро адаптировать под конкретную задачу, добавив задаче-специфичный выходной слой. Авторы демонстрируют результаты 11 разных NLP-задач.

Перейти →

«Ваш первый BERT: иллюстрированное руководство», Jay Alammar

Машинное обучение для работы с текстами: подборка бесплатных курсов и материалов - 13

Простое руководство по использованию одной из версий BERT’а для классификации предложений. Пример одновременно и достаточно простой для первого знакомства с моделью, и достаточно продвинутый для того, чтобы продемонстрировать ключевые концепты. К статье прилагается Jupyter-ноутбук, который можно запустить в Google Colab.

Читать на Хабре на русском

Читать оригинал на английском →

«BERT — state-of-the-art языковая модель для 104 языков. Туториал по запуску BERT локально и на Google Colab», Хабр DesertFlow

Машинное обучение для работы с текстами: подборка бесплатных курсов и материалов - 14

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

 Перейти →

«Основы Pytorch: перевод документации», Google Colab

Машинное обучение для работы с текстами: подборка бесплатных курсов и материалов - 15

Большинство рабочих процессов машинного обучения включают работу с данными, создание моделей, оптимизацию параметров и сохранение обученных моделей. Этот учебник знакомит вас с полным рабочим процессом ML, реализованным в PyTorch, со ссылками, чтобы узнать больше о каждом из понятий. 

Темы по порядку: тензоры, наборы данных и загрузчики данных, трансформация, построение модели, автоматическая дифференциация, цикл оптимизаций, а также сохранение, загрузка и использование модели. Предполагается, что вы уже базово знакомы с Python и концепциями глубокого обучения.

Перейти → 

Smart Batching Tutorial, Google Colab

Машинное обучение для работы с текстами: подборка бесплатных курсов и материалов - 16

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

Туториал показывает полный процесс: загрузку датасета, токенизацию текстов, создание батчей переменной длины, дообучение предобученной модели и оценку результатов. Таким образом можно ускорить обучение без потери точности.

Перейти → 

Автор: Danila_Ly

Источник

Rambler's Top100