Построение полноценной рекомендательной системы

Создание эффективной рекомендательной системы в полной мере

Использование внедрений трансформера и векторной базы данных для увеличения скорости вывода

Введение

Одна из областей машинного обучения, которая меня действительно интересует, – это персонализация пользовательского опыта с помощью рекомендуемых продуктов или услуг. Чтобы реализовать эту идею, я решил работать над проектом “от начала и до конца”, начиная с сбора информации с веб-страниц, создания рекомендательной системы и, наконец, развертывания и мониторинга модели.

Фото Myke Simon на Unsplash

Постановка задачи

Представьте мир, где вы должны просмотреть до 30 минут фильма, прежде чем решить, понравится ли вам фильм, или стоит ли вам попробовать еще 30 минут другого фильма и так далее… Или мир, где вы должны полагаться на ужасный вкус в фильмах вашего друга!!!! Несомненно, это не приятный опыт, верно? Не волнуйтесь, я помогу вам. Видео ниже доступно для просмотра, если вы предпочитаете видео тексту.

Цель этого проекта – создать систему, которая точно рекомендует вам список фильмов, основываясь на фильме, который вам понравился ранее.

Общий обзор шагов

Фото Alex Litvin на Unsplash

Пожалуйста, не стесняйтесь переходить к интересующему вас разделу.

  1. Сбор данных и веб-скрапинг
  2. Очистка данных и извлечение признаков
  3. Разработка API
  4. Развертывание API
  5. Дизайн и реализация пользовательского интерфейса

Сбор данных и веб-скрапинг

Большая часть данных для этого проекта была получена с помощью Kaggle. Он содержит около 5000 фильмов (до 2016 года) и их основные характеристики, такие как имена режиссеров и актеров и т. д. Дополнительно, фильмы и их характеристики с 2017 по 2023 годы были получены путем скрапинга информации с Википедии. Кроме того, с использованием IMDB API было получено больше актуальных данных, таких как жанры фильмов, URL-адреса постеров и обзоры…