Интернет-цМемы становятся все более распространенной формой современной социальной коммуникации, которая в последнее время вызывает большой исследовательский интерес. Из-за своей популярности мемы получили значительное внимание в таких областях, как поп-культура, маркетинг, социология и информатика. Во время пандемии COVID-19 мемы стали еще более важной частью социальной жизни, поскольку из-за приказов о социальном дистанцировании все больше людей обращались к Интернету для повседневного общения. В результате веб-культура развивается быстрее, чем когда-либо, а сайты социальных сетей переполнены мемами о коронавирусе, поскольку люди во всем мире пытаются отнестись к этой серьезной ситуации с щепоткой юмора.
Все более совместный характер Интернета превратили мемы в социальное явление, создаваемое, видоизменяемое и распространяемое самими интернет-пользователями. Сегодня мемы являются не только источником юмора, но и привлекают внимание к острым культурным и политическим темам. Мемы, как правило, отражают насущные глобальные проблемы, и хотя они не всегда верны фактам, они часто показывают то, что общественность замечает больше всего. Многие авторы исследовали факторы социальных сетей, которые приводят к тому, что мем становится вирусным, но ограничивали влияние содержания мема на популярность. В других областях человеческих достижений вирусный успех тесно связан с заслугами, но неясно, какие характеристики приводят мем к достоинствам. В этом тематическом исследовании исследуется взаимосвязь между содержанием мема, за исключением функций социальной сети, и его популярностью. Попутно он раскрывает, какие темы были популярны в Интернете во время глобальной пандемии COVID-19.
Я взял одну из опубликованных статей по изучению цМемов. Проблема, рассматриваемая в этой статье, заключается в том, чтобы «выяснить, может ли цМем, опубликованный в Интернете, стать вирусным или нет». В веб-мире цМемы, которые становятся вирусными, называются DANK MEMEs. Таким образом, нам нужно выяснить, может ли цМем быть ОТВЕТНЫМ цМемом или НЕ-ОТВЕТНЫМ.
Эта статья не только дает представление о мыслях пользователей Интернета во время пандемии COVID-19, но и выполняет содержательный анализ. прогнозный анализ того, что делает цМем вирусным. Используя методы машинного обучения, мы также изучаем, какую дополнительную предсказательную силу атрибуты, связанные с изображением, имеют по сравнению с текстовыми атрибутами популярности мема. Мы обнаружили, что успех цМема можно предсказать на основе его содержания. И текстовая, и изобразительная часть цМема играют в этом одинаково важную роль.

Обзор данных

Данные о 129 326 цМемах собраны с веб-сайта Reddit, которые были опубликованы в марте 2020 года. В основном это информация метаданных цМемов.

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

Данные можно загрузить с https://github.com/dimaTrinh/dank_data, которые включают в себя:
data_ocr.csv — этот файл содержит все детали, включая метаданные, связанные с мемы, которые были извлечены с веб-сайта Reddit.
Изображения MEME — это файлы изображений мемов, которые были сгенерированы и опубликованы на Reddit в течение определенного времени. Это файлы изображений размером около 8K.

Реальные/бизнес-цели и ограничения

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

Тип задачи машинного обучения

Нужно предсказать, может ли мем, опубликованный на Reddit, стать вирусным или нет. Это можно рассматривать как проблему двоичной классификации.

Показатели эффективности

Оценка AUC — это метрика, используемая в тематическом исследовании для измерения производительности модели.

Цель и ограничение машинного обучения

– Максимизируйте AUC
– Обеспечьте некоторую интерпретируемость

Шаги для решения

  1. Импорт данных
  2. Исследовательский анализ данных
  3. Характеристики данных
  4. Моделирование
  5. Прогнозирование на тестовых данных

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

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

Следующие шаги показывают, что представляют собой данные, загруженные из Reddit.

Здесь можно заметить, что некоторые авторы создали много цМемов, а большинство авторов создали очень мало или только 1 мем.

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

Видно, что только для 0,5% записей значение IS_NSFW равно TRUE.
99,5% записей имеют значение FALSE.
Следовательно, эта функция не кажется такой уж полезной.

Похоже, это неравномерное распределение мемов
Большинство мемов подразделяются на категории «r/memes».
Почти 90% мемов попадают в эту категорию
Только около 10% мемов имеют разные категория субреддита, чем «r/memes»

- Видно, что данные относятся только к 11 дням. т. е. с 13 марта 2020 г. по 23 марта 2020 г.
- Из этих дней максимальные данные доступны с 14 по 17 марта и сравнительно меньше данных в другие дни.
- Таким образом, деятельность была высокий на несколько дней и не все.

- Видно, что распределение данных по дням недели неравномерно.
- По понедельникам, вторникам, субботам и воскресеньям создается больше всего мемов, тогда как в остальные дни создается очень мало мемов.

- Видно, что большинство мемов генерируется после 16:00 и до полуночи.
- Очень мало мемов генерируется в ранние утренние часы.

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

- Это очень неравномерное распределение и, следовательно, трудно сделать вывод.
- Хотя в один день количество голосов было сравнительно высоким по сравнению с другими днями. Это может быть связано с выходными или праздничными днями
 — 23 марта был понедельник, а 20 марта — пятница.

- Видно, что в среду-четверг-пт меньше голосов "за" по сравнению с другими днями недели.
- Таким образом, мем, размещенный в другие дни, кроме среды-чт-пт, имеет больше шансов получить максимальное количество голосов.

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

То же наблюдение, что и предыдущее: поздно ночью и рано утром голосов меньше, чем в другое время дня.

– Видно, что большая часть области эскизов имеет размер ›10K
– Очень немногие имеют площадь ›20K
– Таким образом, в идеале мем должен иметь область миниатюр от 10K до 20K

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

Здесь также видно, что текст с меньшим количеством символов имеет больше шансов на получение голосов.

Результаты анализа данных

  1. Текст цМема — важная функция, позволяющая решить, может ли данный цМем быть сырым или нет.
  2. Область изображения — следующая важная функция. Чем крупнее картина, тем выше вероятность промокнуть.
  3. Также важно количество слов в тексте цМема. Люди не любят читать длинные предложения. У короткого четкого текста с цМемом больше шансов стать сырым.

Преобразование функции

Следующие элементы создаются как часть построения модели:

  1. Площадь изображения. Используя высоту и ширину изображения, можно рассчитать площадь.
  2. Количество слов — количество слов в данном цМеме. Здесь созданы две отдельные функции: i) перед предварительной обработкой текста и ii) после предварительной обработки текста.
  3. Длина текста — длина текста в данном цМеме. Здесь созданы две отдельные функции: i) перед предварительной обработкой текста и ii) после предварительной обработки текста.
  4. Текст MEME — текст предварительно обрабатывается перед передачей в модель. Стоп-слова удаляются. Библиотека NLTK, используемая для предварительной обработки
  5. Оценка тональности. Оценка тональности определяется с помощью библиотеки анализатора тональности. Это покажет, имеет ли текст цМема i) положительные, ii) отрицательные или iii) нейтральные настроения.

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

Моделирование данных только с функцией TEXT

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

  1. Использование встраивания слов
  2. Использование БЕРТ

Для модели с библиотекой Keras EMBEDDING график AUC был следующим:

Для модели с BERT график AUC был следующим:

Моделирование данных только с функцией IMAGE

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

  1. Использование VGG16
  2. Использование Resnet50
  3. Использование InceptionV3

Для модели с библиотекой Keras VGG16 график AUC был следующим:

Для модели с библиотекой Keras Resnet50 график AUC был следующим:

Для модели с библиотекой Keras InceptionV3 график AUC был следующим:

Из вышеперечисленных трех моделей на основе изображений модель InceptionV3 дала лучшие результаты.

Из модели Text модель с Embedding Features дала лучшие результаты.

Построение модели FUSION

Вирусный цМем зависит как от i) изображения, так и от ii) текста на изображении.

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

Таким образом, создается модель FUSION, которая будет использовать оба типа функций.

Как упоминалось выше, поскольку InceptionV3 и Embedding дали лучшие результаты, эти два были использованы для построения окончательной модели слияния. Пиксели изображения были преобразованы в массив numpy с помощью библиотеки Python opencv, а затем переданы в модель InceptionV3. Одновременно функции TEXT были переданы слою Embedding. Сглаженные выходные данные обоих слоев были объединены вместе, чтобы получить окончательный прогноз выходных данных. Следующая блок-схема показывает, как была построена Fusion Model:

Результаты

После обучения модели в течение нескольких эпох модель дала оценку AUC около 0,51. Этот показатель не так хорош, как у модели «Только текст» (которая дала AUC около 0,71). Но, учитывая обучаемые изображения, AUC достаточно хорош для первоклассного решения.

Дальнейшие улучшения

  1. Экспериментирование с различными методами увеличения изображения для дальнейшего улучшения оценки.
  2. Обучение модели еще на несколько эпох, чтобы увидеть, улучшит ли она показатель AUC.
  3. Получение еще нескольких изображений MEME, чтобы иметь больше обучающих данных.

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

Спасибо, что прочитали!!

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

  1. https://arxiv.org/pdf/2011.14326.pdf — Оригинальная исследовательская работа (Dank or Not? — Анализ и прогнозирование популярности мемов на Reddit)
  2. https://www.appliedaicourse.com/
  3. https://towardsdatascience.com/takeaways-from-mentoring-a-data-science-project-4d3c95f17483
  4. https://pubmed.ncbi.nlm.nih.gov/33718590/
  5. https://www.kaggle.com/tooharsh/memeclassifier2
  6. https://www.kaggle.com/kuldeepchoudhary/reddit-meme-analysis