Использование scikit-surprise и Streamlit

Фон

В 2021 году на японском рынке манги продажи выросли на 10,3%, в результате чего общий объем продаж достиг 675,9 млрд иен. Продажи манги в настоящее время составляют 40,4% всех внутренних издательских продаж в Японии, впервые преодолев 40-процентный барьер (AnimeHunch).

Согласно отчетам (AnimeNewsNetwork), продажи манги составили 76,71% всех продаж графических романов для взрослых в США в 2021 году.

Вхождение в мир манги может оказаться сложным процессом, поскольку на выбор предлагается более 100 000 томов. Даже опытные геймеры всегда найдут для себя новые игры.

Цель

Создайте рекомендательную систему, чтобы снизить входной барьер в мир манги.

MyAnimeList (MAL) — крупнейшее сообщество аниме и манги в Интернете. У него есть сообщество из сотен тысяч людей, которые активно оценивают, делятся и обсуждают названия манги.

Цель этого проекта — создать пользовательскую систему рекомендаций по манге на основе рейтинговых списков пользователей MAL.

Готовое приложение можно посмотреть здесь.

Оглавление

  1. Очистка веб-страниц. Поиск в Интернете рейтингов манги пользователей.
  2. EDA: очищайте, предварительно обрабатывайте и исследуйте извлеченные данные.
  3. Моделирование. Найдите самую эффективную модель машинного обучения.
  4. Развертывание приложений. Разработайте и разверните рекомендательную систему в Интернете.

Веб-скраппинг

Откуда данные?

  1. MyAnimeList (MAL): крупнейшее в мире онлайн-сообщество аниме и манги.
  2. Рейтинги пользователей манги: вычищены рейтинговые списки более 16 000 пользователей, всего 1,16 млн оценок.
  3. Клубы пользователей: сообщества пользователей внутри MAL.
  4. Клуб рекомендаций: крупнейший клуб пользователей в MAL (~32 тыс. пользователей).

Исследовательский анализ данных (EDA)

Исследование и обработка данных

  • Непропорциональное количество оценок 0

54% из 1,16 млн оценок были равны 0!

  • 20 лучших названий манги

  • 13 из 20 названий манги в обоих списках

  • Удаление всех оценок 0

2200 пользователей и всего 0 оценок — ненавистники

7 194 названия с нулевым рейтингом — никому они не нравятся

  • Удаление заголовков с небольшим количеством точек данных

Самое популярное название имеет 3309 оценок.

Удалены заголовки с менее чем 1% от этого (34 рейтинга).

Моделирование

Оценка лучшей модели

  • Метрики оценки

Precision@k и Recall@k

k= 10 лучших рекомендаций

Порог релевантности установлен на ›=7

Название манги с рейтингом ›=7 считается релевантным.

Precision@k: сколько из 10 лучших рекомендаций рекомендателя были актуальны для пользователя?

Оценка Recall@k.Сколько из всех релевантных названий манги, которые оценил пользователь, попали в топ-10 рекомендаций?

  • Базовая модель

Случайным образом выберите 10 названий для каждого пользователя.

Расчетные баллы на основе этих рекомендаций.

  • Результаты оценки

→ Показанные баллы являются средним значением, полученным за 5 перекрестных проверок.

→Модели машинного обучения значительно превосходят случайные эксперименты

→ Базовая модель была выбрана только для лучшей производительности

Развертывание приложения

Разработка и развертывание приложения в Интернете

  1. Установите флажок, если хотите видеть рекомендации для взрослых. Влияет на жанры, доступные на шаге 2.
  2. Выберите жанры, которые вы хотите видеть в своих рекомендациях. В рекомендациях будут показаны только заголовки, содержащие хотя бы один из жанров.
  3. Выберите любое количество ваших любимых названий манги а) Вы также можете искать, используя альтернативные названия или японские названия
  4. Нажмите порекомендовать!

Ссылка на потоковое приложение.

Ограничения системы рекомендаций

  • Рекомендовать можно только названия манги, которые присутствуют в данных рекомендательной системы (около 2900 наименований).
  • Данные были удалены в марте 2022 года. Следовательно, новые названия не будут включены.
  • Данные собираются из крупнейшего сообщества пользователей MAL, «Клуба рекомендаций», поэтому рейтинги не представляют всех читателей манги.

Наконец, вот ссылка на репозиторий кода GitHub.

https://github.com/only-rohit/Manga_Recom