Анализ настроений на основе глубокого обучения: автоматизированный способ узнать чувства ваших клиентов

Машина, предсказывающая ваши эмоции на основе того, что вы говорите / пишете. Поистине потрясающая концепция… !!! Представьте, что у вас есть 1 миллион покупателей для вашего продукта. Тысячи из них пишут отзывы о продукте. Как вы знаете, эти обзоры - лучший способ понять, насколько ваш продукт принят на рынке. Читать все эти отзывы и понимать чувства клиентов - утомительное занятие. Вам необходимо иметь отдельные человеческие ресурсы, чтобы определить, какие из этих обзоров являются положительными и отрицательными. Некоторые отзывы также могут быть нейтральными. Проще говоря, в этом и заключается суть анализа настроений.

Анализ настроений - не новая техника. Он уже несколько лет является частью анализа рынка. 15 лет назад это было больше ручная работа. Но с появлением точных алгоритмов и инструментов машинного обучения теперь это считается автоматизированной задачей. Здесь возникает вопрос: какой алгоритм машинного обучения лучше всего подходит для анализа настроений? Это был актуальный вопрос до последних 3–4 лет на всех конференциях по аналитике сантиментов. Сейчас мы живем в эпоху глубокого обучения. Сейчас тот же вопрос меняется на то, какая архитектура нейронной сети лучше всего подходит для анализа настроений. Это изменение возникло с тех пор, как глубокое обучение превосходит даже сложный алгоритм машинного обучения nlp.

Как глубокое обучение так эффективно классифицирует настроения? На это есть несколько причин. Самая сложная часть обработки естественного языка - это представление слов. Ранее специалисты по данным использовали простую модель набора слов для представления слов, которая не обеспечивала никаких семантических отношений между словами. Глубокое обучение показало более эффективные способы представления слов как значений полных векторов. Модели Word2vec (by mikolov), такие как пропустить грамм или непрерывный мешок слов, могут осмысленно представлять любые слова в векторном пространстве. Как только вы преодолеете эту сложную часть представления слов, теперь это легкая задача. Вы можете снова использовать глубокое обучение или использовать любые алгоритмы машинного обучения для классификации текста на положительные или отрицательные. Для этой цели можно использовать простую линейную регрессию к сложным LSTM с накоплением. Точность повышается, когда вы используете нейронные сети, поскольку они могут намного лучше извлекать функции.

Особенности на изображениях легко понять. Когда дело доходит до предложений, люди не понимают, есть ли у текста особенности или нет. Давайте разберемся в этом, взяв два предложения вроде «это потрясающий фильм» и «это ужасный фильм». Это настолько очевидно, что полярность этих предложений определяется такими словами, как «потрясающе» и «ужасно». Такие слова буквально называют особенностями предложения. Они придают истинный смысл предложениям. Чем лучше вы извлечете эти особенности, тем выше будет ваша точность. Для метода машинного обучения, используемого для анализа настроений, извлечение признаков - непростая задача. Эта конкретная часть разработки функций, зависящая от задачи, полностью пропускается в модели глубокого обучения, за исключением нескольких шагов предварительной обработки. Модель сама извлекает признаки из предложений и предсказывает полярность.

Как создать модель анализа настроений с помощью глубокого обучения? Шаги следующие: -

  1. Разделите текстовые данные на предложения.
  2. Добавьте теги предложение_start и предложение_end к каждому предложению.
  3. Преобразование предложений в слова (вы можете использовать токенизатор слов NLTK)
  4. Подсчитайте частоты слов.
  5. Создайте словарь слов и индексы слов.
  6. Преобразуйте каждое слово в вложения слов, используя модель word2vec (для этого вы даже можете использовать предварительно обученные в Google вложения слов).
  7. Загрузите векторы внедрения в сеть CNN, RNN или LSTM (можно также использовать даже простой DNN)
  8. Обучите нейронную сеть, используя любой алгоритм обратного распространения.
  9. Сохраните модель и используйте ее для прогнозов.

Получить точную модель анализа настроений не так-то просто. Есть так много проблем, что усложняет задачу. Некоторые из них перечислены ниже.

  • Сарказм: это тип разговора, который не понимают даже люди. Тогда как вы ожидаете, что машина сделает это лучше ?!
  • Отрицание. Такие предложения, как «это было не так хорошо», выражают негативное мнение, хотя содержат положительные черты, такие как слово «хорошо». Есть несколько статей, в которых объясняется, как преодолеть эту проблему. Даже более широкий набор данных с такими предложениями решает эту проблему.
  • Отсутствие орфографии: использование таких языков обмена сообщениями, как «gr8», «gud», «evng» и т. д., не является законченным словом (все еще может быть решено с помощью достаточного количества таких слов в наборе данных)
  • Разрешение анафоры: проблема определения того, к чему относится местоимение или существительная фраза ». Мы посмотрели фильм и пошли обедать; это было ужасно." Что оно относится к?
  • Редкие слова: очень редкие слова могут вызвать путаницу. «Действительно дрянная услуга».

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