Кому подойдёт этот курс?Курс подойдет всем, кто знаком с базовыми знаниями программирования и хочет освоить навыки разработки диалоговых систем с искусственным интеллектом.
Почему стоит выбрать этот курс?Занятия помогут вам быстро освоить базовые навыки создания чат-ботов с искусственным интеллектом на Python. Разобраться в основах компьютерной лингвистики и познакомиться с принципами работы умных диалоговых систем. Создать собственных ботов, понимающих естественную речь.
Что ждёт участников на курсе?— Вы получите базовые навыки программирования на языке Python с использованием готовых библиотек, создания собственных библиотек, а также изучите методики обучения классификаторов и развертывания решений на облачный сервер.
— Вы узнаете, как самостоятельно создать диалоговые системы с искусственным интеллектом.
— Научитесь обучать разговорный искусственный интеллект.
— Получите начальные знания по компьютерной лингвистике и машинному обучению.
Автор и ведущийПреподаватель с богатым профессиональным опытом, специалист в сфере разговорного искусственного интеллекта, частный венчурный инвестор. Опыт работы и бизнеса с 1996 года. Более 6000 российских и международных брендов получают пользу от созданных им, его сотрудниками и учениками умных чат-ботов. Автор и ведущий курсов по компьютерной лингвистике и машинному обучению в ВШСДТ, МФТИ.
Что получат участники курсов?После окончания обучения вы сможете самостоятельно создавать виртуальных ассистентов с искусственным интеллектом, получите базовые навыки программирования на языке Python, сможете обучать и совершенствовать свои программные продукты.
Программа:От идеи до деплоя: цикл разработки типового программного обеспечения. Фазы создания программного обеспечения. Анализ требований, проектирование, кодирование (программирование), тестирование и отладка, эксплуатация и сопровождение. Этапы разработки на примере диалоговой системы. Разбор типовых ошибок.
Управление требованиями: создание технической документации, установка метрик качества. Этап сбора требований и создания технической документации. Метрики качества при разработке документации. Техническая документация диалоговой системы. Методы составления документации проекта. Возможные ошибки при составлении документации. Создание технической документации диалоговой системы. Анализ и установка возможных метрик качества.
Контрактное программирование: разработка дизайна решения. Прототипирование диалоговых систем. Методы решения проблем. MVP — минимально жизнеспособный продукт без кода и разумное распределение ресурсов. Возможные инструменты при прототипировании дизайна решения, их плюсы и минусы.
Создание лингвистического компонента чат-бота (паттерны, сущности, словари). Базовые лингвистические понятия. Словообразование. Морфемы и обработка естественного языка. Отличия лингвистических подходов исходя из целей бизнеса. Сравнительная характеристика лингвистических компонентов на примере диалоговой системы.
Интерфейсы и системные интеграции: внешние сервисы и http-запросы. Типы http-запросов и философия REST. Инструменты для отладки http-запросов.
Предсказуемый деплой: вариативность каналов связи. Особенности каналов связи для проектирования диалоговых систем. Методы реализации диалоговой системы одновременно для нескольких каналов.
Введение в тестирование диалоговых систем. Тест-дизайн. Работа с проектной документацией, создание сценария тестирования диалоговой системы. Реализация интеграции диалоговой системы с продвинутыми инструментами анализа диалоговых систем в текущих проектах.
Оценка и аудит диалоговых продуктов. Анализ эффективности диалоговой системы. Обзор продуктов для анализа, ключевые показатели эффективности диалоговых систем. Реализация интеграции диалоговой системы с продвинутыми инструментами анализа диалоговых систем в текущих проектах.
Задачи классификации намерений и тематик, извлечение сущностей в диалоговых системах. Интенты — намерение пользователя. Извлечение смыслов NLU — основы понимания естественного языка. Системные и пользовательские сущности для NLU — понимание естественного языка виртуальным ассистентом. Извлечение намерений пользователей из представленных текстовых корпусов.
Работа с опечатками и распознавание речи как неотъемлемая часть работы разговорного интерфейса. Очистка данных, работа с опечатками. Методы распознавания естественной речи. Предварительная очистка данных на предоставленном датасете. Разбор инструментов для NLU.
Отличия реализации голосовых ассистентов от текстовых. Сложности при создании голосового ассистента. ASR — автоматическое распознавание речи, TTS — синтез речи, инструменты для синтеза речи. Плюсы и минусы голосового и текстового ассистента. Дополнительные этапы при проектировании и разработке голосовых диалоговых систем.
Предварительная обработка текстовых данных: токенизация, стоп-слова, нормализация (стемминг/лемматизация) в контексте чат-бота. Предварительная обработка данных: токенизация, удаление стоп-слов. Выбор способа нормализации. Стеммизация — процесс приведения слова к его корню/основе. Лемматизация. N-граммы. Инструменты для предварительной обработки данных и их использование на примере готового датасета.
Классификация запросов пользователя в диалоге: ключевые слова, индекс жаккарда, алгоритм шинглов, расстояние левенштейна. Основы семантического поиска. Традиционный поиск: сходство Жаккара, алгоритм шинглов, расстояние Левенштейна. Регулярные выражения. Реализация семантических классификаторов для чат-бота. Нахождение процента совпадения одной строки к другой.
Классификация запросов пользователя в диалоге, векторное сходство: TF-IDF, BM25, word2vec/doc2vec, BERT, USE. Представление строки векторами из одного общего для всей коллекции векторного пространства. Основы векторного сходства: TF-IDF, BM25, word2vec/doc2vec, BERT. Реализация векторных классификаторов для чат-бота. Нахождение процента совпадения одной строки к другой.
Использование классификаторов машинного обучения для распознавания намерений в диалоговых системах (инструменты машинного обучения для задач классификации). Значение данных для машинного обучения. Методы работы с данными для машинного обучения. Проблема диаризации при подготовке голосовых файлов. Сырые данные, корпуса текстов и размеченная выборка для машинного обучения.
Создание диалоговой системы на Python. Обзор библиотек для различных бизнес-задач. Типы бизнес-задач и инструменты для их решений. Готовые библиотеки для предварительной обработки текста. Векторный анализ и фреймворки для популярных входящих каналов связи. Реализация MVP проекта с использованием готовых библиотек и фреймфорков.
Проработка сценария диалогового ассистента и воспроизведение контекста диалога. Основы Python для создания диалоговых систем. Значения и переменные, функции, условные обозначения, циклы, условия. Pep 8. Доработка существующих проектов. Расширение функционала.
Создание собственной библиотеки для группы каналов связи. Основы создания собственной библиотеки. Пакет Pathology. Тестирование пакета патологии. Путь Python. Упаковка и раздача библиотеки Python. Создание собственной библиотеки.
Классификации баз данных, шаблонные решения при разработке текстового бота. Основные методы хранения данных в Python. Их преимущества и недостатки в контексте определенной бизнес-задачи и технических ограничений. Выбор и реализация оптимального способа хранения данных для готового проекта.
Обучение различных классификаторов для распознавания намерений и выделения сущностей. Способы разработки датасетов для различных задач. Готовые библиотеки для нахождения синонимов. Выбор инструмента с готовым к обучению классификатором. Предварительная обработка данных из датасета, обучение классификатора и интеграция с существующим проектом.
Вывод готового решения на облачный сервер. Деплой бота на облачный сервер. Инструменты для мониторинга состояния бота. Реализация инструмента для мониторинга работоспособности бота на продуктовом сервере.