- BrainTools - https://www.braintools.ru -

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

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


Сourse in Natural Language Processing, YSDA

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

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

Перейти → [2]

NLP Course, Lena Voita

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

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

Перейти → [3]

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

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

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

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

Перейти → [5]

Text Classification with Python and Scikit-Learn, Usman Malik

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

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

Перейти → [6]

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

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

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

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

Читать на Хабре на русском [7] [8]

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

Understanding LSTM Networks, Christopher Olah

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

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

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

Перейти →  [10]

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

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

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

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

Перейти → [13]

Attention Is All You Need, Google

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

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

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

Перейти → [14]

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

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

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

Перейти → [15]

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

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

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

Перейти → [17]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Перейти → [22]

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

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

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

Читать на Хабре на русском [23] [24]

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

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

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

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

 Перейти → [25]

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

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

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

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

Перейти →  [26]

Smart Batching Tutorial, Google Colab

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

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

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

Перейти →  [27]

Автор: Danila_Ly

Источник [28]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/25058

URLs in this post:

[1] «Специалист по Data Science»: https://practicum.yandex.ru/data-scientist/?utm_source=content&utm_medium=media&utm_campaign=habr_media_RF_Data_dataSc_b2c_Article_None_text-ml&utm_content=2-02-26

[2] .: https://github.com/yandexdataschool/nlp_course

[3] Перейти →: https://lena-voita.github.io/nlp_course.html

[4] обучения: http://www.braintools.ru/article/5125

[5] Перейти →: https://habr.com/ru/companies/Voximplant/articles/446738/

[6] Перейти →: https://stackabuse.com/text-classification-with-python-and-scikit-learn/

[7] Читать на Хабре на русском: https://habr.com/ru/articles/446530/

[8] →: https://jalammar.github.io/illustrated-word2vec/

[9] память: http://www.braintools.ru/article/4140

[10] .: https://colah.github.io/posts/2015-08-Understanding-LSTMs/

[11] Читать на Хабре на русском →: https://habr.ru/ru/companies/wunderfund/articles/331310/

[12] внимания: http://www.braintools.ru/article/7595

[13] Перейти →: https://education.yandex.ru/handbook/ml/article/nejroseti-dlya-raboty-s-posledovatelnostyami#word-embeddings

[14] Перейти →: https://arxiv.org/html/1706.03762

[15] Перейти →: https://habr.com/ru/articles/781770/

[16] зрении: http://www.braintools.ru/article/6238

[17] Перейти →: https://education.yandex.ru/handbook/ml/article/transformery

[18] Смотреть первую часть →: https://www.youtube.com/watch?v=KZ9NXYcXVBY

[19] Смотреть вторую часть → : https://www.youtube.com/watch?v=7e4LxIVENZA

[20] Читать на Хабре на русском →: https://habr.com/ru/articles/487358/

[21] Читать оригинал на английском →: https://jalammar.github.io/illustrated-bert/

[22] Перейти →: https://arxiv.org/pdf/1810.04805

[23] Читать на Хабре на русском: https://habr.com/ru/articles/498144/

[24] →: http://jalammar.github.io/a-visual-guide-to-using-bert-for-the-first-time/

[25] .: https://habr.com/ru/post/436878/

[26] .: https://colab.research.google.com/drive/1SBha91u6142pW5mSiQOOjJWCCSAFj4HI?usp=sharing

[27] .: https://colab.research.google.com/drive/1Er23iD96x_SzmRG8md1kVggbmz0su_Q5#scrollTo=Y-RBPRl43usv

[28] Источник: https://habr.com/ru/companies/yandex_praktikum/articles/986742/?utm_campaign=986742&utm_source=habrahabr&utm_medium=rss

www.BrainTools.ru

Rambler's Top100