kvandake / scoring-system

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

Home Page:scoring-system-git-main.brutforce.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🛸 BankSpy 🛸

You can try it now!

Навигация

Описание

Как работает система

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

Над созданием проекта работают Кристина, Алексей, Анна, Сергей, Виктор .

Как пользоваться системой

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

Чтобы ознакомиться с моделью, по которой рассчитывалась рекомендательная система нужно нажать на кнопку Рекомендация Продукта

Добавить в базу новый профиль:

  • Нажимаем на кнопку Добавить ссылки и добавляем профиль пользователя для дальнейшего распознавания.

Загрузка фотографии в систему:

  • Загружаем фотографии человека, перетащив фото или загрузив его с компьютера;
  • Чтобы загрузить новое фото пользователя, нужно нажать кнопку Удалить Фото.

Поиск по профилю:

  • Происходит автоматически после нажатия кнопки Определить.

Поиск услуг:

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

О проекте и технологиях.

Архитектура

Взаимодействия Backend 'a и CV: Для задач CV поднят веб-сервер, который умеет обрабатывать 4 типа запросов:

  1. /add_data
  • Добавление данных в базу
  • Входные данные json - {"urls": ["vk.com/id1"],"count": "12"}
  • Выходные данные json - "OK" ( информация о том, что профиль добавлен)
  1. /search
  • Поиск по базе
  • Входные данные json - {"url":"vk.com/image.jpg","thresh":"0.4"}
  • Выходные данные json - {"id":"12345","count":"10","age":"23"}
  • Id - vk_Id
  • count - количество фотографий, для которых косинусная метрика превысила порог,
  • age - возраст
  1. /get_info
  • Получение данных о конкретном пользователе
  • Возвращает информации из API VK, API ФСИП + скоринг
  • Входные данные json - {"id":"1"}
  • Выходные данные json - {"data":{...},"bdip":{..},"score":"15"}
  1. /get_recommend
  • Получение услуги на основе score
  • Входные данные json - {"score":"value"}
  • Выходные данные Json - {"item":"продукт"}

Действия пользователя оборачивается в методы, которые поддерживает CV-сервер.

Используемые API:

Computer Vision & Machine Learning

Технонологии:

Нейронные сети :

  • Face Detecton - RetinaFace
  • Face Alignment - DenseUNet
  • Face Recognition + Age - LResNet100E-IR

Получение эмбеддинга :

Face Detecton -> Face Alignment -> Face Recognition

Поиск по выгруженным профилям:

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

Frontend & Backend

Frontend

Backend

UI/UX Design

Дизайн интерфейса создаввался с помощью Figma

Рекомендательная система на основе скоринга

Скоринг был использован для расчета уровеня принятия рисков инвестиций (номер от 1 до 10, соответствующий диапазону суммы баллов скоринга) и приближен к модели поведенческого скоринга (используется для выдачи банковских кредитов). Когда ряд параметров финансового профиля клиента добавляют в общую сумму скоринга фиксированное кол-во баллов: от 0 до 15. При этом, чем параметр важнее - тем больше баллов он может добавить (это кол-во баллов также называется весом параметра). Максимальная сумма составляет 121, минимальная - 0 баллов.

Модель рекомендательной системы на базе персонального скоринга физлица

Планы на будущее

  1. Добавление внешних API(yandex, facebook и другие сервисы по получению данных);
  2. Возможное добавление обработки фотографий с их названиями на русском языке;
  3. Подробный анализ изображения на фото:
    • оценка стоимости одежды на человеке,
    • поиск автомобильных номеров,
    • использование информации о геолокации на фотографии

About

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

scoring-system-git-main.brutforce.vercel.app

License:MIT License


Languages

Language:TypeScript 80.1%Language:Python 17.7%Language:JavaScript 1.6%Language:SCSS 0.7%