Python

Анализ тональности с помощью TextBlob и Python

Анализ тональности с помощью TextBlob и Python
В этом уроке мы будем использовать один из отличных пакетов Python - TextBlob, чтобы создать простой сентиментальный анализатор. Все мы знаем, что твиты - один из любимых примеров наборов данных, когда дело доходит до анализа текста в науке о данных и машинном обучении. Это связано с тем, что твиты в режиме реального времени (при необходимости) общедоступны (в основном) и отражают истинное человеческое поведение (возможно). Вот почему твиты обычно используются при проведении любого типа проверки концепций или руководств, связанных с обработкой естественного языка (NLP) и анализом текста.

Использование TextBlob в промышленности

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

Настроения анализа имеют большое практическое применение во многих сценариях:

Начало работы с TextBlob

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

python -m virtualenv textblob
исходный текстовый блок / bin / активировать

Как только виртуальная среда станет активной, мы можем установить библиотеку TextBlob в виртуальную среду, чтобы можно было выполнять следующие примеры:

pip install -U textblob

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

python -m textblob.download_corpora

Вы увидите что-то подобное, загрузив необходимые данные:

Вы также можете использовать Anaconda для запуска этих примеров, что проще. Если вы хотите установить его на свой компьютер, посмотрите урок, который описывает «Как установить Anaconda Python на Ubuntu 18».04 LTS »и поделитесь своим мнением.

Чтобы показать очень быстрый пример для TextBlob, вот пример прямо из его документации:

from textblob import TextBlob
текст = "'
Заглавная угроза в "Капле" всегда поражала меня как высший фильм
монстр: ненасытно голодная амебоподобная масса, способная проникать
практически любая гарантия, способная - как обреченный врач пугающе
описывает это - «ассимилирующая плоть при контакте.
Будь прокляты ехидные сравнения с желатином, это концепция с самым большим
разрушительные потенциальные последствия, мало чем отличается от сценария серой слизи
предложены технологическими теоретиками, опасающимися
искусственный интеллект безудержный.
"'
blob = TextBlob (текст)
печать (капля.теги)
печать (капля.noun_phrases)
для предложения в blob.предложения:
печать (предложение.сентиментальность.полярность)
капля.перевести (to = "es")

Когда мы запустим вышеуказанную программу, мы получим следующие ключевые слова и, наконец, эмоции, которые демонстрируют два предложения в тексте примера:

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

Анализ настроений на основе лексики

Любое настроение можно просто определить как функцию семантической ориентации и интенсивности слов, используемых в предложении. При подходе, основанном на лексике, для определения эмоций в заданных словах или предложениях каждое слово связано с оценкой, которая описывает эмоцию, которую слово проявляет (или, по крайней мере, пытается проявить). Обычно у большинства слов есть предопределенный словарь с их лексической оценкой, но когда дело доходит до человека, всегда подразумевается сарказм, поэтому эти словари не то, на что мы можем положиться на 100%. Словарь настроений WordStat включает более 9164 отрицательных и 4847 положительных словосочетаний.

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

Использование Twitter API

Чтобы начать получать твиты прямо из Twitter, посетите домашнюю страницу разработчика приложения здесь:

https: // разработчик.твиттер.com / en / apps

Зарегистрируйте свое приложение, заполнив следующую форму:

Как только у вас будет весь токен, доступный на вкладке «Ключи и токены»:

Мы можем использовать ключи для получения необходимых твитов из Twitter API, но нам нужно установить еще один пакет Python, который сделает за нас тяжелую работу по получению данных Twitter:

pip install tweepy

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

импортный твип

После этого нам просто нужно определить соответствующие переменные, в которых мы можем хранить ключи Twitter, полученные из консоли разработчика:

Consumer_key = '[Consumer_key]'
consumer_key_secret = '[consumer_key_secret]'
access_token = '[токен_доступа]'
access_token_secret = '[access_token_secret]'

Теперь, когда мы определили секреты для Twitter в коде, мы, наконец, готовы установить соединение с Twitter, чтобы получать твиты и оценивать их, я имею в виду, анализировать их. Конечно, соединение с Twitter должно быть установлено с использованием стандарта OAuth и Пакет Tweepy пригодится для установления соединения также:

twitter_auth = tweepy.OAuthHandler (ключ_потребителя, ключ_потребителя)

Наконец нам понадобится соединение:

api = tweepy.API (twitter_auth)

Используя экземпляр API, мы можем искать в Твиттере любую передаваемую ему тему. Это может быть одно слово или несколько слов. Хотя мы рекомендуем использовать как можно меньше слов для точности. Давайте попробуем пример здесь:

pm_tweets = api.поиск ("Индия")

Вышеупомянутый поиск дает нам много твитов, но мы ограничим количество твитов, которые мы возвращаем, чтобы звонок не занимал слишком много времени, поскольку он также должен быть позже обработан пакетом TextBlob:

pm_tweets = api.search ("Индия", count = 10)

Наконец, мы можем распечатать текст каждого твита и настроение, связанное с ним:

для твита в pm_tweets:
печать (твит.текст)
анализ = TextBlob (твит.текст)
печать (анализ.настроение)

Как только мы запустим приведенный выше скрипт, мы начнем получать последние 10 упоминаний упомянутого запроса, и каждый твит будет проанализирован на предмет тональности. Вот результат, который мы получили для того же:

Обратите внимание, что вы также можете создать бота для потокового анализа настроений с помощью TextBlob и Tweepy. Tweepy позволяет установить потоковое соединение через веб-сокет с API Twitter и позволяет передавать данные Twitter в режиме реального времени.

Заключение

В этом уроке мы рассмотрели отличный пакет текстового анализа, который позволяет нам анализировать текстовые настроения и многое другое. TextBlob популярен тем, что позволяет нам просто работать с текстовыми данными без каких-либо проблем со сложными вызовами API. Мы также интегрировали Tweepy, чтобы использовать данные Twitter. Мы можем легко изменить использование для случая использования потоковой передачи с тем же пакетом и очень немногими изменениями в самом коде.

Пожалуйста, поделитесь своими отзывами об уроке в Твиттере с @linuxhint и @sbmaggarwal (это я!).

Как установить League Of Legends на Ubuntu 14.04
Если вы поклонник League of Legends, то это возможность для вас протестировать League of Legends. Обратите внимание, что LOL поддерживается в PlayOnLi...
Установите последнюю версию игры OpenRA Strategy в Ubuntu Linux
OpenRA - это игровой движок Libre / Free Real Time Strategy, воссоздающий ранние игры Westwood, такие как классическая Command & Conquer: Red Alert. Р...
Установите последнюю версию эмулятора Dolphin для Gamecube и Wii в Linux
Эмулятор Dolphin позволяет вам играть в выбранные вами игры Gamecube и Wii на персональных компьютерах (ПК) Linux. Являясь свободно доступным игровым...