Анализ мнений пользователей Твиттера

 

Твиттер как платформа для сбора информации

Рост популярности социальных сетей делает их всё более важным источником информации о мнениях людей по различным темам: жизнь знаменитостей, деятельность компаний и успех их брендов, политические вопросы и многое другое. Маркетологи, социологи, политики и знаменитости используют социальные сети для получения информации об интересующих их вопросах и вырабатывают дальнейший план своих действий, основываясь на полученных данных. Однако такая информация, выраженная средствами естественного языка, представляет собой постоянно увеличивающийся объём неструктурированных данных. Это создаёт определённые сложности в работе с ней.

Твиттер является восьмым по популярности онлайн-ресурсом в мире. Ежедневно его пользователи генерируют более 500 миллионов записей, что ставит перед исследователями задачу автоматизировать анализ таких больших объёмов неструктурированных данных. Помимо популярности, Твиттер интересен ограничением на длину сообщения в 140 символов - это приводит к высокой степени когерентности текста в сообщениях. Таким образом, Твиттер предоставляет широкие возможности для применения инструментов и алгоритмов обработки естественного языка (Natural Language Processing, NLP) для сбора необходимой информации.

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

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

Обработка потоковых данных

Популярность Твиттера среди пользователей делает необходимым анализ больших объёмов потоковых данных. Традиционный подход к обработке такой информации требует наличия большого хранилища данных и большой вычислительной мощности, и обычно не позволяет обрабатывать поступающую информацию и выводить результаты в режиме реального времени. Мы использовали другой подход для эффективной работы с большими данными (Big Data). Согласно этому подходу, из потока отфильтровывается релевантная по тематике часть данных, которая немедленно поступает на анализ. Результаты анализа обработанной части потока доступны пользователю с минимальной задержкой.

Чтобы визуализировать результаты анализа не только в реальном времени, но и в исторической ретроспективе, в проанализированный поток дополнительно внедряются метки времени. По этим меткам поток разбивается на отдельные «окна», что позволяет рассчитывать и выводить статистику не только за весь период сбора данных, но и за заданные интервалы времени.  

Разработанный нами механизм обработки сообщений работает как непосредственно с Twitter API, так и с агрегатором GNIP (который предоставляет доступ к потоковым данным не только из Twitter, но и из других социальных приложений и сетей - Facebook, Google+, и др.).

Определение положительных, отрицательных и нейтральных мнений

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

IBM попросила нас разработать приложение для анализа тональности текста (sentiment analysis) применительно к сообщениям в Твиттере. Программное обеспечение должно находить в сообщениях мнения пользователей Твиттера и определять их эмоциональную окраску (положительная, отрицательная или нейтральная) по отношению к выбранной теме. Такое приложение должно применять анализ тональности к потокам сообщений в Твиттере в режиме реального времени. Целью было использование приложения для автоматизации распознавания, интерпретации и обработки мнений людей в ходе спортивных чемпионатов, политических дебатов, телевизионных шоу и т.д.

IBM предоставила нам разработанный ранее базовый тональный словарь, в котором словам и словосочетаниям соответствовала оценка: нейтральная, положительная или отрицательная. Мы использовали инструментарий IBM LanguageWare для создания на основе этого тонального словаря более точных языковых моделей, способных верно определять тональность сообщений - с учётом выбранной тематики, особенностей лексикона целевой аудитории, идиом, жаргонизмов и прочих устоявшихся выражений, а также языковых конструкций, исключающих возможность «простого» словарного анализа.

Распределённые вычисления

Поскольку даже предварительная фильтрация контента не могла гарантировать, что в конкретный момент времени на вход системе не будет подано больше информации, чем она может обработать, компоненты системы были спроектированы и разработаны с возможностью развёртывания в средах для распределённых вычислений – это обеспечивало возможность масштабирования и эластичность решения. Так, например, разработанные лингвистические модели были оформлены как модули UIMA, которые можно запускать с соответствующей обвязкой в различном окружении. Мы успешно использовали в качестве платформ для распределённой обработки потоковых данных IBM InfoSphere Streams и Apache Storm.

Визуализация данных

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

Применение

Впервые приложение было использовано для анализа реакции болельщиков Открытого чемпионата США по теннису 2012 года. При этом мнения пользователей Твиттера об играющих участниках отображались на интерактивном табло чемпионата.

В дальнейшем использованная концепция обработки данных была применена и в других сценариях исследования тональности сообщений в Твиттере - например, при анализе отношения аудитории Твиттера к кандидатам на пост президента США в предвыборной кампании 2012 года.

разработка распределенных систем

Технологии

Сбор потоковых данных
Создание и отладка лингвистических моделей
Обработка и хранение потоковых данных
Обработка и анализ текста сообщений
Визуализация результатов анализа
Мы найдем лучшее решение вашей задачи!

Совпадений: 0