Автор оригинала: Pankaj Kumar.
Добро пожаловать в этот учебник по анализу настроений с помощью Python. Поскольку мы все знаем, что человеческие настроения часто отображаются в виде выражения лица, устных коммуникаций или даже письменных диалектов или комментариев. Давайте посмотрим на то, как это может быть предсказано с помощью Python.
Оглавление
- Введение в анализ настроений с помощью Python
- Что такое обработка естественных языков?
- Очистка текста для анализа и обработки
- Выполнение анализа настроений с помощью Python
- Полный код
- Недостатки нашей модели
- Заключение
Введение в анализ настроений с помощью Python
С трендами в машинном обучении различные методы были применены к данным, чтобы сделать прогнозы, аналогичные человеческому мозгу.
Разработка этих задач искусственного интеллекта приносит нас в глубины глубокого обучения и обработки естественного языка.
Анализ настроений – это техника обработки натурального языка.
Что такое обработка естественных языков?
Обработка естественного языка (NLP) – это подмножество искусственного интеллекта, где машина обучается для анализа текстовых данных. Анализ настроений – это методика NLP, чтобы предсказать настроение писателя. По настроению, мы вообще имеем в виду – положительный, отрицательный или нейтральный.
NLP – это огромный домен, и задача обнаружения настроения может быть выполнена с использованием встроенных библиотек, таких как NLTK (набор инструментов натурального языка) и различные другие библиотеки.
Очистка текста для анализа и обработки
Любые текстовые данные в его сырьевой форме не могут быть проанализированы библиотеками NLP. Эти данные должны быть очищены с использованием различных методик обработки данных, таких как:
- Устранить HTML-теги: неструктурированный текст содержит A Много шума и, следовательно, нам нужно удалить теги HTML, если таковые имеются.
- Устранить акцентированные персонажи: Как NLP в основном работает для английского языка, наличие акцентированных персонажей не имеет смысла и, следовательно, необходимо удалить.
- Развернуть сокращения : Слоги часто используются в разговоренном английском и, следовательно, необходимо расширить их в оригинальную форму.
- Устранить специальные символы : Любые не буквенно-цифровые символы в тексте должны быть удалены.
- Лемматизация/stemming : Необходимо прибыть на базовую форму слов, то есть базовая форма плавания плавает.
- Удалить стоп слова: Остановки слов, такие как статьи, союзники и предлоги, должны быть удалены.
После всех вышеперечисленных процессов наш текст часто называют CORPUS в терминологии NLP, передается на нашу модель анализа настроений.
Я поместил несколько примерных предложений, которые преобразуются после вышеуказанного процесса.
Before: Terrible airport with arrogant staff and poor signage. After: terrible airport arrogant staff poor signage
Before: The airport is huge and has almost all the facilities making the transit smooth. After: airport huge almost facility make transit smooth
Before: The display told me that desks 59-62 were for Silkair, but in reality it was from 52-55. After: display tell desk 59 62 silkair reality 52 55
Мы будем использовать предварительно обработанные предложения выше в нашей модели анализа настроений ниже.
Выполнение анализа настроений с помощью Python
Сначала мы будем снимать его, используя Python, затем передайте примеры для проверки результатов. Мы будем использовать библиотеку TextBlob для выполнения анализа настроения.
В функции, определенной ниже, Text Corpus передается в функцию, а затем объект TextBlob создается и сохраняется в объект анализа.
Текст при прохождении через TextBlob ()
достигает некоторых свойств, таких как настроение, содержащие полярность. Эти значения полярности затем проверяются.
Если полярность больше 0, настроение – положительный
, если это равно 0, это Нейтральный
И если это меньше 0, настроение – это Отрицательный
Отказ
from textblob import TextBlob def get_tweet_sentiment(text): analysis = TextBlob(textt) if analysis.sentiment.polarity > 0: return 'positive' elif analysis.sentiment.polarity == 0: return 'neutral' else: return 'negative'
Выход наших примеров утверждений будет следующим:
Input corpus: terrible airport arrogant staff poor signage Sentiment: negative
Input corpus: display tell desk 59 62 silkair reality 52 55 Sentiment: neutral
Input corpus: airport huge almost facility make transit smooth Sentiment: positive
Полный код
from textblob import TextBlob def get_tweet_sentiment(text): analysis = TextBlob(textt) if analysis.sentiment.polarity > 0: return 'positive' elif analysis.sentiment.polarity == 0: return 'neutral' else: return 'negative' print(get_tweet_sentiment())
Недостатки нашей модели
Наша сентиментальная модель анализа не может предсказать чувства любых саркастических комментариев. На самом деле это не в объеме NLP (на сегодняшний день), чтобы предсказать саркастические твиты.
Заключение
Я надеюсь, что эта статья дала представление о анализе настроений текста с использованием обработки натурального языка. Попробуйте свои собственные заявления и дайте нам знать, каковы ваши отзывы в разделе комментариев.