Искусственный интеллект на госслужбе

Государство сейчас является одним из драйверов развития цифровизации и выступает в роли крупного заказчика. Это можно легко объяснить тем, что все его ведомства имеют дело с огромным потоком документов и типовых операций, требующих скорости и прозрачности процессов. В данной статье Екатерина Гаранина, ведущий NLP-разработчик компании nlogic (входит в "ИКС Холдинг"), поделится опытом автоматизации процесса обработки обращений граждан в государственной структуре.

Екатерина Гаранина 
Ведущий NLP-разработчик компании nlogic

Мы живем в мире стремительного развития технологий и повсеместной автоматизации. Наибольшая востребованность в цифровых решениях существует у крупного бизнеса и государственных организаций, где каждый день происходит обработка больших объемов информации разной степени структурированности.

Некоторое время назад наша команда начала внедрение системы по автоматической подготовке ответов на входящие обращения граждан для одной из госструктур. В данном решении мы использовали технологии ИИ, что позволило оптимизировать данный процесс и освободить время сотрудников для более емких задач.

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

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

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

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

Наш проект естественным образом разделился на три итерации:

  • работа с искусственно созданной базой вопрос-ответ;
  • валидация и доработка системы на небольшом количестве реальных данных;
  • итеративное улучшение алгоритма на большом объеме реальных данных.

Работа с искусственно созданной базой вопрос-ответ

Очень важным моментом в любом проекте является взаимодействие с заказчиком. Разработчику необходимо собрать максимально полную информацию о процессе или участке, требующем автоматизации и обеспечить своевременный обмен информацией на протяжении всего проекта. Мы всегда стараемся найти индивидуальный подход к каждому клиенту, учитываем и уважаем его особенности.

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

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

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

Были попытки покрыть некоторые категории ответов жесткими структурами, но этот подход давал очень много false positives. Именно по этой причине этот подход относительно редко успешно применим и в целом не рекомендуется к использованию.

Валидация и доработка системы на небольшом количестве реальных данных

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

Мы получили некоторое приемлемое качество, но стало ясно, что при дополнительной проработке отдельных категорий вопросов, которые задавались наиболее часто, можно значительно улучшить работу системы. Поэтому мы добавили самые частотные паттерны и дополнительные правила, при выполнении которых мы возвращали определенные ответы. Эти правила, в отличие от правил первой версии, зависели от предсказания тематики и были более мягкими по своей логике, что позволило исключить большую долю false positives.

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

Мы советуем в подобных проектах не пренебрегать возможностью дополнительной проверки. Валидация позволяет сократить количество запросов, обработанных с ошибкой, и расширить обучающую выборку. Впрочем, необходимость валидации — это тема отдельного разговора и сейчас мы не будем на этом подробно останавливаться.

Таким образом, к концу второй итерации нам удалось сократить трудозатраты сотрудников ведомства, разработав автоматический вариант ответа и удобный интерфейс для его замены в случае ошибки системы.

Итеративное улучшение алгоритма на большом объеме реальных данных

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

К этому моменту у нас в распоряжении появилось много реальных данных с правильными ответами, что позволило эффективнее обучать модели машинного обучения.

Мы решили сделать бленд из нескольких подходов:

  • поисковую систему по словам
  • систему, основанную на правилах
  • классификацию ответов
  • классификацию по тематическим блокам из первой итерации

Из систем, которые предсказывают конечный ответ (1-3), мы получаем топ предсказаний и оценки уверенности в этих предсказаниях. Кроме того, мы используем предсказанные тематические блоки и их вероятности. Все эти и некоторые другие признаки мы передаем в другую модель. Такой бленд, обученный на ответах разных систем, дал примерно 10% качественного прироста. Кроме того, уверенность этой модели можно использовать для автоматической отправки ответа заявителю без проверки валидатором.

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

На данный момент мы продолжаем совершенствовать качество работы системы и работаем по нескольким направлениям:

  • Разработка нейронной сети для поиска близких вопросов среди провалидированных обращений. По сравнению с обычным поиском нейронная сеть опирается не только на конкретные слова, но и на более широкий контекст.
  • Автоматическая суммаризация обращений. Этот подход позволит убрать лишние детали из обращений и облегчит дальнейшие классификации и поиск.
  • Автоизвлечение ключевых слов для каждой категории ответа при обучении. С помощью таких групп слов можно отнести вопрос к определенному ответу и использовать предсказание такого алгоритма как один из компонентов системы.

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

0
Комментарии
-3 комментариев
Раскрывать всегда