Проектная магистратура Университета ИТМО

Методы и модели машинного обучения для роботизации чата поддержки банковского продукта

Руководитель от корпоративного партнера: Брюханов Константин, ПАО "Банк ВТБ"
Руководитель от Университета ИТМО: Авксентьева Елена Юрьевна, Университет ИТМО

Набор в этот проект закончен.

Аннотация

Одно из самых ярких применений нейронных сетей — чат-боты. Чат-бот (виртуальный собеседник или просто бот) — это компьютерная программа, которая, имитируя живого собеседника, разговаривает с пользователем-человеком (чаще всего через Интернет).

Стремительное распространение интеллектуальных ботов обусловлено сочетанием нескольких факторов. Во-первых, пользователи уже устали загружать и устанавливать приложения. Во-вторых, люди массово переходят на службы сообщений и постоянно находятся в чатах. Таким образом, вместо очередного приложения можно создать сервис, работающий в приложении, которое уже установлено на устройстве пользователя. Чат-боты становятся востребованным и предпочтительным вариантом взаимодействия благодаря достижениям в сфере искусственного интеллекта. Созданы мощные алгоритмы машинного обучения, с помощью которых чат-бот способен поддерживать диалог с конечным пользователем при минимальном вмешательстве оператора.

Модель (внедренный в чат банка модуль):

  • способна обработать без участия оператора большее количество запросов (в зависимости от темы, в некоторых случаях эффективность может достигать 70–80%);
  • лучше адаптируется под нестандартные формулировки в диалоге — умеет определять интент, реальное желание пользователя по не четко сформулированному запросу;
  • умеет определять, когда ответ модели адекватен, а когда в качестве «осознанности» этого ответа есть сомнения и нужно задать дополнительный уточняющий вопрос или переключиться на оператора;
  • может быть дообучена автоматизированно (вместо группы разработчиков, постоянно адаптирующих и корректирующих сценарии ответов, модель дообучает специалист по Data Science, применяя соответствующие библиотеки машинного обучения).

План действий

  1. Определить круг задач чат-бота.
  2. Выбрать платформу.
  3. Построить коммуникационную архитектуру.
  4. Структурировать контент и смоделировать ответ бота.
  5. Спроектировать интеграцию.
  6. Собрать информацию для полноценного диалога.
  7. Обучить бота.
  8. Внедрить схему ведения диалога.
  9. Тестировать.

Решаемые технические задачи

Роботизация чата поддержки банковских продуктов

Стек технологий

1) User and Organizations

  • Инструменты гибкой разработки Agile, Scrum, Kanban
  • Тайм-менеджмент и планирование временем

2) System Modeling

  • Системное моделирование с использованием языков UML/SysML
  • Анализ требований

3) System Architecture and Infrastructure

  • Методы проектирование программных систем
  • Методы проектирования интеллектуальных систем
  • Организация параллельных и распределенных вычислений
  • Компьютерные сети
  • Виртуальные системы и сервисы

4). Software Development

  • Программирование на языках Java, Python
  • Использование библиотек библиотек ConvNetJS, nlp_compromise, TextBlob , библиотек Python для обработки, анализа данных
  • Web-разработка с использованием HTML, CSS, Java Script, PHP.
  • сервисы wit.ai, api.ai 5) Software Fundamentals
  • Алгоритмы и структуры данных

6) Hardware

  • Архитектура вычислительных систем

Предварительный перечень курсов

  1. Обработка и анализ данных
    • https://openedu.ru/course/ITMOUniversity/BIGDATA2035/
  2. Прикладной искусственный интеллект
    • https://openedu.ru/course/ITMOUniversity/APPARTINT2035/
  3. Методы машинного обучения
    • https://openedu.ru/course/ITMOUniversity/INTROML/
  4. Интеллектуальный анализ данных
    • https://openedu.ru/course/ITMOUniversity/MLDATAN/
  5. Анализ текстов
    • https://openedu.ru/course/hse/TEXT/
    • https://www.coursera.org/learn/text-mining?action=enroll
  6. Распределенные база данных и знаний
    • https://openedu.ru/course/spbu/DTBS/
  7. Мультиагентные системы
    • http://window.edu.ru/resource/434/57434
  8. Системы поддержки принятия решений.
  9. Специализация Learn SQL Basics for Data Science
    • https://ru.coursera.org/specializations/learn-sql-basics-data-science
  10. Databases and SQL for Data Science with Python
    • https://www.coursera.org/learn/sql-data-science
  11. MongoDB for Python Developers
    • https://university.mongodb.com/courses/M220P/about
  12. Библиотека программиста
    • https://proglib.io/p/postgresql/
  13. Профессиональный информационно-аналитический ресурс, посвященный машинному обучению, распознаванию образов и интеллектуальному анализу данных
    • http://www.machinelearning.ru/

Кем станет студент по завершению магистратуры

Программист-стажер, программист, разработчик систем машинного обучения и ИИ

Пререквизиты

Базовые программы курсов:

  • Высшая математика
  • Основы программирования
  • Алгоритмы и структуры данных
  • Программная инженерия
  • Архитектура программных систем
  • Базы данных