Как создать программу Python для анализа настроений в Twitter? [Пошаговое руководство]

Опубликовано: 2020-08-07

Источник

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

Поскольку Twitter является одним из наиболее полных источников прямых публичных дискуссий во всем мире, коммерческие фирмы, политические группы и т. д. заинтересованы в проведении «анализа настроений» твитов, чтобы понять эмоции/мнения целевого рынка или изучить рынок конкурентов. . Хотя они готовы использовать программы для этой цели, но для получения прогнозов с высоким уровнем точности, специфичных для конкретных критериев и областей, лучший способ — создать настраиваемую модель или программу Python для анализа настроений в Twitter .

Оглавление

Пошаговое руководство: создание программы анализа настроений в Твиттере с использованием Python

Целью этого руководства является создание программы анализа настроений в Твиттере с использованием Python. Полученная программа должна быть способна анализировать твиты, полученные из Twitter, и понимать настроения текста, такие как его полярность и субъективность.

Привилегии

1. Прежде всего, это базовые знания Python в области кодирования/программирования.

2. Инструменты, которые необходимо установить на ваш компьютер:

  • Питон
  • Библиотеки: Tweepy, text blob, word cloud, pandas, NumPy, matplotlib.

(Tweepy — это официальная библиотека Python для API Twitter, которая позволяет Python взаимодействовать с платформой Twitter)

3. Аккаунт в Твиттере

4. Приложение Twitter должно быть создано и аутентифицировано Twitter: это необходимо для получения «Потребительского ключа и токенов доступа», которые понадобятся вам при программировании.

Если у вас еще нет приложения Twitter, созданного для этой цели, то вот как его создать.

Подробнее: Учебное пособие по Python NumPy: изучение Python Numpy на примерах

Как создать приложение для твиттера?

  • Перейдите на сайт разработчиков Twitter: dev.twitter.com.
  • Войдите в свою учетную запись Twitter
  • Перейти в «Мои приложения»
  • Нажмите «Создать новое приложение».
  • Далее вам необходимо заполнить форму, как показано ниже.

Источник

  • Затем нажмите «Создать мой токен доступа».
  • На следующей странице выберите параметр «Чтение и запись» в столбце «Тип приложения».

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

Начните с создания программы Python для анализа настроений в Твиттере

1. Импортируйте библиотеки : Tweepy, text blob, word cloud, pandas, NumPy, matplotlib.

2. Аутентифицируйте приложение Twitter. Затем вам необходимо аутентифицировать ваше приложение Twitter, используя учетные данные OAuth Settings приложения Twitter, также называемые учетными данными Twitter API. Для этого вам необходимо создать объект аутентификации, используя коды, как показано на изображении ниже.

Источник

Чтобы заполнить учетные данные Twitter API, вы можете либо загрузить файл CSV, либо вручную скопировать и вставить данные учетных данных.

3. Получение твитов от пользователя Twitter. Теперь, чтобы получить твиты, вам сначала нужно выбрать пользователя Twitter, чьи твиты вы хотите проанализировать, чтобы понять выраженное в них настроение. скажем; вы хотите увидеть, являются ли твиты «UserXYZ» положительными, отрицательными или нейтральными, выполнив анализ настроений 100 твитов пользователя XYZ.

Код для получения твитов

сообщения = api.user_timeline (имя_экрана = «UserXYZ», количество = 100, язык = «en», tweet_mode = «расширенный»)

Выполнение вышеуказанной команды покажет твиты.

4. Создать фрейм данных. Теперь вам нужно создать фрейм данных для полученных вами твитов. Допустим, вы называете первый столбец вашего df «Твиты», и он будет содержать все твиты, разбросанные по 100 строкам, поскольку вы анализируете 100 твитов.

Df = pd.dataframe([tweet.full_text для твита в сообщениях] , columns=['Tweet'])

5. Очистите текст. Очистка текста твитов важна для успеха вашей программы Python для анализа настроений в твиттере, так как будет много нежелательных символов, таких как @, #, повторные твиты, гиперссылки в URL-адресах и т. д. Вот ваш библиотека python'' начинает использоваться.

Получите субъективность и полярность: после того, как вы очистили текст, вам нужно создать две функции, используя библиотеку Python TextBlob, чтобы получить субъективность и полярность твитов. Субъективность показывает, насколько текст самоуверен, а полярность описывает позитивность или негативность текста. Было бы лучше написать скрипт Python, чтобы создать еще два столбца в вашем фрейме данных для размещения субъективности и полярности. Итак, теперь ваш фрейм данных будет иметь три столбца (первый для твитов, 2-й для субъективности, 3-й для полярности).

Коды для создания функций субъективности и полярности следующие:

Источник

После запуска кода вы увидите оценки субъективности и полярности каждого твита, показанные в соответствующих столбцах. TextBlob описывает полярность по шкале от 1 до -1. Итак, если твит имеет полярность -0,4, это означает, что он немного негативен, а если он имеет 0,6 субъективности, то он достаточно субъективен.

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

Пример WordCloud:

Источник

В дело вступят библиотеки matplotlib, Pandas и WordCloud, которые вы уже импортировали. Чтобы сначала построить облако слов, вам нужно создать переменную; давайте назовем его «allwords», чтобы представить все твиты в столбце «Tweets» фрейма данных.

Код для создания WordCloud

allwords = ' '.join( [twts for twts in df ['Tweets' ]] )

WordCloud = WordCloud (ширина = xxx, высота = xxx, randon_state = xxx, max_font_size = xxx. генерировать (все слова)

plt.imshow (облако слов)

плт.ось («выкл»)

plt.show()

7. Когда у вас есть оценки полярности для каждого твита, вы можете начать вычислять положительный, отрицательный и нейтральный анализ твитов. Для этого вам нужно создать функцию, назовем ее «Анализ», в которой вы можете присвоить оценку 0 нейтральному, <0 отрицательному и> 0 положительному.

Анализ защиты (оценка):

Если оценка < 0

вернуть «Отрицательный».

Элиф оценка == 0

вернуть «нейтральный»

еще,

вернуть «положительный результат».

Затем, чтобы разместить результаты анализа тональности твитов, создайте новый столбец во фрейме данных, назовите его «TwtAnalysis», а затем напишите следующий код:

df ['TwtAnalysis'] = df ['Полярность']. применить(анализ)

8. Новый фрейм данных будет иметь добавленный столбец с именем «TwtAnalysis», и он будет ссылаться на каждый твит как на положительный, отрицательный или нейтральный в зависимости от его оценки полярности. Пример показан ниже на изображении:

Источник

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

  • Получите процент положительных, отрицательных или нейтральных твитов.
  • Печатать отдельно все положительные комментарии или отрицательные или нейтральные твиты.
  • Создайте диаграмму визуального анализа положительных, отрицательных и нейтральных твитов и многое другое.

Читайте также: 9 лучших библиотек Python для машинного обучения

Заключение

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

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

Если вы хотите получить всесторонний и структурированный опыт обучения, а также если вам интересно узнать больше о машинном обучении, ознакомьтесь с дипломом PG IIIT-B и upGrad в области машинного обучения и искусственного интеллекта, который предназначен для работающих профессионалов и предлагает более 450 часов. тщательного обучения, более 30 тематических исследований и заданий, статус выпускника IIIT-B, более 5 практических практических проектов и помощь в трудоустройстве в ведущих фирмах.

Каково функциональное значение анализа настроений в социальных сетях?

В наш век социальных сетей мнение потребителей имеет бесконечную силу, чтобы создать или разрушить бренд. Анализ настроений — лучший способ точно понять движущие факторы, лежащие в основе мнений и эмоций потребителей. Имея данные, полученные в результате анализа настроений, компании могут найти свою целевую аудиторию, определить влиятельных лиц в социальных сетях для своего бренда и выявить тенденции на развивающихся рынках. Более того, анализ настроений на платформах социальных сетей также дает всестороннее представление о здоровье их бренда; предприятия могут получать честные отзывы потребителей о своих недавно запущенных продуктах и ​​услугах, чтобы совершенствовать их. Он также эффективен в управлении онлайн-репутацией за счет лучшего определения областей улучшения и решения проблем.

Можно ли выучить Python самостоятельно?

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

Что сложнее в освоении между Python и C++?

Python и C++ — совершенно разные языки программирования с совершенно разным поведением и функциями. Однако оба сильно поддерживают объектно-ориентированное программирование. Но, учитывая общую структуру Python, он прост, намного проще и быстрее в освоении, чем C++. На самом деле, многие люди изучают Python, чтобы испытать, что такое простое программирование. Python имеет открытый исходный код, бесплатен и предлагает невероятную надежность и простоту, когда речь идет о разработке сложных приложений машинного обучения. Хотя C++ более эффективен с точки зрения производительности, он не считается подходящим по сравнению с Python для проектов машинного обучения.