Способность извлекать информацию и идеи из любой формы данных считается ценным навыком. Данные могут быть в различных формах, таких как структурированные табличные данные, текстовые данные и т. Д. WhatsApp - это тип платформы социальных сетей, позволяющий пользователям отправлять друг другу сообщения, изображения, видео и т. Д. Отправка этих сообщений генерирует текстовые данные, которые можно легко извлечь, а при знании такого языка программирования, как python, их можно преобразовать и проанализировать.

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

Цели:

Прочитав эту статью, читатель сможет:

  1. извлекать данные чата WhatsApp
  2. очистить текстовые данные с помощью регулярного выражения
  3. извлекать идеи из текстовых данных
  4. используйте Streamlit для создания приборной панели

Без лишних слов, давайте перейдем к делу

Контур:

  • Извлечение данных чата WhatsApp
  • Очистка и преобразование текстовых данных
  • Создание визуальных эффектов с помощью Streamlit

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

WhatsApp позволяет пользователям загружать данные своего чата либо в личном сообщении (DM), либо в групповом чате. Выполните следующие действия, чтобы загрузить данные чата.

  • Откройте чат, который хотите загрузить, это может быть личная переписка с другом или групповой чат.
  • Нажмите на вертикальную линию из 3 точек
  • Нажмите на кнопку Еще
  • Нажмите кнопку Экспорт чата.
  • Нажмите Без мультимедиа - это будет экспортировать только данные текстового чата и исключить все мультимедиа, такие как аудио, видео и т. Д.
  • Затем вы можете отправить его в любое место, где захотите. Вы также можете отправить его себе по почте

Очистка и преобразование данных WhatsApp

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

  • Удалить сообщение, созданное системой: WhatsApp генерирует некоторые сообщения, например, когда кто-то новый присоединился к группе, он отправляет сообщение типа «пользователь1 только что присоединился к группе».
  • Удалить смайлы
  • Извлекайте полезные функции из каждого сообщения: такую ​​информацию, как время, дата, содержание сообщения, отправителя сообщения и т. Д.
  • Объедините все функции в фрейм данных, чтобы облегчить визуализацию

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

Создание визуальных эффектов с помощью Streamlit

Streamlit - Streamlit - это платформа приложений с открытым исходным кодом для команд машинного обучения и обработки данных. Создавайте красивые приложения для обработки данных за часы, а не за недели. Все на чистом Python. Цель streamlit - создавать интерактивные приложения для ваших данных.

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

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

Остальные функции для создания графиков можно найти здесь. Вся кодовая база основана на streamlit для внешнего дизайна представления данных и на графике, что обеспечивает интерактивность диаграмм. Я создал несколько диаграмм, чтобы передать различную информацию, такую ​​как общее количество сообщений, отправленных одним пользователем, самые загруженные дни с точки зрения отправленных сообщений, наиболее часто используемые слова в чате и т. Д. Ниже приведен снимок диаграммы, которая была генерируется на основе данных диаграммы WhatsApp.

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

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

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