ML и автоматизация классификации 100+ банковских операций: от старта до прода за 3 месяца
Наш опыт разработки и внедрения системы автоматизации проведения банковских выписок с применением ML в короткие сроки. Как генерили фичи, препроцессили данные, боролись с кривой разметкой, переносили на dotnet и выстраивали мониторинг.
денежных средств с транзакционного счета Опечатки и отсутствие пробелов нолог = налог, чет = счет Транслит и опечатки в транслите schet и shet = счет 9
денежных средств с транзакционного счета Опечатки и отсутствие пробелов нолог = налог, чет = счет Транслит и опечатки в транслите schet и shet = счет Текст на русском и английском языках 10
? Операция 3, тип ? Операция 4, тип ? Операция 5, тип ? Банковские выписки поступают в систему Выписки состоят из операций, для дальнейшей обработки нужно определить тип каждой
? Операция 3, тип ? Операция 4, тип ? Операция 5, тип ? Банковские выписки поступают в систему Выписки состоят из операций, для дальнейшей обработки нужно определить тип каждой Сотрудник операционного отдела проверяет документ, определяет тип каждой операции
из операций, для дальнейшей обработки нужно определить тип каждой Сотрудник операционного отдела проверяет документ, определяет тип каждой операции Операции отправляются в другие системы Операция 1, тип ? Операция 2, тип ? Операция 3, тип ? Операция 4, тип ? Операция 5, тип ? Операция 1, тип N Операция 2, тип M Операция 3, тип X Операция 4, тип Y Операция 5, тип Z
Снижение количества ошибок 17 Операция 1, тип ? Операция 2, тип ? Операция 3, тип ? Операция 4, тип ? Операция 5, тип ? Операция 1, тип N Операция 2, тип M Операция 3, тип X Операция 4, тип Y Операция 5, тип Z
2, тип ? Операция 3, тип ? Операция 4, тип ? Операция 5, тип ? Операция 1, тип N Операция 2, тип M Операция 3, тип X Операция 4, тип Y Операция 5, тип Z ML
типов операций И много правил определения типа для каждой Текстовые данные Выплата купонного дохода… Плата за найм… Категориальные данные Род сделки, тип счета, валюта…
типов операций И много правил определения типа для каждой Перевод по договору №12345 ➝операция X Перевод по договору №12345-АБВ ➝операция Y Текстовые данные Выплата купонного дохода… Плата за найм… Категориальные данные Род сделки, тип счета, валюта…
операций И много правил определения типа для каждой Перевод по договору №12345 ➝операция X Перевод по договору №12345-АБВ ➝операция Y Перевод по договору от ООО “Рога и Копыта” ➝операция Z 25 Текстовые данные Выплата купонного дохода… Плата за найм… Категориальные данные Род сделки, тип счета, валюта…
быть Y, но в БД она сохраняется как X Какой тип операции мне проставить? Ставь X и отправляй мне! ?! Операционист нашей системы «Контроллер» в следующей системе
Y, но в БД она сохраняется как X В БД не сохраняется информация о том, почему Y стал X 30 Операционист нашей системы «Контроллер» в следующей системе ?! Какой тип операции мне проставить? Ставь X и отправляй мне!
транслитерации из open-source библиотеки iuliia + свой алгоритм обратной транслитерации Проблемы транслита: — Минимум 14 действующих “стандартов” — Не все их корректно реализуют 39
транслитерации из open-source библиотеки iuliia + свой алгоритм обратной транслитерации Проблемы транслита: — Минимум 14 действующих “стандартов” — Не все их корректно реализуют — Некоторые придумывают свои стандарты 40
Macro – усредненное качество по каждому типу операции Final: 2 BERT + FCNN Micro F1 = 0.9746 Macro F1 = 0.9144 Baseline: CatBoost Micro F1 = 0.8 Macro F1 = 0.6
для английского текста Русский текст Возврат платежа… Английский текст Transfer of funds… regex извлечение фичей Эмбеддинг [0.96, … 0.64] Эмбеддинг [0.83, … 0.21] Категориальные фичи из текста НДС, НДФЛ, keywords… Текст назначения платежа Классификатор операций Категориальные фичи Род сделки, валюта и т.д. Операция Подготовка фичей Эмбеддинги [0.83, … 0.21] Эмбеддинги [0.83, … 0.21]
– OnnxRuntime — Инференс моделей ускорился в 1.3-1.5 раза — Закэшировали наиболее частые назначения платежа – сократили количество запусков BERTов — Ускорение в 3.5 раза
OnnxRuntime — Инференс моделей ускорился в 1.3-1.5 раза — Закэшировали наиболее частые назначения платежа – сократили количество запусков BERTов — Ускорение в 3.5 раза — Добавили автоскейлинг 56
На каждые 10 000 операций имеем 40-50 ошибок, которые необходимо найти и заменить, 200-250 операций не заполняем — Продолжаем работу над качеством — Добились прозрачности процесса, покрыли метриками 67