Гитхаб | Линкедин

Введение

Системы рекомендаций приобрели огромную популярность среди электронной коммерции и онлайн-СМИ за последние несколько лет, чтобы увеличить взаимодействие с пользователем. Многие из наших повседневных решений основаны на персонализированных рекомендательных системах, которые стали возможными благодаря алгоритмам машинного обучения. Некоторые распространенные рекомендательные системы — это предложения Netflix для фильмов, музыки в Spotify, Google Ads и рекомендации продуктов на Amazon. Существует два основных типа систем рекомендаций, используемых большинством компаний. СОДЕРЖИМОЕ И СОВМЕСТНОЕ. Рекомендательные системы на основе контента используют характеристики товара, чтобы рекомендовать похожие продукты. Например, если я фанат Агаты Кристи, система порекомендует мне другие книги того же автора или уютные детективы других авторов. Система совместных рекомендаций объединяет похожие типы пользователей, чтобы рекомендовать элемент, который один пользователь из кластера рекомендовал другим пользователям, которые не пробовали этот элемент. В этой статье я изучил основные концепции систем совместных рекомендаций, используя набор данных характеристик книг от Goodreads. Как и в любом другом проекте по машинному обучению, я начал с исследовательского анализа данных и завершил его кодами для базовой системы рекомендаций на основе пользователей.

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

Набор данных

Данные взяты из UCSD Book Graph. Для этого проекта я использовал полный книжный граф из метаданных книг и Книжных рецензий. Подмножество из 150 тыс. книг было использовано из набора данных графа книг, содержащего 27 функций, включая название, издателей, рейтинги, image_url, язык и т. д. Набор данных обзора содержал 10 тыс. строк идентификатора пользователя, идентификатора книги и пользовательского рейтинга, которые были отсортированы по книгам. опубликовано в период с 2000 по 2017 год из набора данных книжного графика. Я использовал RStudio для этого проекта.

ЭДА

Для исследовательского анализа данных были исследованы следующие вопросы:

  • Количество книг, издаваемых каждый год
  • Как количество страниц влияет на популярность?
  • Какие книги имеют максимальное количество версий?
  • Какие самые популярные языки?
  • Как изменилась популярность электронных книг за последнее десятилетие?
  • Какой формат наиболее популярен?
  • Как связаны средний рейтинг и популярность?
  • Какие рейтинги более вероятны?
  • Топ-10 издателей и их популярность?

Количество книг, издаваемых каждый год

На рис. 1 и рис. 2 показано количество публикаций в период с 1900 по 2017 год из моего набора данных. Было замечено, что большинство книг в наборе данных были выпущены в период с 2000 по 2017 год, и строки, содержащие книги этих лет, были отфильтрованы. Также было замечено, что количество публикаций увеличилось после 2007 года. Именно тогда был запущен Kindle, и электронные книги начали набирать популярность.

Количество страниц

Количество оценок считается оценкой того, сколько людей прочитало книгу или ее популярность. Как видно из диаграмм рассеяния количества страниц в зависимости от среднего рейтинга (рис. 4) и количества страниц в зависимости от количества оценок (рис. 5), толстые книги менее популярны, но в основном имеют высокие оценки с очень небольшим количеством выбросов. Самые популярные книги имеют объем от 200 до 400 страниц.

Количество авторов и количество версий

В моем наборе данных есть книги до 51 автора. Видно, что книги с более чем 10 авторами имеют высокий рейтинг, хотя соотношение не является линейным, поскольку было много высоко оцененных книг от одного автора, но очень немногие книги с более чем 10 авторами имеют рейтинг ниже 3 (рис. 5). Есть несколько книг с множеством версий, включая языки, форматы и издания. Наибольшее количество версий из моего набора данных — Stolz und Vorurteil (рис. 6), что в переводе с немецкого означает «Гордость и предубеждение». Существует 3000 версий этого романа Джейн Остин 1813 года, опубликованных на разных языках.

Язык и формат

Как видно из гистограммы на рис. 8, самым популярным языком является английский, за ним следуют испанский, арабский и французский. Кроме того, Kindle оказывает большое влияние на поведение людей при чтении. Kindle более популярен, чем все другие формы электронных книг.

Средний рейтинг и популярность

По мере увеличения числа читателей средний рейтинг начинает падать. Как видно из рис. 9, ни одна книга со средним рейтингом 5 не имеет более 500 отзывов. В случае с книгами средний рейтинг 3,5 или выше можно считать безопасным, если речь идет о популярности. Есть критики даже для лучших произведений. ТРУДНО УДОВЛЕТВОРИТЬ ВСЕХ!

Издатели

CreateSpace, платформа самостоятельной публикации, принадлежащая Amazon, опубликовала максимальное количество книг (рис. 10) из набора данных. Книги, опубликованные CreateSpace, имеют высокий рейтинг (рис. 11) и довольно популярны, чтобы попасть в десятку лучших по количеству оценок из моего набора данных. Это еще один пример того, как все больше и больше людей адаптируют Kindle. Издательство Vintage, расположенное в Нью-Йорке, является самым популярным издателем многих книг с высокими рейтингами.

Популярность электронных книг

После выпуска Kindle в 2007 году популярность электронных книг резко возросла. Как видно из рис. 13, количество электронных книг сократилось после 2011 года. Именно тогда Kindle предоставила платформу для самостоятельной публикации для фрилансеров и независимых писателей. В 2011 году Kindle помог Amazon достичь дохода в 10 миллиардов долларов.

Система рекомендаций

Для этого проекта я исследовал совместные рекомендательные системы. Существует два типа систем совместных рекомендаций. На основе элементов и пользователей.

Совместная система рекомендаций на основе предметов

Модель рекомендательной системы на основе товаров была предложена Amazon в 1998 году. Она учитывает сходство между товарами и частоту, когда пользователи покупают товары вместе. Например, если пользователь просматривает книгу Агаты Кристи «Убийство Роджера Экройда», модель будет искать пользователей, которые уже рекомендовали книгу ранее, а затем проверять книги, рекомендованные/покупаемые этими пользователями. На рисунке (рис. 14) это делается путем сопоставления оценок книг, купленных с текущей книгой.

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

В рекомендательной системе на основе пользователей проверяется сходство между пользователями. Как показано на рис. 15, и пользователь 1, и пользователь 2 являются поклонниками Агаты Кристи и порекомендовали 3 ее книги (кто не любит ее загадки!!!). Теперь user2 порекомендовал «Шерлока Холмса», тоже похожего жанра. Основываясь на этом поведении, модель также порекомендует Шерлока Холмса пользователю 1. Это рекомендательная модель на основе пользователей.

Основы математики

Чтобы визуализировать модель системы совместных рекомендаций, мы должны сначала понять матрицу элементов пользователя и функцию сходства. Матрица элементов пользователя, сгенерированная из набора данных обзора книги, показана на рис. 16. Каждая строка представляет пользователя, а каждый столбец представляет книгу. Записи представляют собой рейтинги, которые каждый пользователь дает книгам, которые они прочитали. В матрице много НП, поскольку каждый пользователь не читал каждую книгу. Ввиду простоты вычислений вводится функция подобия. Существует много типов функций подобия, таких как косинусное сходство, коэффициент корреляции Пирсона, евклидово расстояние и т. д. В этом проекте используется косинусная функция подобия (рис. 17). Как показано в матрице (рис. 18), функция подобия косинусов может быть реализована по строкам (на основе пользователей) или по столбцам (на основе элементов). Косинусное сходство между U1 и U5 максимально, поэтому книга, которую U5 читал, а U1 не читал, будет рекомендована U1. Для подхода, основанного на элементах, косинусное сходство между B1 и B5 максимально, поэтому пользователю, который читает B1, будет рекомендован B5, если он еще не читал B5.

Лучшие рекомендуемые книги для пользователей 2955

Используя модель, пользователю 2955 были рекомендованы следующие книги. Книги с URL-адресами изображений извлекали изображения. Столбец подсчета представляет количество похожих пользователей, а столбец рейтинга возвращает оценку, которую эти пользователи поставили данной книге.

Выход:

Будущие работы

Для будущей работы я планирую создать гибридную систему рекомендаций на основе контента и совместной работы и внедрить некоторые выводы из EDA для фильтрации (например, толстые книги менее популярны). Можно создать масштабируемую панель инструментов с кодами на задней панели, которую можно использовать на платформах электронной коммерции книг. Чтобы протестировать окончательную модель, A/B-тестирование является важным компонентом, поскольку невозможно определить эффективность модели системы рекомендаций, не применяя ее для реальных пользователей.

Рекомендации

Менгтинг Ван, Джулиан Маколи, Рекомендация по элементам монотонных цепочек поведения в RecSys’18.

Менгтинг Ван, Ришаб Мишра, Ндапа Накашоле, Джулиан Маколи, «Методическое обнаружение спойлеров из крупномасштабных обзорных корпусов», в ACL’19.