Югра тестирует робота – помощника при предоставлении электронных госуслуг

Департамент информационных технологий и цифрового развития Ханты-Мансийского автономного округа – Югры ведёт разработку интеллектуального чат-бота на базе нейронной сети для поддержки пользователей портала госуслуг – бот назван «Помогуша», сообщил D-Russia.ru директор департамента Павел Ципорин.

Обучение нейросети идёт три месяца, сейчас она дает ответы по шести видам услуг – запись к врачу, запись в школу, запись в детский сад, электронный дневник, регистрация брака, разрешение на строительство.

Бот доступен здесь.

Вероятность верного определения смысла вопроса сейчас составляет 76%, до конца года департамент планирует довести этот показатель до 90%.

«Обычно подобного уровня системы требуют значительного объёма работ: подготовку данных, обучение искусственного интеллекта, устранение ошибок. Основное время занимает обучение нейронной сети. Например, первая итерация Алисы от «Яндекса» была представлена общественности спустя год после объявленного старта работ», – рассказали в департаменте.

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

Справка

В начале беседы бот запрашивает контактные данные человека – имя и способ связи (e-mail или телефон). Если человек не ввёл эти данные в начале диалога, бот периодически повторяет запрос.

Если вопрос задан ночью и бот не «знает» ответ, обращение сохраняется вместе с контактными данными гражданина, потом с ним связывается оператор. Днём в таких случаях гражданина сразу переключают на оператора техподдержки.

Обучение «Помогуши» ведут эксперты из числа гослужащих.

Текст после предварительной формальной обработки (исправление ошибок и перевод в именительный падеж) подают в нейронную сеть, которая определяет область, к которой относится вопрос. После определения темы для более глубокого изучения вопрос передается в специализированную нейронную сеть, которая распознаёт смысл вопроса и ищет ответ.

На чём работает бот

Для исправления ошибок используются два алгоритма: триграммный поиск (поиск с опечатками) и исправление на базе вычисления расстояния Левинштейна. При этом для триграммного поиска используется библиотека Ngram, а вычисления расстояния Левинштейна пришлось разрабатывать самостоятельно с использованием математической библиотеки NumPy, пояснили D-Russia.ru разработчики.

Преобразование слов в вектор выполняется с помощью программного модуля Word2vec (библиотека Gensim), постобработка векторной модели была проведена на Tensorflow алгоритмом К-средних.

Нейросеть имеет пять слоев, размерности слоев (обрабатывающих элементов) – 300, 150, 75, 25, 7.

Функции активации (функции, вычисляющие выходной сигнал искусственного нейрона) – сигмоидальные.

Нейросеть работает на базе открытого ПО машинного обучения TenserFlow с использованием фреймворка Keras.

Обучение сети и разработка формата сети проводится на программной платформе JupyterLab, в качестве серверного ПО используются пакеты Gunicorn и Flask.

Примеры диалогов

  • У меня заболела бабушка, как записать ее к врачу?
  • Помогуша: об услуге «Запись к врачу» «…Давайте я определю Ваш участок!»
  • Бабушка живет на Югорской, 20.
  • Помогуша: Выводится список участков «…Участок №22, Педиатрический».
  • Что еще ты знаешь об этой услуге?
  • Помогуша: запись на прием другого человека «…дату рождения, номер полиса ОМС и СНИЛС».

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

  • У моего друга заболела невеста.
  • Помогуша: О регистрации брака «…Если нет, то я могу Вам подсказать!»
  • Почему ты рассказываешь про вступление в брак, невеста ведь заболела?
  • Помогуша: Можно зарегистрироваться на дому «…в присутствии лиц, вступающих в брак».

Ответ соответствует запрошенной теме.

Если ответ не найден, то будет предложено обратиться к оператору.

  • Например, зададим нестандартный вопрос: «Помогуша, а сегодня клюет?»
  • Помогуша: «Извините, я Вас не понял. Переформулируйте, пожалуйста, Ваш вопрос или обратитесь к оператору».

Видео, демонстрирующее работу бота, см. здесь.