Использование 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 (это я!).