Ниже представлена ​​(продезинфицированная) версия блокнота, который я собрал для своих друзей, но решил опубликовать его здесь для дальнейшего использования. Имена друзей были инициализированы, чтобы обеспечить им некоторую степень «анонимности», если они захотят (публично) дистанцироваться. Немного жаргона: «Тальф» — это наш старый общий дом.

Блокнот живет здесь и опубликован здесь с помощью очень удобной библиотеки jupyter_to_medium для всех тех, кто так же, как и я, презирает админа.

С тех пор, как Д.Б. озвучил свои (или ее…) мысли об использовании «ха-ха» и его вариантов (кажется, в прошлом году на кухне в Талфе), я думал, что потенциально группа стала более щедры в раздаче своего смеха в WhatsApp — что приятно. Нам всем нравится смеяться с нашими друзьями, и что может быть лучше, чем ответить «ха-ха» в чате, когда вас что-то щекочет.

Упомянув об этом недавно в DB, ​​он согласился, и поэтому я решил посмотреть, подтверждается ли это общее мнение данными. Я экспортировал нашу диаспору чатов — теперь давайте застрянем и посмотрим, действительно ли мы становимся лучше.

Шаг 1: Получите данные, проанализируйте данные, сведите данные в таблицу

Прежде всего, давайте разберем ZIP-файлы, которые WhatsApp экспортирует для нас, и поместим их в DataFrame (Я сердце панды), чтобы мы могли легко проанализировать подшучивания. Я завернул функции для разбора конвота WhatsApp из почтового индекса здесь, чтобы все было аккуратно и аккуратно, аккуратно и аккуратно.

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

Теперь у нас есть все наши данные с мая 2020 года (когда я присоединился к Talf, а затем к их группам WhatsApp) в удобном табличном формате (я все еще heart dfs).

Шаг 2: Визуализируйте наш болтовня

Прежде чем специально искать какие-либо сообщения, которые могут содержать «лоллинг», давайте просто посмотрим, как на самом деле выглядит наша история сообщений. Как много мы болтаем, кто болтает и почему мы поддерживаем 4 разные почти одинаковые группы?

2а. Активность WhatsApp вполне коррелирует с волнами коронавируса

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

Это кажется положительным моментом. Кажется, нам больше нравится общаться друг с другом в irl, чем в WhatsApp. Большая Медведица в середине августа прошлого года — это то, что мы гуляем по Швейцарии/Италии, и данные подтверждают тот факт, что на самом деле мы довольно хорошие друзья, которым нравится проводить время друг с другом.

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

2б. JB - это клей, который нас связывает

Не останавливаясь на достигнутом, JB (фиолетовый) продолжает активно вносить свой вклад — только через 3 месяца его обогнали как главного участника:

  • 2x от EM — это звездное достижение, учитывая, что он входит только в 3 из 4 включенных групп
  • 1x от MJ — в первую очередь, когда я агрессивно возился в Белфасте в ноябре прошлого года.

2в. Да здравствует группа OG

Только недавний участник, я не претендую на долгую историю VOW и ее предыдущих воплощений. Однако, глядя на приведенное ниже (теперь, когда Талф ушел, а нас время от времени размещают), у других групп были свои моменты, вызванные блокировкой, на солнце, но OG вернулась.

Теперь, когда мы немного познакомились с захватывающими всеобъемлющими свойствами наших чатов в WhatsApp, давайте перейдем к основной гипотезе — правильно ли мы смеемся или нет?

Шаг 3: А как насчет них, ха-ха?

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

3а. Определение «смех»

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

Для этого представляется 2 основных варианта:

  • «вариант ха-ха»: «ха-ха», «хахах», «хахаха» и даже «аха» и «ахах»
  • «вариант лол»: «лол», «лол», «ллол» и т. д.

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

  • Необходимо избегать слов, в которых «смеховой вариант» является подстрокой слова, например. «ха» внутри «случается»
  • Постарайтесь минимизировать пространство поиска; или нам придется искать «n» сообщений для «m» подстрок, что может стать очень медленным

Сначала мы определяем «вариант ха-ха»:

We now have a list of 1,981 possible 'haha' words

Теперь вариант лол (будьте осторожны, чтобы удалить такие слова, как «oll», которые часто встречаются в словах:

We now have a list of 2,019 possible 'lol' words

И определите функцию для поиска этих подстрок в строках сообщений, избегая «встроенных слов смеха»:

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

Теперь у нас есть данные, готовые к анализу (!!!).

3б. Матрицы смеха

Итак, какие слова мы используем чаще всего, чтобы выразить титул? И меняется ли это в зависимости от того, есть ли у сообщения сопроводительный текст?

3би. Сообщения, содержащие только «смешное слово» — без дополнительного текста

Выводы:

  • Как и ожидалось, доминирует одинокое "ха-ха"
  • FH не только лидирует в ответах «одиночное смехотворное слово», но и его постоянная борьба с правописанием дает ему значительную широту в его ответах
  • Для сравнения, я полный квадрат, когда дело доходит до смеха с узким арсеналом «ха-ха», «лол» и «хахаха».
  • DB и EM хорошо распределяют свои ответы — оценивая ситуацию и отвечая выбранным ими смехотворным словом (по сравнению с тяжелым JB «ха-ха»).
  • lol по-прежнему используется как одиночный ответ, несмотря на потенциальную синонимичность слова «ха-ха»
  • RH обеспечивает подшучивание, он не смеется (хотя и определяется присутствием только в VOW)

3бии. Сообщения с дополнительным текстом

Выводы:

  • Гораздо более высокая концентрация ответов смеха, в частности, "ха" появляется в миксе, когда неактивен как ответ одним словом
  • JB вырывается вперед — ему нравится подшучивать, но он тоже отвечает
  • «лол» и «ха-ха» соперничают за желанное первое место, а использование «лол» в его ироничной форме потенциально выдвигает его на первый план.

Все это означает, что JB безраздельно отвечает за эти смехотворные ответы. Но мы уже знаем его как главного посыльного. Реальный вопрос заключается в том, кто обеспечивает реальную отдачу от их ограниченного характера доллара? Кто, в процентах от всех их сообщений, раздает эти ха-ха-й ответы?

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

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

Учитывая постоянный общий вклад JB, после нормализации смеха, который он распределяет по общему количеству сообщений, он возвращается в середину таблицы. Относительное общее отсутствие активности FH дает ему значительное преимущество на вершине. И даже больше, чем раньше, я остаюсь жалким ублюдком, замыкающим тыл.

Шаг 4: ответьте на вопрос — мы смеемся?

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

Данные, безусловно, фрагментарны и изменчивы (часто в процентах более изменчивы, чем основной ряд), но:

  • Смех растет, покупайте, пока еще можете!!!: VOW только что захлестнула 10% сообщений, являясь единственной реакцией на смех
  • что-то чертовски смешное случилось с группой CJ в конце года

Давайте посмотрим на общую картину — нормализованный объем сообщений, не относящихся к сообщениям, — чтобы нарисовать картину, вызывающую выработку серотонина.

В отличие от общих тенденций сообщений в 2a. (волнообразный, похожий на корону), смех, безусловно, увеличился за последние несколько месяцев. Это может продолжаться долго. Но кто вызывает рост количества ответов, наполненных только смехом? Давайте погрузимся и посмотрим на отдельные выступления:

Мы все!!! FH испытывает крайнюю волатильность, но в целом мы все вносим свою лепту, чтобы сделать наши групповые чаты более динамичными.

Наконец, давайте посмотрим на ежемесячную производительность наших 5 самых популярных слов для смеха — может ли какой-либо вариант бросить вызов «ха-ха» за первое место?

Проще говоря, нет. «Хаха» доминирует над лучшим «хахах», можно надеяться на номинацию на звание лучшего новичка 2021 года, однако до достижения высоких высот в 60 вхождений в месяц еще далеко (если только мы вместе не станем немного смешнее).

Шаг 5. Сделайте содержательное заключительное замечание

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

# df.to_csv('../data/wa_df.csv', index=False)