DocAnalyzer
- Заказчик:
- Сбер
- Руководитель проекта со стороны заказчика
- Поставщик
- Сбер (собственная разработка)
- Год завершения проекта
- 2022
- Сроки выполнения проекта
- Ноябрь, 2021 - Сентябрь, 2022
- Масштаб проекта
- 1200 человеко-часов
- Цели
-
Ускорение процесса рассмотрения договоров с контрагентами, повышение числа договоров, которые прошли анализ;
- Снижение влияния человеческого фактора при поиске киберрисков в договорах с контрагентами.
-
Уникальность проекта
Анализ договоров не сводится только к тривиальным задачам обработки естественного языка. Поэтому мы разбили эту задачу на несколько подзадач, каждая из которых решалась отдельно.К одному из главных уникальных решений проекта относится модуль для работы с docx-файлами, благодаря которому система имеет возможность вносить в документы правки в режиме рецензирования, оставлять комментарии, работать с метаданными, читать файл в трех разных режимах отображения исправлений и т.д. На языке программирования Python нет более полного решения для данных задач.
При анализе договоров система использует разные подходы к систематическому поиску киберрисков: анализ глав, анализ приложений, сравнение договора с типовой формой, поиск ключевых слов, модель искусственного интеллекта.
Тот факт, что система анализирует договоры, комбинируя разные подходы, позволяет достичь положительного результата: сокращение трудозатрат при анализе договоров и снижение влияния человеческого фактора.
- Использованное ПО
Основные модули для языка Python:
- scikit-learn – модуль для разработки моделей машинного обучения;
- natasha – модуль NLP для русского языка, решающий проблемы токенизации, сегментации предложений, лемматизации и т.д.;
- fuzzywuzzy – модуль, используемый для нечеткого сравнения (используется расстояние Левенштейна);
- lxml – модуль для работы с гипертекстом, используя который, было реализовано взаимодействие с docx-файлами для ряда задач;
- python-docx – модуль для работы с docx-файлами;
- docxcompose – модель для слияния пары docx-файлов в один документ.
При разработке разных моделей и подходов использовались AutoNer и PyTorch. Обучение происходило на GRU.
Для развертывания системы используется серверное оборудование с OS RedHat.
- Сложность реализации
В связи с тем, что для docx-файлов нет модуля, который бы удовлетворял всем нашим требованиям: включал добавление комментариев, обработку вставок и удалений в текст в режиме рецензирования, чтение текста из документа в разных режимах рецензирования, мы реализовали подход, работающий с файлами на низком уровне – уровне внесения изменений в гипертекст.
Проектирование этой библиотеки резко повысило сложность реализации проекта. Кроме того, данные договоров и их разметка, нехватка данных для обучения — все это стало причиной того, что сложным моделям, типа LSTM или BERT, было тяжело обучиться, выявлять необходимые зависимости и показать приемлемое качество, не переобучившись.
- Описание проекта
Бизнес каждой крупной организации зависит в числе прочего от цепочек поставок. Работа поставщиков и подрядчиков влияет на многие аспекты деятельности компании и может стать причиной различного рода рисков, в том числе и рисков кибербезопасности. Недостаточная зрелость поставщиков может привести к утечкам данных, вирусным заражениям и другим рискам кибербезопасности.
Поэтому важно фиксировать в договорах требования кибербезопасности к контрагентам. К их числу относятся:
- Требования к обеспечению конфиденциальности информации;
- Требования кибербезопасности при подключении контрагента к инфраструктуре банка;
- Другие.
В Сбере разработано более 200 различных типовых форм договоров, учитывающих все необходимые требования кибербезопасности к деятельности контрагентов. Вместе с тем возникают ситуации, когда контрагент не согласен с типовой формой договора и хочет внести в него изменения. Такие нетиповые договоры обязательно проходят согласование с подразделениями кибербезопасности банка.
Всего на согласование в кибербезопасность попадает около 3000 договоров в год. Ранее контракты анализировались вручную, и анализ одного контракта занимал в среднем 3,5 часа. Для автоматизации анализа и принятия решений по заключению договоров мы разработали продукт DocAnalyzer.DocAnalyzer – система, автоматизирующая процесс анализа нетиповых договоров с контрагентами Сбера (поставщиками, вендорами, клиентами) на соответствие требованиям кибербезопасности.
В среднем в год в банке заключается порядка 3000 контрактов, требующих анализа и обнаружения возможных рисков кибербезопасности. Проводимый вручную, анализ одного контракта раньше занимал в среднем 3,5 часа — DocAnalyzer сократил время оценки вдвое и исключил ошибки, обусловленные человеческим фактором. Проверка реализуется как алгоритмическим путем (по ключевым словам, через сравнение с эталонной формой контракта), так и с помощью AI-моделей.
При составлении договора, контрагенты допускают разного рода ошибки: начиная с распространенных, например, забывают прикрепить к договору требуемое приложение о кибербезопасности, заканчивая сложными логическими ошибками, которые тяжело выявлять. Для решения задачи автоматизации процесса проверки таких нетиповых ошибок в договорах было решено разработать продукт, который смог бы учитывать разного рода ошибки контрагентов, а также вносить правки в сами договора, исправлять их.
Как происходит анализ текста
DocAnalyzer обрабатывает договоры, представленные в docx-формате. Сначала договор разбивается на главы, каждая из которых имеет свой определенный сценарий анализа. Система анализирует главы и их содержание, проверяет наличие обязательных пунктов и приложений к документу.
Правила анализа глав разные. Некоторые должны полностью соответствовать типовой форме, согласованной в банке. Все правки в договоры DocAnalyzer вносит строго в режиме рецензирования (без скрытых правок), что позволяет сотрудникам в удобном формате наблюдать результат работы системы, отменять некорректно внесенные правки и в то же время не бояться пропустить скрытие правки.
Поиск по ключевым словам – одна из особенностей системы. Наши эксперты составили перечень слов и словосочетаний, которые обычно свидетельствуют об ошибке, допущенной контрагентом. Они делятся на типы: в некоторых случаях важно только первое включение слова или фразы в договор, в других – важны все включения. Если система находит такое слово или фразу, она оставляет комментарий в режиме рецензирования. В планах добавить AI-модель, которая будет классифицировать контекст ключевых слов, отвечая на вопрос: «В данном случае следует оставить комментарий или нет?»
Стоит отметить, что тексты договоров анализируется не только по строгим, заранее настроенным правилам, но и с помощью AI-модели. Она рассчитывает вероятность наличия киберрисков для каждого предложения анализируемого ею текста. Если этот показатель превышает установленный порог, текст договора подсвечивается красным или желтым цветом в зависимости от степени вероятности киберриска.
Мы провели множество экспериментов, где данные по-разному обрабатывались, перемешивались, выбиралась разная длина контекста и разные архитектуры моделей, например, GRU, LSTM и BERT. Опытным путем мы пришли к выводу, что наилучшее качество показывает модель TF-IDF с логистической регрессией.
В завершении анализа и внесения всех необходимых правок в договор система возвращает его скорректированный вариант сотруднику.
Пример работы системы 1
Пример работы системы 2
Пример работы системы 3
- География проекта
- Российская Федерация