Стажировка по проекту
Компания: ООО «ВанДеливери»
Разработка рекомендательной системы для интернет-магазина
Суть проекта
Задача
Для чего
Вводные данные
Выходные данные
Создание автоматизированной рекомендательной системы для мобильных приложений на платформе One Delivery
1. Эффективный апсейл:Увеличение величины чека за счет эффективных рекомендаций
2. Автоматизация и исключение человеческого фактора: Автоматическая настройка списков рекомендаций для улучшения эффективности и актуальности
Данные по историям покупок через приложение
Рекомендации, сделанные на основе системы и визуального и сходства
Участники
1 команды проекта
  • Терещенко Алексей
    Тимлид проекта
    Алексей — руководитель группы разработчиков, отвечал за полную разработку проекта
  • Лещинский Игорь
    Помощник тимлида
    Игорь помогал руководителю команды организовывать процесс разработки проекта
  • Готова Наталья
    ИСПОЛНИТЕЛЬНЫЙ ДИРЕКТОР АССОЦИАЦИИ СОДЕЙСТВИЯ ПРОИЗВОДИТЕЛЯМ ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ В ЭЛЕКТРОЭНЕРГЕТИКЕ И ЖКХ «ИНСИСТ ЭНЕРГО»
    • Проведен анализ датасета цветочного магазина с платформы Kaggle, включая изучение особенностей продукции, поведения клиентов и т.д.
    • Применена матричная факторизация для анализа клиентов и товаров, разработана система рекомендаций для новых клиентов.
    • Выявлены особенности повторных покупок и проблемы с кластеризацией и матричной факторизацией из-за отсутствия данных о периодичности и сезонности букетов.
    • Проведена классификация цветов и изображений с использованием модели Resnet 50 на датасете Oxford flowers 102.
    • Исследованы модели рекомендаций, такие как LightFM и Transformer, с оценкой их применимости при ограниченных данных.
    • Разработан метод поиска сходства букетов по цветам RGB с использованием косинусного сходства.
    • Начата разметка датасета по характеристикам букетов, включая тип обертки, цвет, стиль и т.д.
    • Реализовано отображение сопутствующих товаров вместе с букетами, с учетом уже купленных товаров для предотвращения дублирования в корзине.
    • Добавлены метрики, такие как количество просмотров и конверсий, в датасет, и разработан код для запуска функций рекомендаций на сервере в реальном времени
  • Новикова Элина
    специалист по закупкам ООО НПФ Винар.
    • Предобработка датасета с использованием библиотеки pandas, включая очистку и нормализацию данных;
    • Добавление новых синтетических параметров к датасету для обогащения анализа и повышения точности последующей кластеризации;
    • Кластеризация товаров и заказчиков с применением метода "локтя" для определения оптимального числа кластеров;
    • Проработка метода Матричной факторизации, который не привел к значимому улучшению результатов;
    • Разработка модели рекомендательной системы с использованием библиотеки LightFM, достижение результата с Precision = 0.61764705 и Recall = 0.8660535325241208;
    • Применение модели TensorFlow Recommenders для построения рекомендательной системы, получение высокой точности с результатом factorized_top_k/top_5_categorical_accuracy: 0.9425;
    • Анализ результатов и сравнение эффективности разных подходов к построению рекомендательных систем, включая оценку точности и полноты
  • Фокша Иван
    инженер-испытатель ракетно-космических комплексов.
    • Изучение различных методов компьютерного обнаружения схожих изображений, включая анализ научных и практических источников по теме;
    • Оценка сложности, эффективности и применимости разнообразных алгоритмов для задачи поиска схожих изображений;
    • Выбор наиболее подходящего метода, учитывая баланс между простотой реализации и эффективностью работы алгоритма;
    • Реализация выбранного метода, включая написание программного кода и настройку необходимых параметров;
    • Тестирование реализованного метода на различных наборах изображений для оценки его способности корректно обнаруживать схожие изображения;
    • Анализ полученных результатов, включая оценку точности и скорости работы реализованного метода по сравнению с другими изученными подходами
Участники
2 команды проекта
  • Ларина Нина
    Помощник тимлида
    Нина помогала руководителю команды организовывать процесс разработки проекта
  • Зверев Алексей
    Предприниматель. Инвестиционная деятельность.
    • Использована библиотека pandas для обработки исходного датасета, приведение его к нужному формату;
    • Применена библиотека sweetviz для анализа и визуализации данных;
    • Рассмотрены фреймворки QRec, Cornac и Tensorflow-Recommenders для базы рекомендательной системы;
    • Выбран фреймворк Tensorflow-Recommenders из-за лучшего соответствия датасету и не требования больших объемов данных для обучения;
    • Написан код в Jupyter Notebook (Google Colab) для скачивания, обработки данных и обучения модели, результат сохранён в формате csv;
    • Код перенесён и адаптирован из Jupyter Notebook в Python с использованием виртуального окружения Python 3.11 и 3.10;
    • Проект развернут на сервере Ubuntu 22.04 с базовым Python 3.10, настроено виртуальное окружение, установлены необходимые библиотеки, настроено логирование и проверена работоспособность
  • Иванова Анна
    Экономист-менеджер (антикризисное управление)
    • Изучен материал по рекомендательным системам;
    • Освоены навыки работы с табличными данными для подготовки дата фрейма;
    • Определен алгоритм подготовки данных для нейронной сети;
    • Написан код для создания рекомендательной системы на основе схожести цветовой гаммы цветов и букетов. Включает предобработку изображений, классификацию цветовой гаммы, создание признакового пространства, преобразование входных данных для модели НС, создание, обучение;
    • Обучение, тестирование модели Random Forest и вывод графических результатов
  • Смирнов Алексей
    Генеральный директор
    • Предоставленные датасеты объединены с данными, полученными через GET-запрос, используя библиотеку pandas для обработки данных;
    • Полученный итоговый датасет изучен и визуализирован с помощью библиотеки SWEETVIZ для получения более полного представления о его характеристиках;
    • На основе обработанного датасета обучена нейронная сеть с использованием TensorFlow Recommenders (tfrs);
    • Результаты обучения нейронной сети, представленные в виде рекомендаций для каждого заказчика, записаны в файл CSV;
    • Реализована визуализация рекомендаций, отражающая сходство с предыдущими покупками заказчика. В случае отсутствия заказчика в базе данных, выдается рекомендация для последнего заказчика;
    • Создана виртуальная машина на локальном компьютере с операционной системой Ubuntu 22.04. На этой виртуальной машине запланировано выполнение GET-запроса по расписанию для обновления данных
  • Ямпольский Александр
    Юрист
    • Создание справочника по созданию рекомендательных систем;
    • Анализ, предобработка, обработка, очистка данных, поиск аномалий (выбросов, шума и т.д.) в данных (Numpy, Pandas);
    • Визуализация корреляций и результатов обучения с помощью Matplotlib, Seaborn.
    • Построение моделей предсказания с использованием методов классического машинного обучения (sklearn);
    • Создание фильтра для данных с помощью функций среды разработки;
    • Создание гибридной рекомендательной системы
  • Разживин Георгий
    Юрист
    • Автоматизация скачивания данных с сервера заказчика и создание итогового датасета;
    • Создание рекомендательной системы на основе автокодировщика и поиска похожих изображений товаров с помощью Евклидова расстояния;
    • Работа над улучшением качества работы сети
Демонстрация проекта
1 команды
Демонстрация проекта
2 команды