Русский
Русский
English
Статистика
Реклама

Societe generale

О том, как искусственный интеллект помогает сэкономить время, или как мы встраивали ИИ в бизнес-процесс открытия счета

28.08.2020 10:04:17 | Автор: admin
Всем привет!

Мы с командой представляем направление развития бизнеса с партнерами Росбанка. Сегодня хотим рассказать об успешном опыте автоматизации банковского бизнес-процесса с использованием прямых интеграций между системами, искусственного интеллекта в части распознавания образов и текста на базе GreenOCR, РФ-законодательстве и подготовке сэмплов для обучения.

image

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

Основные поля документа фамилия, имя, отчество, дата рождения клиента и др. содержатся практически во всех типах получаемых документов и дублируются при вводе в разные системы Банка. Наиболее сложный документ вопросник KYC (от Know Your Customer знай своего клиента) представляет собой печатную форму формата А4, заполняемую шрифтом 8 кегля и содержащую порядка 170 текстовых полей и чек-боксов, а также табличные представления.

Что нам предстояло сделать?


Основная цель, стоявшая перед нами, сократить до минимума время открытия счета.
Анализ процесса показал, что необходимо:

  1. Сократить количество ручных верификаций каждого документа;
  2. Провести автоматизацию заполнения одних и тех же полей в разных системах банка;
  3. Сократить перемещение сканов документов между системами;

Для решения задач (1) и (2) было решено воспользоваться уже внедренным в банке решением по распознаванию образов и текста на базе GreenOCR (рабочее название распознавалка). Форматы используемых в бизнес-процессе документов не являются стандартными, поэтому перед командой стояла задача разработать требования к распознавалке и подготовить примеры для обучения нейронной сети (сэмплы).
Для решения задач (2) и (3) была необходима доработка систем и межсистемных интеграция.

Наша команда под руководством Юлии Алексашиной


  • Александр Башков внутренняя разработка систем (.Net)
  • Валентина Сайфуллина бизнес анализ, тестирование
  • Григорий Проскурин интеграции между системами (.Net)
  • Екатерина Пантелеева бизнес анализ, тестирование
  • Сергей Фролов Project Management, анализ качества моделей
  • Участники от внешнего вендора (Smart Engines совместно с Философия.ит)

Обучение распознавалки


Комплект клиентских документов, используемых в бизнес-процессе, включал в себя:

  • Паспорт;
  • Согласие печатная форма формата А4, 1 л;
  • Доверенность печатная форма формата А4, 2 л;
  • Вопросник KYC печатная форма формата А4, 1 л;

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

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

  • Каждый документ может содержать текстовые поля и статический текст, меняющие свое положение в пределах печатной формы при заполнении шаблона документа реальными данными. Наиболее заметно это сказывается при распознавании многостраничного документа, когда поле может переползать с одной страницы на другую;
  • Шрифт 8-го кегля очень чувствителен к разрешению скана документа. При низких разрешениях такой шрифт не может быть распознан ни системой распознавания, ни визуально;
  • В процессе сканирования используются документы самого разного качества (зачастую невысокого) и сканеры с самыми разными техническими характеристиками;
  • Документ одного и того же типа может иметь разные шаблоны;
  • Исходная ориентация документа, использовавшаяся при сканировании, заранее неизвестна;
  • Имена файлов получаемых сканов документов могут быть произвольными и при этом могут повторяться;

Безопасность персональных данных


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

Требования > Вендор > Модель > Тестирование модели -> Запуск процесса

В случае не успешных тестов модель возвращается вендору на повторное обучение.

Ежедневно мы получаем огромное количество сканов документов, и подготовить выборку для обучения модели не должно было стать проблемой. Вся обработка персональных данных должна соответствовать требованиям Федерального закона О персональных данных N152-ФЗ. Согласия клиентов на обработку персональных данных клиентов есть только внутри Росбанка. Передать вендору, для обучения модели, документы клиентов мы не можем.

Рассматривалось три пути решения проблемы:

  1. Распространить и обеспечить себя типовыми формами согласий всех клиентов на передачу персональных данных на случаи передачи данных вендору, что означало бы пройти долгий путь всех необходимых согласований в крупной компании, что, в свою очередь, ставило бы под угрозу соблюдение сроков проекта;
  2. Маскировать готовые данные. Этот путь означал бы высокий риск получения неточной модели и высокие трудозатраты на подготовку выборки документов, так как каждый документ пришлось бы обрабатывать вручную удалять (маскировать) персональные данные, а также проводить заключительную проверку всего массива подготовленных документов на предмет правильности и полноты удаления персональных данных;
  3. Синтезировать (имитировать) документы из несуществующих данных. Было ясно, что этот путь потребует привлечения подразделений банка для синтеза, печати и сканирования документов и, следовательно, значительного объема ручной работы, но при этом обеспечит максимальную гибкость и оперативность внесения изменений;

Обучение модели


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

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

Обучение нейронной сети, разметка областей и настройка форм проходили на стороне вендора.

image

По причине ограниченных сроков, обучение модели разбили на 2 этапа.

На первом этапе было проведено обучение модели распознаванию типов документов и грубому распознаванию содержимого самих документов:

Требования > Вендор > Подготовка тестовых данных-> Сбор данных-> Обучение модели по распознаванию форм > Тестирование форм -> Настройка модели

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

Подготовка тестовых данных в разных разрешениях -> Сбор и передача данных вендору -> Обучение модели -> Тестирование модели -> Калибровка модели -> Внедрение модели > Проверка результатов в бою -> Выявление проблемных кейсов -> Имитация проблемных кейсов и передача вендору -> Повторение шагов с тестирования

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

Тестирование


Так как контур обучения модели находился на стороне вендора и не был связан с системами банка, после каждого цикла обучения модель передавалась вендором в банк, где проводилась её проверка на тестовой среде. В случае успешной проверки модель переносилась на сертификационную среду, где проводилось ее регрессионное тестирование, и далее на промышленную среду, для выявления особых кейсов, не учтенных при обучении модели.
В периметре банка на модель подавались данные, результаты записывались в базу данных. Анализ качества данных проводился с помощью всемогущего Excel с использованием сводных таблиц, логики с формулами и их комбинаций vlookup, hlookup, index, len, match и посимвольного сравнения строк через функцию if.

Тестирование с использованием имитированных документов позволило выполнить максимальное количество тестовых сценариев и максимально автоматизировать процесс.

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

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

Интеграция и внутренняя разработка


Необходимая доработка систем банка и межсистемная интеграция были выполнены заранее и выставлены на тестовых средах банка.

Реализованный сценарий состоит из следующих этапов:

  • Прием входящих сканов документов;
  • Отправка принятых сканов в распознавалку. Отправка возможна в синхронном и асинхронном режиме с числом потоков до 10;
  • Получение ответа от распознавалки, сверка и валидация принятых данных;
  • Сохранение исходного скана документа в электронной библиотеке банка;
  • Инициирование в системах банка процессов обработки принятых с распознавалки данных и последующая верификация сотрудником;

Итог


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

FlexCube внедрение революционной бэк-офисной платформы в Росбанке

22.06.2020 20:08:04 | Автор: admin
Друзья, привет!

Я Никита Климов, Platform Owner Oracle FlexCube (FCUBS) для процессинга операций корпоративных депозитов, межбанковских кредитов, валютных операций и деривативов в Росбанке. Сегодня я расскажу, как мы внедряли платформу FCUBS и в чем уникальность этого проекта для российского рынка. Все подробности под катом.

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

Архитектура

Архитектура системы это классическая трехзвенка. В нашем случае backend это Oracle 12c (правда, он на текущий момент уже снят с поддержки, и мы переходим на 19сно это уже совсем другая история) и frontend IBM WebSphere. Искушенный читатель сразу задаст вопрос а почему не использовать нативный для Oracle Weblogic? И, безусловно, будет прав, потому что это первое, что рекомендовал нам сам Oracle. Но, так вышло, что для банка стандартом является именно сервер приложений IBM WebSphere, к тому же у нас ULA на этот продукт, и было принято решение адаптировать слой приложения под особенности WebSphere. Не сказать, что это было очень трудной задачей, однако ряд особенностей организации внутренних очередей все же имелся, и нашей команде пришлось провести немало часов на трехсторонних конф-коллах с поддержками Oracle и IBM.
image

В то время как мы пытались настроить тестовое окружение и показать проектной команде интерфейс, наши бизнес-аналитики проводили GAP анализ, описывали требования к функциональности и продумывали миграцию данных из старой системы. Не буду фокусироваться на миграции данных, т.к. по сути это процесс заполнения промежуточных, транспортных таблиц внутри FlexCube. Все это действо сводилось к итерационному наполнению и выверке данных до успешного выполнения миграции- ведь главное передать нужное значение в нужное поле таблицы.
Отличительная особенность нашего внедрения заключалась в том, что на замену системы с полным ручным приводом и постоянным пользовательским участием, мы создавали событийную систему на STP процессах, где предусматривалось минимальное вовлечение бизнес-пользователей. Предусмотрены лишь checkpoint для контроля процессинга. Для этого нам пришлось ломать старые бизнес-процессы и выстраивать новые.

Функциональность

Как я уже отметил ранее, система из коробки была совершенно не готова к российским реалиям, начиная с отсутствия плана счетов и заканчивая налоговым учетом. По сути это было просто ядро с набором событийных моделей, из которого надо строить космический корабль. Следовательно, вооружившись функциональными требованиями от бизнеса, мы приступили к разработке своего custom слоя на основе ядра системы. Мы разработали свой Accounting engine для генерации двадцатизначных счетов и приступили к реализации STP процессов. Исключить ручное вмешательство пользователей оказалось нетривиальной задачей, и не решалось лишь с помощью триггеров на уровне СУБД. Пришлось строить событийную логику на JOB и вводить расписание заданий. Этого тоже оказалось недостаточно, и мы вынуждены были использовать Quartz, на основе которого мы и автоматизировали наш workflow. В результате у нас в полностью автоматическом процессе происходит следующее:

  • Контракт попадает к нам из фронтовой системы Kondor+, и в зависимости от его суммы он либо автоматически авторизовывается, либо уходит на авторизацию к бизнесу;
  • После успешной авторизации система анализирует клиента является ли он клиентом головного офиса, а значит его счета лежат в GL1, либо это клиент регионов, а значит его счета лежат в GL2. Есть еще случай, когда это совершенно новый клиент, и тогда мы должны запросить его в нашей CRMсистеме и на основании полученной информации инициировать ему открытие необходимых счетов в соответствующей GL;
  • В результате процессинга система в режиме онлайн запрашивает остатки по счетам и при наличии таковых генерирует и передает в соответствующую GL необходимые проводки, формирует и отправляет SWIFT сообщения и платежки в ЕРЦ;
  • Внутри дня в системе происходят стандартные операции погашения, начисления процентов, досрочное закрытие и т.д;
  • Различную информацию о движениях по счету, контрагентах и контрактах мы автоматически передаем в ФНС, AML, Nostro. Также не забыли и об Интернет-Клиент Банке, через который клиенты видят, что происходит с их счетами после открытий и погашений депозитов;
  • Подготавливаем различную информацию для обязательной и управленческой отчетности и отдаем ее в DWH тут стоить отметить, что мы как делаем классические view для забора информации, так и генерируем транзакционные логи для IBM CDC, который в режиме онлайн забирает и агрегирует эту информацию.


Интеграция
image
Тут я для наглядности приложу нашу архитектуру и скажу лишь, что в связи с выбором frontend IBM WebSphere, было принято решение отказаться от стандартного для FCUBS Gateway, который разворачивается как дополнительное приложение и работает по старинке с листнерами и очередями, и перейти на работу c MDB Activation Specification. В результате чего мы разработали дополнительные интеграционные приложения, опубликовали их на нашем сервере и подключили к банковской интеграционной шине для взаимодействия с другими системами.
Кроме этого, у нас так же используется интеграция по средствам Systematica Modullar на основе TIBCO Rendezvous, общающийся с нашим фронтом и являющейся входной точкой для всех контрактов и ETL средство IBM DataStage. При этом функциональность на DataStage используется для интеграций, не связанных с DWH. Для одной из GL cпециально разработана логика батчевой загрузки\выгрузки данных, с проверкой статусов и breakpoints для ожидания вычислений.
image
ИТОГИ

  1. Заменили морально и технически устаревшую систему
  2. На основе ядра FlexCube создали свою платформу с неограниченными возможностями по параметризации и вариациям учета
  3. Минимизировали участие пользователей в процессе обработки дня
  4. Оптимизировали время выполнения EOD 15 минут вместо 3 часов ранее.
  5. Создали внутри банка центр компетенций и можем поддерживать и развивать платформу независимо от поставщика
  6. Практически неограниченно можем изменять usability пользовательского интерфейса и создавать любые проверочные экраны консолидированной информации для удобства контроля
  7. Внедрили систему мониторинга контрольных точек для беспрерывного процесса обработки
  8. Создали платформу, на которой готовы реализовать любой банковский продукт

image
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru