Автор Fabrizio Puzzo

Во время пандемии COVID-19 мы были ошеломлены бесчисленными новостями и профессиональными комментариями. Огромный объем информации затрудняет ведение четкого обзора того, что конкретный орган или организация сообщает о пандемии и о том, что еще происходит в мире.

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

Чтобы продемонстрировать результаты этого проекта, я создал простой демонстрационный веб-сайт: https://user-analysis.netlify.app/ - взгляните!

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

Программное обеспечение

Ввод, вывод

Программное обеспечение, которое я разработал, принимает в качестве входных данных массив дескрипторов Twitter (список пользователей) и возвращает данные временного ряда об этих пользователях в формате JSON. На диаграмме ниже показан пример данных временного ряда, возвращаемых конвейером.

На диаграмме показано, как часто анализируемый пользователь Twitter упоминает хэштег, URL или другой пользователь Twitter через платформу (топ-10 для данной период времени - в данном примере: Всемирная организация здравоохранения).

Посмотрите другие диаграммы различных пользователей Twitter на моем демонстрационном веб-сайте: https://user-analysis.netlify.app/.

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

Помимо этих показателей, показатели взаимодействия, такие как количество комментариев, лайков и ретвитов, также анализируются с течением времени (без отображения в демо-домашняя страница).

Архитектура программного обеспечения

Программа состоит из трех основных компонентов:

  • Сборщик данных: собирает новейшие твиты пользователей Twitter в списке пользователей через Twitter API.
  • Средство извлечения функций: извлекает функции из собранных твитов.
  • Watchdog и Publisher: проверяет ошибки выполнения и публикует новые данные (файл JSON) в репозитории GitHub.

На рисунке ниже показан упрощенный обзор архитектуры программного обеспечения.

Я использовал Netlify для размещения демонстрационного сайта. Netlify позволяет запускать интерфейсное приложение React из репозитория GitHub бесплатно и без необходимости в серверах.

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

Приложения и использование

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

  1. Получите обзор новостей

Большой объем ежедневных заголовков новостей затрудняет ведение обзора наиболее важных новостных тем. Анализ учетных записей новостных агентств в Твиттере, их хэштегов и пользователей с тегами может дать вам более четкое представление о новостном ландшафте. (Пример: ZDF heute - немецкое информационное агентство)

2. Анализируйте политические события

Важное политическое событие, такое как президентские выборы в США, можно лучше понять, проанализировав аккаунты в Twitter двух кандидатов (то есть Дональда Дж. Трампа и Джо Байдена). Анализ, возвращаемый программным обеспечением, дает некоторое представление о том, какие темы упоминают кандидаты (используют хэштеги) и с кем они взаимодействуют (отмеченные пользователи). (Пример: Дональд Дж. Трамп)

3. Найдите влиятельных лиц

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

Вывод

Я надеюсь, что эта статья показалась вам интересной, и я надеюсь, что она помогла вам разработать что-то свое.

Если у вас есть какие-либо вопросы или предложения по поводу разработанного мной программного обеспечения - или если вы хотите поработать со мной над проектом анализа данных - я был бы рад услышать от вас! Не стесняйтесь обращаться ко мне через LinkedIn или по электронной почте ([email protected]).

Спасибо за уделенное время!