Команда: Корбин Кахалан, Александр Левин-Купман, Джеффри Олсон

Введение

Экономика создателей, от блоггеров до инфлюенсеров, оценивается более чем в 104 миллиарда долларов и выросла до 50 миллионов артистов (Flynn 2022). С 2 миллиардами зарегистрированных пользователей в месяц и более чем миллиардом часов видео, просматриваемых каждый день (YouTube 2022), YouTube является двигателем экономики авторов и считается вторым по популярности веб-сайтом в мире (Similarweb 2022). Некоторые создатели YouTube, также известные как YouTubers, могут зарабатывать миллионы на доле доходов от рекламы, партнерских отношениях с брендами и размещении продуктов в своих видео (Osborn 2022). Конечно, не каждая видеотема приносит создателям сильный доход, но кулинария считается нишей на YouTube с одной из самых высоких цен на тысячу показов (Tasty Edits). Как кулинары-ютуберы набирают аудиторию и как они узнают, будут ли их видео популярны? Мы разработали модель, которую создатели могут использовать, чтобы предсказать, будет ли их кулинарное видео популярным, прежде чем они его загрузят.

Извлечение данных

Для сбора данных для нашей модели мы использовали два источника: YouTube’s API и YouTube-DL. Чтобы просмотреть код для извлечения данных и разработки моделей, просмотрите наш репозиторий Github. Чтобы просмотреть или загрузить наши окончательные наборы данных, посетите наш Google Диск.

API YouTube

API YouTube позволял нам извлекать видео по идентификатору канала и по поисковому запросу. В нашем первом методе мы собрали лучшие видео на основе списка ключевых слов о кулинарии. Как только мы собрали лучшие видео в результатах поиска YouTube по ключевому слову, мы смогли расширить наш список видео, включив в него больше видео с каждого канала YouTube. В нашем втором методе мы собрали список примерно из 50 онлайн-статей, в которых подробно описаны популярные кулинарные каналы на YouTube. Популярность этих статей обычно основывалась на общем количестве просмотров канала. После извлечения идентификаторов каналов и имен пользователей каналов с каждого сайта мы использовали API YouTube для извлечения всех видео с этих каналов. В общей сложности с помощью этих методов нам удалось собрать более 1,1 миллиона видеороликов.

YouTube-DL

Инструмент извлечения youtube-dl позволил нам собрать больше деталей видео, таких как субтитры и функции высоты миниатюры, без проблем с ограничением скорости, которые типичны для API YouTube. Мы также использовали этот инструмент для извлечения эскиза максимально возможного качества для каждого видео.

Соображения относительно данных

Наша команда решила, что имеет смысл удалить короткие ролики YouTube, потому что они по своей сути отличаются от стандартного видео на YouTube. Чтобы удалить эти видео, мы отфильтровали все видео, длина которых была меньше или равна 60 секундам, а также видео, содержащие «#shorts» в названии. Мы также убедились, что в нашем наборе данных нет дубликатов видео, убрав дубликаты в столбце идентификатора видео. Наконец, мы ограничили наш набор данных, чтобы все видео имели субтитры и миниатюру.

В целом на разработку и извлечение данных у нашей команды ушло примерно 8–9 недель. Хотя мы смогли извлечь более 1 миллиона видео из API YouTube, наш окончательный набор данных составил около 500 тысяч видео из-за нехватки времени. Мы выполняли извлечение YouTube-DL в течение 7 полных дней, но нам пришлось резко сократить, чтобы мы могли продолжить остальную часть нашего проекта. Отсюда мы разделили наш набор данных на 80% для обучения нейронных сетей и 20% для обучения окончательной модели. Оттуда каждый набор данных был снова разделен для обучения и тестирования. См. Приложение B, чтобы узнать больше о наборах данных, столбцах и функциях, которые мы использовали, а также об описательной статистике.

Определение популярности

Популярность — это слово, имеющее множество возможных определений, и многие считают видео популярным на основе общего количества просмотров, которое оно набирает. Некоторые предыдущие исследования были проведены для прогнозирования количества просмотров и популярности видео на YouTube (Srinivasan 2017 и Li 2019), но в большинстве предыдущих исследований удалось внедрить подсчет неприязни в расчет популярности до того, как YouTube удалил метрику из публичного доступа.

Хотя на многих каналах есть несколько «вирусных» видео, которые собирают просмотры, намного превышающие медиану канала (и, возможно, хороший день выплаты жалованья), мы не хотели создавать модель, обнаруживающую виральность. Вместо этого мы стремились выяснить, какие видеоролики вызвали искреннюю признательность у зрителей, что, как мы надеемся, приведет к постоянным просмотрам. Это было бы сложно, учитывая, как мало нюансов предлагают данные API. Это привело к тому, что мы использовали лайки в качестве основного показателя популярности. Вкратце, наша метрика отражает, насколько количество лайков видео выше или ниже ожидаемого (с точки зрения наилучшего линейного соответствия количеству просмотров и комментариев) и измеряется в стандартных отклонениях. См. Приложение A, Описание A1 для более подробной информации.

Хотя эвристический аргумент в пользу этой метрики силен, наши модели изо всех сил пытались сходиться при обучении ее прогнозированию. По этой причине мы перешли на другую метрику, основанную на анализе основных компонентов журнала количества просмотров, лайков и комментариев. Как показано на рис. 2, метрика PCA хорошо коррелирует с (логарифмическим) количеством лайков; Напротив, любую связь между исходной метрикой популярности и количеством лайков увидеть гораздо труднее.

Модель

Наша окончательная модель объединяет сверточную нейронную сеть (CNN) с моделью ансамбля, чтобы сделать прогноз популярности видео. В то время как другие исследования были проведены ранее, чтобы предложить миниатюру с использованием CNN (Arthurs 2017 и Çakar 2021), мы используем миниатюры видео в качестве входных данных для нашей CNN, чтобы предсказать логарифмическое количество просмотров видео. Окончательная модель использует выходные данные CNN и другие атрибуты видео для прогнозирования показателя популярности.

Наша исходная модель объединила рекуррентную нейронную сеть (RNN) с CNN, чтобы делать прогнозы, но наша RNN не сошлась. Хотя наша RNN не работала должным образом, мы все же смогли извлечь значимые признаки из текстовых данных для нашей окончательной модели. Дополнительную информацию о RNN см. в Приложении A, Описание A2.

Сведения о CNN

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

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

Окончательная информация о модели

Цель этой окончательной модели состояла в том, чтобы использовать функцию, созданную CNN, и объединить ее с остальными данными, которые затем использовались для прогнозирования популярности данного видео. Окончательная модель представляет собой ансамбль из трех древовидных методов: lightgbm, random forest и adaboost. Объединение уравновешивает смещения каждой модели, объединяя их выходные данные, создавая более точные и стабильные прогнозы. Это было сделано с помощью метода, называемого штабелированием. Во-первых, каждая модель дает прогнозы. Затем окончательная модель, в данном случае эластичная сеть, использовала прогнозы этих моделей для окончательного прогноза. В разработке были опробованы и другие модели; однако кажется, что сигнал из данных был сильно нелинейным. Все линейные модели показали те же 0,8 RMSE хуже, чем методы на основе дерева, и даже они должны были иметь довольно глубокие деревья, чтобы найти сигнал.

В процессе моделирования мы использовали модель случайного леса для извлечения важности признаков на основе примесей, которая также известна как важность Джини (документация Scikit-Learn 0.23.2). Это указывает, какие функции важны в модели для прогнозирования. Вверху мы видим, что журнал количества просмотров видео, предсказанный CNN, считается наиболее важным. См. Приложение B, Таблица B1 для описания столбцов.

Выводы

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

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

Один вопрос, на который мы хотели ответить, заключается в том, гарантирует ли добавление функции CNN дополнительные данные и вычислительные ресурсы, необходимые для обучения. В этом случае это действительно добавило окончательной модели окончательного импульса. Чтобы показать это, мы использовали базовую модель линейной регрессии для прогнозирования показателя популярности с функцией CNN и без нее. Добавление этой функции обеспечило снижение показателя RMSE на 0,29. С функцией CNN RMSE = 3,462154, тогда как RMSE = 3,757671 без функции CNN.

Анализ отказов

RNN не сходится

В нашем первоначальном плане RNN предназначалась для анализа текстовых данных из субтитров и описания видео для прогнозирования популярности, но наша RNN не сошлась. Мы пробовали различные базовые модификации нейронной сети, но по-прежнему не наблюдали никакого снижения функции потерь. Чтобы перепроверить наш процесс, мы использовали нерекуррентную нейронную сеть с внедрением TF-IDF и плотными слоями (которая хорошо работала для одного из нас в задаче НЛП для Milestone II), но по-прежнему не наблюдали конвергенции. Скорее всего, взаимосвязь между субтитрами и показателем популярности была слишком тонкой, чтобы поддерживать успешную RNN без гораздо большей сложности и гораздо большего количества данных.

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

Примеры неудач

Для CNN было два больших выброса. CNN предсказал, что выбросы были очень популярны с миллионами просмотров, но у одного было 34 просмотра, а у другого - 4615. На их миниатюрах слева был заголовок, а справа — женское лицо. На самом деле оба видео были вовсе не о кулинарии и, вероятно, были получены из используемого нами метода извлечения данных на основе поиска. Чтобы бороться с этим, следует использовать более сложную фильтрацию, чтобы гарантировать, что анализируемые видео относятся к одной и той же теме.

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

Заключительные мысли, ограничения и соображения

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

Одним из этических соображений является просмотр веб-страниц и использование YouTube-DL. Хотя парсинг общедоступных данных в Интернете является законным, существуют правила, о которых следует знать дальнейшим исследователям при парсинге веб-сайтов. Информация, которую мы собрали, является общедоступной и не содержит личных данных или конфиденциальной информации, но пользователи YouTube являются владельцами авторских прав на свои миниатюры. Есть также заявления о том, что YouTube-DL может нарушать условия обслуживания YouTube, в зависимости от того, как человек использует этот инструмент. Стоит отметить, что следует быть осторожным при использовании инструмента для загрузки видеоматериалов, защищенных авторским правом.

Хотя наша модель эффективно предсказывала популярность, есть много способов улучшить наши усилия. Будь то разработка улучшенной метрики популярности или создание сходящейся RNN, необходимы дополнительные исследования для создания модели, которая работает не только с кулинарными видео, но и с другими типами видео. YouTube считается крупнейшим центром видео в Интернете, и было бы здорово создать обобщающую модель, которая работала бы для нескольких тем. Наконец, поскольку YouTube меняет свою бизнес-стратегию видео в сторону короткого контента, такого как короткометражки, было бы полезно разработать модель, которая работает как для длинных, так и для коротких видео.

Техническое задание

Алекс:

  • Извлечение YouTube-DL
  • модель CNN
  • Великие озера
  • Окончательная модель ансамбля
  • Окончательное построение набора данных

Корбин:

  • Метод парсинга сайта
  • Извлечение и очистка данных
  • Руководитель проекта

Джефф

  • Метод извлечения API
  • Определение показателя популярности
  • Извлечение признаков
  • Модель РНН

Приложение А. Дополнительные описания

Описание A1:показатель популярности.

Чтобы найти pop_metric видео v с канала C:

  • Вычислите LR, наилучшее линейное соответствие в C для количества лайков, учитывая количество просмотров и количество комментариев
  • Для видео v, если d(v) — это разница лайков(v) — LR(v) , определите D как набор всех d(v) для v в C.
  • Наконец, pop_metric(v) — это z-оценка d(v) в наборе D.

Описание A2:детали RNN.

Модуль RNN обучался с использованием текстовых данных, содержащихся в видеосубтитрах. Субтитры, как правило, представляют собой транскрипцию видеодиалога и/или голоса за кадром, и мы полагали, что они будут хорошо отражать видеоконтент. Субтитры были токенизированы, а токены были встроены в векторы, а затем использованы в качестве входных данных. Нейронная сеть имела начальный слой ячеек LSTM, за которым следовал плотный слой, ведущий к конечному результату. Поскольку мы стремимся регрессировать непрерывное значение (показатель популярности), окончательный результат прошел через линейную функцию активации. Мы использовали библиотеку Tensorflow для большинства аспектов RNN.

Описание A3:подробности CNN.

Архитектура CNN похожа на VGGNet, но мы используем линейную функцию для прогнозирования показателя популярности вместо функции softmax, обычно используемой в классификации. VGGNet имеет в общей сложности двадцать уровней, включая двенадцать сверточных слоев, пять максимальных слоев объединения и три плотных слоя, последний из которых является выходным слоем. Здесь предпочтительнее использовать эту архитектуру VGNet, поскольку она имеет очень хорошую производительность, но при этом не требует больших затрат времени на кодирование и обучение. Мы могли бы использовать Alexnet, который немного меньше с 8 общими слоями, но с его большим ядром и размером шага производительность была бы значительно снижена.

Модель была обучена с использованием вычислительного кластера GreatLakes на трех графических процессорах, и для завершения 75 эпох потребовалось около 36 часов. Ниже приведены потери за эпоху как для функции потери среднеквадратичной ошибки, так и для val. CNN был загружен с контрольной точки в эпоху 19. И мы видим, что он работал хорошо, за исключением нескольких больших выбросов на остаточном графике. Это можно увидеть в блокноте cnn_on_test_data.ipynb на нашем Github. По тестовым данным оценки были следующими:

  • Среднеквадратическая ошибка: 2,740465
  • Средняя абсолютная ошибка: 2,173752
  • оценка r2: 0,243857

Описание A4: окончательная модель

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

В рамках окончательного процесса моделирования были рассмотрены другие модели для регрессора суммирования, однако даже после настройки они не показали себя лучше, чем базовая модель линейной регрессии. Каждая из древовидных моделей была сначала настроена с использованием библиотеки hyperopt, а затем загружена в регрессор стекирования. Все методы деревьев показали наилучшую производительность с глубокими деревьями. У lightgbm максимальная глубина 17, у модели случайного леса максимальная глубина 27, а у adaboost максимальная глубина 19. Больше всего удивляет модель adaboost. В конфигурации по умолчанию база дерева решений для модели adaboost имеет максимальную глубину три. Все это, включая область поиска параметров, можно увидеть в Final_model.ipynb.

Приложение Б. Дополнительная информация о наборе данных

Таблица B1:Каталог столбцов

Таблица B2: статистика набора данных по модели.

Таблица B3:статистика небулевых функций окончательного набора данных.

Рисунок B1. Визуализация статистики некоторых столбцов.

Таблица B4:Окончательная статистика логических функций набора данных.

Ссылки

  1. Артурс, Н., Бирнбаум, С., и Грувер, Н., (2017). Выбор миниатюр видео на YouTube с помощью сверточных нейронных сетей. Стэнфорд. http://cs231n.stanford.edu/reports/2017/pdfs/710.pdf.
  2. Чакар М., Йилдиз К. и Демир О. (2021, декабрь). Выбор миниатюр с помощью сверточной нейронной сети на основе обнаружения эмоций. Международный журнал достижений в области инженерии и чистых наук. DOI: 10.7240/jeps.900561.
  3. Флинн, Дж. (2022, 18 августа). Более 20 НЕВЕРОЯТНЫХ ЭКОНОМИЧЕСКИХ СТАТИСТИЧЕСКИХ ДАННЫХ [2022]. Циппия. https://www.zippia.com/advice/creator-economy-statistics/.
  4. Ли, Ю., Энг, К., и Чжан, Л. (2019). Прогноз видео на YouTube: будет ли это видео популярным? Факультет гражданского и экологического строительства Стэнфордского университета. http://cs229.stanford.edu/proj2019aut/data/assignment_308832_raw/26647615.pdf.
  5. Осборн, Дж. (2022, 7 февраля). 10 самых высокооплачиваемых пользователей YouTube в 2022 году. Манофмани. https://manofmany.com/entertainment/highest-paid-youtuber-2022.
  6. Похожие веб. (2022, октябрь). Рейтинг лучших веб-сайтов. https://www.similarweb.com/top-websites/.
  7. Сринивасан, А., Ван, А., Йи, К., и О'Фаррелл, Р. (2017, декабрь). Предиктор просмотров на YouTube. https://towardsdatascience.com/youtube-views-predictor-9ec573090acb.
  8. Вкусные правки (nd). 10 самых прибыльных ниш YouTube в 2023 году. Вкусные изменения. https://www.tastyedits.com/most-profitable-youtube-niches/.
  9. YouTube. (2022). YouTube для прессы. https://blog.youtube/press/.
  10. YouTube. (н.д.). Справочник по API. YouTube. https://developers.google.com/youtube/v3/docs.
  11. «3.2.4.3.1. Sklearn.ensemble.RandomForestClassifier — документация Scikit-Learn 0.23.2». Scikit-Learn.org, scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html#sklearn.ensemble.RandomForestClassifier.feature_importances_.