Авторы: Вринда Нараян, Аюш Гоэль, Ошин Сачдев

Мотивация

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

Обзор литературы

Анализ поведения чтения книг в социальных сетях на Goodreads и его прогнозирования бестселлеров Amazon [1]
В этом документе учитывается поведение чтения наряду с другими базовыми характеристиками, такими как рейтинг, обзоры и т. д., для анализа того, является ли книга станет бестселлером Amazon в течение месяца после публикации. Чтобы получить поведение при чтении, он извлекает такие характеристики, как среднее время чтения книги, количество статусных сообщений и т. Д. Из статусных сообщений, размещенных пользователями. Они опробовали различные модели машинного обучения, но лучшие результаты получили с помощью логистической регрессии (с точностью 88,72%).

Успех в книгах: прогнозирование продаж книг до публикации [3]
В этом документе учитываются особенности автора (популярность), книги (жанр, месяц публикации) и издателя для прогнозирования продаж. книги. Популярность автора оценивается по количеству просмотров его страницы в Википедии и продажам предыдущих книг, опубликованным на сайте bookscan. Они использовали новую модель машинного обучения «Обучение размещению», которая превзошла другие методы обучения для этой задачи.

Обработка набора данных

Мы создали набор данных, скопировав информацию о книгах из Goodreads с помощью Python beautifulsoup. Мы извлекали случайные книги, однозначно идентифицируемые по номеру ISBN. Собранный набор данных состоит из 20274 книг с характеристиками, приведенными ниже.

  1. ISBN (буквенно-цифровой): номер ISBN книги.
  2. Заголовок (строка)
  3. Автор (Строка): Имя автора.
  4. ImageLink (URL): ссылка, по которой сохраняется изображение.
  5. Краткое содержание книги (строка)
  6. Формат книги (строка)
  7. Год публикации (число)
  8. Жанр (String)
  9. Кол-во страниц (число)
  10. Рейтинг (Float): Рейтинг книги.
  11. Подсчет рейтинга (число)
  12. Количество отзывов (число)
  13. Язык (строка)
  14. Нет наград (число)
  15. Подписчики автора (количество)

Предварительная обработка

Мы горячо закодировали жанры и удалили выбросы из данных обучения. Последовательные шаги предварительной обработки показаны на рисунке 2.

Мы выделили 20% данных как данные тестирования, и набор тестов имел размер 4052, а окончательные данные поезда имели размер 16206.

Выбор функций

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

Методология и результаты

Показатель оценки
Выполняя EDA для нашего набора данных, мы обнаружили, что большинство оценок было сосредоточено в диапазоне от 3,7 до 4,3 со средним значением 3,97, как показано на рисунке 1. Чтобы точно проанализировать производительность В нашей модели возникла необходимость штрафовать неправильно предсказанные значения дальше от среднего по сравнению со значениями, близкими к среднему. В документе [2] предложена новая метрика оценки SERA, которая дает достоверные и полезные сведения о производительности моделей в задачах несбалансированной регрессии. Мы использовали аналогичную метрику с формулой, приведенной ниже.

Прогнозируйте рейтинг на основе статистических функций

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

Мы попробовали регрессию книжного рейтинга с использованием линейной регрессии (рисунок 3), регрессора дерева решений, регрессора вектора поддержки, искусственных нейронных сетей и т. Д. Результаты можно увидеть в таблице 1.

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

Поскольку большинство наших моделей не соответствовали требованиям, мы также попробовали некоторые методы ансамбля, такие как AdaBoost, Bagging, Randomforest и XGBoost, чтобы улучшить производительность деревьев решений и K ближайших соседей.

Для классификации мы разделили рейтинг, который был линейной переменной, на сегменты разных размеров, например 0,5, 0,2, 0,05, 0,01 и 0,005, и выполнили классические алгоритмы классификации. Однако использовалась метрика оценки MSE, поскольку наша первоначальная задача была задачей регрессии, а преобразование в задачу классификации является частью нашей методологии, а не постановкой задачи.

Прогноз рейтинга по обложке книги

Сначала мы преобразовали изображения книг в массивы NumPy с помощью библиотеки PIL и сделали отступы, чтобы все изображения были одинакового размера (102 X 50 X 3). Мы нормализовали данные и преобразовали их в один массив (размер функции = 15300) и взяли его в качестве входного набора функций для ИНС. Мы пробовали разные функции активации, размер и количество слоев для нашей модели ИНС, и наша окончательная модель ИНС имела 8 слоев с размерами 10, 30, 50, 100, 40, 30, 20, 10.

Мы также попробовали CNN с нормализованным изображением на входе с 5 скрытыми слоями. Структуру можно увидеть на рисунке 5.

На рисунке 6 показана эффективность ИНС на обложках книг при прогнозировании рейтинга книг. ANN on Book Covers дала обучающую MSE 0,1174 и Validation MSE 0,2500.

Прогнозировать рейтинг по сводке

Чтобы предсказать рейтинг по резюме книги, мы сначала токенизировали резюме и выполнили POS-теги для слов. Мы рассматривали только существительные, глаголы и прилагательные, частота которых в нашем корпусе ≥ 10. Такие слова, как жизнь, мир, новое, были одними из самых распространенных слов в резюме. Всего было рассмотрено 11 214 слов.

Каждое резюме было закодировано по этим словам, давая 11214 функций для каждого резюме.

Мы выполнили линейную регрессию (сверху 2000 слов), нейронные сети без регуляризации и нейронные сети с регуляризацией (L2, альфа = 0,0001). Для обеих нейронных сетей у нас было 3 скрытых слоя с размером 50 и функциями активации tanh, relu и relu соответственно, как показано на рисунке 7.

Doc2Vec - это неконтролируемый алгоритм для генерации вложений предложений (оценка). Мы также использовали doc2vec от gensim, обучили его на наших данных и сгенерировали вложения резюме. Он вернул вектор признаков размером 100, который был введен в модель случайного леса в качестве входных данных.

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

На рисунке 8 показано сравнение производительности ИНС с регуляризацией и без нее.

Обсуждение

Рейтинг на основе числовых данных

Как видно из рисунка 9, такие функции, как «Подписчики авторов», «Количество страниц», играют важную роль в определении рейтинга книги. Следует отметить интересное наблюдение: книги для детей, художественные произведения и романы с большей вероятностью будут иметь более высокий рейтинг, тогда как книги по литературе и истории с меньшей вероятностью будут иметь более высокий рейтинг.

Оценка на обложке книги

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

Мы пробовали размеры скрытых слоев [8, 16, 32, 64, 128, 256, 512]. Из рисунка 10 видно, что увеличение размера скрытого слоя не приводило к переобучению модели. Ошибка стала постоянной после размера скрытого слоя ›32. Таким образом, обложки книг не влияли на нашу модель, просто добавляли шум, и мы решили не включать его в нашу окончательную модель ансамбля.

Оценка по сводке

Слова с наибольшим значением весов в линейной регрессии при оценке из сводки можно увидеть на Рисунке 11.

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

Окончательная модель

Мы разделили данные на 80–20 разделов для валидации поездов, а также числовые и сводные модели. Мы передали прогнозируемые выходные данные этих моделей в модель линейной регрессии в качестве входных данных, чтобы получить окончательную модель. Подробную архитектуру можно увидеть на рисунке 12.

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

При анализе коэффициентов последнего слоя вес, присвоенный Summary NN, составил 0,2286, а вес Random Forest - 1,0092. Таким образом, мы видим, что числовые данные играют очень важную роль в определении рейтинга книги по сравнению с резюме.

Заключение

В рамках этого проекта мы опробовали различные модели машинного обучения и нейронных сетей, которые помогли нам прояснить наше понимание концепций машинного обучения. Подходя к нашей проблеме, мы сталкивались с различными проблемами и изначально не получали хороших результатов. Это побудило нас попробовать новые методы и привело к открытию новых концепций, связанных с машинным обучением, таких как Bagging, Ada Boost, регуляризация и т.д. -фитинг. Мы также узнали о том, как создание настраиваемой метрики лучше подходит для определенных типов проблем.

Основные выводы:

  1. Согласно весам модели линейной регрессии, влияние последователей автора является самым высоким.
  2. Основными жанрами, положительно влияющими на рейтинг, являются «Детский», «Последовательное искусство», «Романс» и «Нехудожественная литература».
  3. Обложка книги имеет незначительное отношение к рейтингу, что противоречит нашей гипотезе.
  4. Резюме имеет небольшое отношение к рейтингам. Random Forest лучше всех показал себя на числовых данных.

Мы также определили настраиваемую метрику, подходящую для анализа производительности задач несбалансированной регрессии. Наша последняя модель смогла достичь MSE тестирования всего 0,072 и 0,358 балла по нашей специальной метрике.

использованная литература

[1] Суман Мэйти, Абхишек Паниграхи и Анимеш Мукерджи. Анализ поведения чтения книг в социальных сетях на Goodreads и его прогнозирования бестселлеров на Amazon, 09 2018.

[2] Нуно Мониш Рита П. Рибейро. Несбалансированная регрессия и прогноз экстремальных значений, 2020.

[3] Синди Ван, Бурку Ючесой, Онур Варол, Тина Элиасси-Рад и Альберт-Лаасло Барабаси. Успех в книгах: прогнозирование продаж книг до публикации, 2019.

Благодарности

Особая благодарность профессору Dr. Джайнендра Шукла и помощники учителей!

Курс Monsoon2020: Машинное обучение

Инструктор: доктор Джайнендра Шукла

Техническая поддержка проекта: Анмол Сингхал

Спасибо за прочтение!!