Рубрики
Без рубрики

Анализ настроений с использованием Python

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

Автор оригинала: Pankaj Kumar.

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

Оглавление

  • Введение в анализ настроений с помощью Python
  • Что такое обработка естественных языков?
  • Очистка текста для анализа и обработки
  • Выполнение анализа настроений с помощью Python
  • Полный код
    • Недостатки нашей модели
  • Заключение

Введение в анализ настроений с помощью Python

С трендами в машинном обучении различные методы были применены к данным, чтобы сделать прогнозы, аналогичные человеческому мозгу.

Разработка этих задач искусственного интеллекта приносит нас в глубины глубокого обучения и обработки естественного языка.

Анализ настроений – это техника обработки натурального языка.

Что такое обработка естественных языков?

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

5 вещей, которые вам нужно знать о анализе настроений и классификации

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 (на сегодняшний день), чтобы предсказать саркастические твиты.

Заключение

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