Программа повышения квалификации «Conversation AI: разработчик диалоговых систем с искусственным интеллектом на Python» направлена на подготовку слушателей к профессиональной деятельности в качестве разработчиков-лингвистов (программистов), за счет приобретения ими знаний в области теории и практики разработки диалоговых систем с элементами NLP, ML/DL с использованием языка программирования и библиотек Python.
Нагрузка 144 ак.ч. 10 недель
нажмите ▶ на стрелку для развертывания раздела
1. Цикл разработки диалоговых систем
1.1 От идеи до деплоя. Управление требованиями
Лекция
Фазы создания программного обеспечения.
Анализ требований, проектирование, кодирование (программирование), тестирование и отладка, эксплуатация и сопровождение.
Этап сбора требований и создания технической документации.
Метрики качества при разработке документации.
Техническая документация диалоговой системы.
Методы составления документации проекта.
Возможные ошибки при составлении документации.
Практическая работа
Определить этапы разработки на примере диалоговой системы.
Создать техническую документацию диалоговой системы.
Провести анализ и установку возможных метрик качества.
Разбор типовых ошибок.
Самостоятельная работа
Самостоятельное выполнение заданий по теме лекции
1.2 Контрактное программирование. Создание лингвистического компонента чат-бота
Лекция
Прототипирование диалоговых систем.
Методы решения проблем.
MVP – минимально жизнеспособный продукт без кода и разумное распределение ресурсов.
Отличия лингвистических подходов исходя из целей бизнеса.
Практическая работа
Описать возможные инструменты при прототипировании дизайна решения, их плюсы и минусы.
Провести сравнительную характеристику лингвистических компонентов на примере диалоговой системы
Самостоятельная работа
Самостоятельное выполнение заданий по теме
1.3 Интерфейсы и системные интеграции. Предсказуемый деплой
Лекция
Типы HTTP-запросов и философия REST.
Особенности каналов связи для проектирования диалоговых систем.
Практическая работа
Описать возможные применимые инструменты для отладки http-запросов.
Выделить и описать методы реализации диалоговой системы одновременно для нескольких каналов.
Самостоятельная работа
Самостоятельное выполнение заданий по теме лекции
1.4 Введение в тестирование диалоговых систем. Оценка и аудит
Лекция
Тест-дизайн, работа с проектной документацией, создание сценария тестирования диалоговой системы.
Анализ эффективности диалоговой системы. Обзор продуктов для анализа, ключевые показатели эффективности диалоговых систем.
Практическая работа
Создать сценарий теста диалоговой системы.
Реализовать интеграцию диалоговой системы с продвинутыми инструментами анализа диалоговых систем в текущих проектах.
Самостоятельная работа
Самостоятельное выполнение заданий по теме
Промежуточная аттестация по модулю 1
2. Введение в NLP для разработки разговорных ассистентов
2.1 Задачи классификации намерений и тематик, извлечение сущностей. Работа с опечатками и распознавание речи
Лекция
Интенты – намерения пользователя. Извлечение смыслов NLU – основы понимания естественного языка. Системные и пользовательские сущности для NLU - понимания естественного языка виртуальным ассистентом. Очистка данных, работа с опечатками. Методы распознавания естественной речи
Практическая работа
Извлечь намерение пользователей из представленных текстовых корпусов. Предварительная очистка данных на предоставленном датасете. Разбор инструментов для NLU
2.2 Отличия реализации голосовых ассистентов от текстовых. Предварительная обработка текстовых данных
Лекция
Сложности при создании голосового ассистента. ASR - автоматическое распознавание речи, tts - синтез речи, инструменты для синтеза речи. Предварительная обработка данных: токенизация, удаление стоп-слов. Выбор способа нормализации. Стеммизация — процесс приведения слова к его корню/основе. Лемматизация. N-граммы
Практическая работа
Определить плюсы и минусы голосового и текстового ассистента. Описать дополнительные этапы при проектировании и разработке голосовых диалоговых систем.
2.3 Классификация запросов пользователя в диалоге, векторное сходство
Лекция
Основы семантического поиска. Традиционный поиск: сходство Жаккара, алгоритм шинглов, расстояние Левенштейна. Регулярные выражения. Представление строки векторами из одного общего для всей коллекции векторного пространства. Основы векторного сходства: TF-IDF, BM25, word2vec/doc2vec, BERT.
Практическая работа
Реализация семантических классификаторов для чат-бота. Нахождение процента совпадения одной строки к другой. Реализация векторных классификаторов для чат-бота. Нахождение процента совпадения одной строки к другой
Самостоятельная работа
Самостоятельное выполнение заданий по теме
2.4 Использование классификаторов машинного обучения для распознавания намерений в диалоговых системах
Лекция
Значение данных для машинного обучения. Методы работы с данными для машинного обучения. Проблема диаризации при подготовке голосовых файлов. Сырые данные, корпуса текстов и размеченная выборка для машинного обучения.
Практическая работа
Сделать краткий аналитический обзор с выводами: почему данные – «топливо» для искусственного интеллекта, указать, какими бывают данные, на что могут повлиять данные, подготовленные для машинного обучения, какую опасность могут представлять данные для машинного обучения диалоговых систем
Самостоятельная работа
Самостоятельное выполнение заданий по теме лекции
Промежуточная (итоговая) аттестация по модулю 2
3. Создание диалоговой системы на Python
3.1 Обзор библиотек для различных бизнес-задач
Лекция
Типы бизнес-задач и инструменты для их решений. Готовые библиотеки для предварительной обработки текста. Векторного анализа и фреймворки для популярных входящих каналов связи
Практическая работа
Реализация MVP проекта с использованием готовых библиотек и фреймворков
Самостоятельная работа
Самостоятельное выполнение заданий по теме
3.2 Проработка сценария диалогового ассистента и воспроизведение контекста диалога
Лекция
Основы Python для создания диалоговых систем. Значения и переменные, функции, условные обозначения, циклы, условия. Pep 8
Практическая работа
Доработка существующих проектов. Расширение функционала
Самостоятельная работа
Самостоятельное выполнение заданий по теме
3.3 Создание собственной библиотеки для группы каналов связи
Лекция
Основы создания собственной библиотеки. Пакет Pathology. Тестирование пакета патологии. Путь Python. Упаковка и раздача библиотеки Python
Практическая работа
Создание собственной библиотеки
Самостоятельная работа
Самостоятельное выполнение заданий по теме
3.4 Классификации баз данных, шаблонные решения при разработке текстового бота
Лекция
Основные методы хранения данных в Python. Их преимущества и недостатки в контексте определенной бизнес-задачи и технических ограничений
Практическая работа
Выбор и реализация оптимального способа хранения данных для готового проекта
Самостоятельная работа
Самостоятельное выполнение заданий по теме лекции
3.5 Обучение различных классификаторов для распознавания намерений и выделения сущностей
Лекция
Способы разработки датасетов для различных задач. Готовые библиотеки для нахождения синонимов
Практическая работа
Выбор инструмента с готовым к обучению классификатором. Предварительная обработка данных из датасета, обучение классификатора и интеграция с существующим проектом
Самостоятельная работа
Самостоятельное выполнение заданий по теме лекции
3.6 Вывод готового решения на облачный сервер
Лекция
Деплой бота на облачный сервер. Инструменты для мониторинга состояния бота
Практическая работа
Реализация инструмента для мониторинга работоспособности бота на продуктовом сервере
Самостоятельная работа
Самостоятельное выполнение заданий по теме лекции
Want to print your doc? This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (