Способность извлекать информацию и идеи из любой формы данных считается ценным навыком. Данные могут быть в различных формах, таких как структурированные табличные данные, текстовые данные и т. Д. WhatsApp - это тип платформы социальных сетей, позволяющий пользователям отправлять друг другу сообщения, изображения, видео и т. Д. Отправка этих сообщений генерирует текстовые данные, которые можно легко извлечь, а при знании такого языка программирования, как python, их можно преобразовать и проанализировать.
В этой статье я объясню, как использовать текстовые данные чата WhatsApp для извлечения информации и создания различных диаграмм.
Цели:
Прочитав эту статью, читатель сможет:
- извлекать данные чата WhatsApp
- очистить текстовые данные с помощью регулярного выражения
- извлекать идеи из текстовых данных
- используйте Streamlit для создания приборной панели
Без лишних слов, давайте перейдем к делу
Контур:
- Извлечение данных чата WhatsApp
- Очистка и преобразование текстовых данных
- Создание визуальных эффектов с помощью Streamlit
Извлечение данных чата WhatsApp
WhatsApp позволяет пользователям загружать данные своего чата либо в личном сообщении (DM), либо в групповом чате. Выполните следующие действия, чтобы загрузить данные чата.
- Откройте чат, который хотите загрузить, это может быть личная переписка с другом или групповой чат.
- Нажмите на вертикальную линию из 3 точек
- Нажмите на кнопку Еще
- Нажмите кнопку Экспорт чата.
- Нажмите Без мультимедиа - это будет экспортировать только данные текстового чата и исключить все мультимедиа, такие как аудио, видео и т. Д.
- Затем вы можете отправить его в любое место, где захотите. Вы также можете отправить его себе по почте
Очистка и преобразование данных WhatsApp
Чтобы извлечь из данных любую полезную информацию или идеи, их необходимо очистить и преобразовать с помощью методов, соответствующих тому, что требуется с точки зрения извлекаемых идей. Данные чата WhatsApp не исключение, они грязные и нуждаются в очистке.
- Удалить сообщение, созданное системой: WhatsApp генерирует некоторые сообщения, например, когда кто-то новый присоединился к группе, он отправляет сообщение типа «пользователь1 только что присоединился к группе».
- Удалить смайлы
- Извлекайте полезные функции из каждого сообщения: такую информацию, как время, дата, содержание сообщения, отправителя сообщения и т. Д.
- Объедините все функции в фрейм данных, чтобы облегчить визуализацию
Вот функция, которая извлекает функции и преобразует все функции в фрейм данных.
Создание визуальных эффектов с помощью Streamlit
Streamlit - Streamlit - это платформа приложений с открытым исходным кодом для команд машинного обучения и обработки данных. Создавайте красивые приложения для обработки данных за часы, а не за недели. Все на чистом Python. Цель streamlit - создавать интерактивные приложения для ваших данных.
После очистки и преобразования данных чата у меня есть фрейм данных, который выглядит следующим образом:
Теперь я перейду к созданию визуальных элементов, которые передают идеи, которые присутствуют в имеющихся у нас данных. Здесь я подумаю о том, что важно показать, и о том, как наиболее эффективно передать такую информацию. Вот функция, которая генерирует изображение облака слов
Остальные функции для создания графиков можно найти здесь. Вся кодовая база основана на streamlit для внешнего дизайна представления данных и на графике, что обеспечивает интерактивность диаграмм. Я создал несколько диаграмм, чтобы передать различную информацию, такую как общее количество сообщений, отправленных одним пользователем, самые загруженные дни с точки зрения отправленных сообщений, наиболее часто используемые слова в чате и т. Д. Ниже приведен снимок диаграммы, которая была генерируется на основе данных диаграммы WhatsApp.
Полную кодовую базу проекта можно найти здесь. Я напишу о развертывании приложения, а также о добавлении в него дополнительных функций, например:
- Кнопка загрузки для загрузки очищенных данных чата для других сценариев использования машинного обучения.
- Боковая панель для загрузки дополнительных данных и сравнения показателей
- Добавьте то, что вы хотите добавить в приложение, в разделе комментариев.
Спасибо за чтение и ура