Овладей Python, создавая реальные приложения. Часть 5

Делаем анализ тональности высказываний в Twitter за 3 минуты

Kirill Kovrugin
NOP::Nuances of Programming
3 min readFeb 3, 2019

--

Предыдущие части: Часть 1, Часть 2, Часть 3, Часть 4

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

Как работает анализ тональности

  1. Мы получаем какой-то вводимый текст, в нашем случае это твит.
  2. Мы разбиваем его на несколько частей или коротких предложений, в зависимости от длины сообщения. Этот процесс называется токенизация разделение больших текстов на маленькие синтаксические единицы (токены).
  3. Когда мы работаем со словами, мы можем посчитать, сколько раз встречается то или иное слово. Это модель словарного пакета (это просто название, вам необязательно их запоминать).
  4. И, наконец, определяется значение тональности (“настроения”) каждого слова, а после этого — общее значение тональности всего текста.
Photo by Huyen Nguyen on Unsplash

Вот и всё. Так это и работает. Теперь, когда вы знаете теорию, перейдем к практике.

Шаг 1 — Подготовка

Для выполнения анализа тональности высказываний в Twitter нам нужны будут всего 2 библиотеки. Первая — tweepy, библиотека Python для доступа к API Twitter. А вторая — textblob, библиотека для обработки текстовых данных. Также она предоставляет простой API для решения основных задач в обработке естественных языков: морфологической разметки, выделения именных конструкций, анализа тональности высказываний и т.д.

Чтобы получить доступ в данным Twitter, вам нужно перейти на страницу Twitter Developer Apps и создать приложение. После этого вы получите пароли, которые нам пригодятся позже.

Шаг 2 — Аутентификация вашего приложения

Когда у вас есть пароли и токены, вы должны приступить к аутентификации. 0AuthHandler нужны пароли аутентификации. Access tokens определяет разрешения — чтение, запись, или же и то, и другое. После этого предоставьте этот код API tweepy, и всё.

Шаг 3 — Анализ тональности высказываний

С помощью аутентифицированного аккаунта (api) мы можем вести поиск по конкретным словам, которые нужны для анализа тональности. После выбора ключевых слов и подборки твитов, мы обработаем их при помощи textblob.

Для начала, мы выведем самые последние твиты, связанные с нашим ключевым словом. После мы используем textblob, чтобы определить тональность каждого отдельного твита и выведем её тоже. Посмотрим, что сказал глава Apple Тим Кук.

Похоже, большинство твитов позитивные. Молодец, Тим.

Как вы видите, программы выводит несколько твитов, а также анализ их тональности. Важно отметить, что polarity определят, насколько эмоциональная окраска текста позитивна или негативна (от -1 до 1). А subjectivity измеряет насколько в тексте выражено личное мнение автора.

В заключение

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

Перевод статьи Dhrumil Patel: Master Python through building real-world applications (Part 5)

--

--

Kirill Kovrugin
NOP::Nuances of Programming

Привет, меня зовут Кирилл. Мне интересны инвестиции и перспектива накопления денег на состоятельную жизнь.