PNLP: NLP – обработка естественного языка с Python
Ближайшая дата курса по регистрации
Стоимость обучения 60.000 руб. Купить
Код курса PNLP

5-ти дневный практический курс для Data Scientist’ов, специалистов по машинному обучению и Python-разработчиков NLP-приложений, которые хотят освоить продвинутые методы решения задач обработки естественного языка с помощью нейронных сетей.

Что такое NLP и при чем здесь машинное обучение

NLP (Natural Language Processing, NLP) или обработка естественного языка – это целое направление искусственного интеллекта и математической лингвистики, направленное на анализ (компьютерное понимание) текста и речи, а также их грамотный синтез (генерацию нового). NLP-технологии нужны не только для распознавания живого языка средствами искусственного интеллекта. Они дают возможность адекватного взаимодействия человека с вычислительными системами.

Классическими NLP-задачами считаются следующие:

  • определение эмоциональной окраски (тональности) текста,
  • вопросно-ответные системы,
  • классификация текстов,
  • построение выводов по тексту;
  • распознавание речи;
  • анализ текста, включая извлечение данных, информационный поиск и анализ высказываний;
  • генерация текстов;
  • синтез речи;
  • машинный перевод;
  • автоматическое реферирование, аннотирование и упрощение текстовой информации.

Сегодня большинство этих задач решается с помощью современных методов Machine Learning – нейросетевых алгоритмов, которые обладают свойством самообучаемости и способны решать проблемы в условиях неполноты и изменчивости входной информации.

Узнать больше

КАК ПОСТРОЕН ОБРАЗОВАТЕЛЬНЫЙ КУРС
по обработке естественного языка в Python

Продолжительность: 5 дней, 40 академических часов.

Соотношение теории к практике 50/50

Курс “NLP с Python” представляет собой прикладные основы обработки естественного языка с помощью Machine Learning, включая всю необходимую теорию и практику по этой области искусственного интеллекта. В программе рассмотрены операции преобразования текстовых данных для дальнейшей обработки нейросетевыми алгоритмами: стемминг, лемматизация, векторизация. Приведены базовые NLP-задачи, которые могут быть решены с помощью методов машинного обучения: классификация и распознавание текстов, анализ звуковой информации. Большое внимание уделено практическому решению задач с использованием методов машинного обучения на языке Python с применением самых передовых нейросетей: BERT, GPT-2. Также курс “NLP с Python” включает изучение особенностей промышленной разработки Data Science решений и их эффективного развертывания в production: фреймворки Flask, Flacon, Django, технологии контейнеризации с помощью Docker, специализированные облачные сервисы.

На практике вы самостоятельно создадите, обработаете и проанализируете тексты и звуковые сигналы, а также создадите собственный production-сервис для решения NLP-задач. В результате освоения программы курса вы овладеете не только основными навыками Machine Learning, необходимыми для обработки естественного языка, но и освоите популярные фреймворки и технологии для промышленного развертывания Data Science решений.

Успешно окончив курс “NLP с Python” в нашем лицензированном учебном центревы получите сертификат о повышении квалификации установленного образца.

Записаться на курсы

Программа курса “NLP с Python”

Модуль 1. Введение в NLP

Теоретическая часть: основные понятия; классификация задач, решаемых с помощью методов NLP, стандартный pipeline обработки текстовых данных (очистка, стемминг, лемматизация, классические представления текстовых данных: Bow, Tf-Idf). Обзор алгоритмов стемминга и лемматизации. Популярные библиотеки для работы с текстовыми данными (nltk, spacy, gensim, TextBlob).

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

Домашняя работа: улучшение простейшей модели классификации. Использование различных подходов к обработке текстовых данных и различных моделей машинного обучения.

Модуль 2. Embeddings

Теоретическая часть: векторные представления слов/текста. Алгоритмы обучения векторных представлений: word2vec, Glove. Векторные представления текста: doc2vec. Embedding своими руками с помощью SVD разложения. Предобученные векторные представления для английского и русского языка.

Практическая часть: обучение векторного представления слов и его использование в задаче множественной классификации на примере датасета  20 News groups.

Домашняя работа: улучшение результатов работы построенной модели с использованием предобученных векторных представлений.

Модуль 3. Применение свёрточных нейронных сетей в NLP

Теоретическая часть: сверточные нейронные сети, параметры сверточных нейронных сетей, параметры обучения сверточных нейронных сетей, архитектура сверточных нейронных сетей в NLP. Ответ на вопроc когда использовать сверточные сети, а когда классические модели машинного обучения в NLP.

Практическая часть: использование сверточных нейронных сетей на примере задачи классификации твитов (датасет Рубцовой).

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

Модуль 4. Рекуррентные нейронные сети

Теоретическая часть: архитектура RNN, CRNN, LSTM, GRU. Нейронные сети с attention. Задачи класса sequence to sequence. Машинный перевод. Архитектура нейронных сетей для машинного перевода.

Практическая часть: пишем нейронную сеть для машинного перевода “from scratch”.

Домашняя работа: тюнинг нейронной сети/обучение своей нейронной сети на другой паре языков.

Модуль 5. Работа со звуковой информацией

Теоретическая часть: физическая природа звука, оцифровка звукового сигнала. Виды цифровых представлений звукового сигнала (ряды, изображения). Speech to text / text to speech, подходы к решению. SOTA нейронные сети для Speech to text.

Практическая часть: пишем рекуррентную нейронную сеть классификации музыкальных жанров (речевых команд).

Домашняя работа: обучить сверточную нейронную сеть на представлениях звуковых сигналов в виде изображения на датасете с речевыми командами.

Модуль 6. SOTA нейронные сети в NLP

Теоретическая часть: предобученные нейронные сети в NLP, обзор архитектур нейронных сетей Bert и GPT-2. Режимы работы Bert и GPT-2. Использование Bert в задаче определения близких по смыслу текстов.

Практическая часть: решение задачи определения близких по смыслу текстов. Использование подхода без учителя. Использование Bert.

Домашняя работа: решение задачи с помощью GPT-2.

Модуль 7. Key word extraction / text summarization

Теоретическая часть: подходы к решению задач key word extraction, text summarization. Алгоритм PageRank. Архитектуры нейронных сетей для задач key word extraction и text summarization

Практическая часть: пишем нейронную сеть для key word extraction.

Домашняя работа: пишем нейронную сеть для text summarization.

Модуль 8. Named Entity Recognition

Теоретическая часть: подходы к решению задач NER. Condition Random Fields. Нейронные сети для решения задачи NER.

Практическая часть: решаем NER c помощью CRF.

Домашняя работа: пишем нейронную сеть для NER.

Модуль 9. Использование нейронных сетей в production

Теоретическая часть: сериализация/десериализация объектов в Python, фреймворки Flask, Flacon, Django. Контейнеризация, Docker. Использование сервиса с нейронной сетью в облаке, AWS. Специализированные серверы для использования нейронных сетей (tensorflow serving, torchServe)

Практическая часть: создание API с нейронной сетью с использованием специализированных серверов.

Домашняя работа: создание API с несколькими нейронными сетями.

Дополнительные разделы:

  • VAE (variational autoencoders) for NLP
  • text semantic segmentation
  • natural language inference
  • text generation