Сентиментальный анализ Twitter с помощью python

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

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

Во-первых, вам нужно будет зарегистрироваться на платформе разработчиков твиттеров, здесь, https://developer.twitter.com/, для процесса регистрации Twitter задаст несколько вопросов, и вам нужно будет дать на них исчерпывающий ответ. Вопросы, заданные мне, были связаны с моим вариантом использования. После этого вам придет письмо с теми же вопросами, вероятно, к подлинности заявки.

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

Теперь мы перейдем к части кодирования Python. Во-первых, вам нужно будет установить tweepy для получения твитов из Twitter, textblob для сентиментального анализа и matplotlib для визуализации.

В первой части кода мы будем импортировать установленные библиотеки, после этого идет первая функция, отвечающая за аутентификацию API. После использования ключей потребителя и доступа аутентифицированный дескриптор Twitter API возвращается пользователю в следующем коде.

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

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

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

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

Репозиторий этого кода доступен здесь, https://github.com/hinanb/Twitter-Sentimental-Analysis-visualization, не стесняйтесь делиться идеями и улучшениями, если таковые имеются :)