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

Основная задача анализа настроений — классифицировать полярность данного текста на уровне документа, предложения или характеристики/аспекта — независимо от того, является ли выраженное мнение в документе, предложении или характеристике/аспекте объекта положительным, отрицательным или нейтральным. Продвинутая, «внеполярная» классификация настроений рассматривает, например, такие эмоциональные состояния, как «сердитый», «грустный» и «счастливый».

Чем полезен анализ настроений?

Анализ настроений может иметь множество применений, наиболее известными из которых являются:

  • Узнайте о присутствии бренда / продукта в Интернете
  • Проверьте отзывы о продукте
  • Служба поддержки

описание проблемы

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

Получить набор данных:

https://www.kaggle.com/c/word2vec-nlp-tutorial/data

Ваш набор данных должен содержать один столбец с именем (настроение) и один столбец с именем (обзор).

Набор данных должен быть разделен табуляцией, т. Е. (Файл .tsv)

Если ваш набор данных не соответствует предлагаемому формату, сначала измените формат вашего набора данных, а затем загрузите его сюда, иначе это может привести к ошибке в обучении и прогнозировании.

вы также можете получить набор данных из Github и обучить его предсказанию

Раздел в веб-приложении

  • Загрузите свой набор данных(получите код набора данных, автоматически сгенерированный приложением, и запишите его на будущее)

  • Обучите свой набор данных(используйте код набора данных)

  • Раздел прогнозирования(используйте код набора данных для прогнозирования нового отзыва)

  • Предиктор по умолчанию(обобщение текста)

REST API

REST означает передачу репрезентативного состояния, это архитектурный стиль и подход к обмену данными между сервисами, которые находятся в сети и часто используются при разработке веб-сервисов/веб-API. Архитектура REST изначально была разработана для соответствия протоколу HTTP, используемому во всемирной паутине.

В следующей таблице приведены различные методы HTTP —

GET : отправляет данные на сервер в незашифрованном виде.

POST: используется для отправки данных HTML-формы на сервер. Данные, полученные методом POST, не кэшируются сервером.

HEAD : то же, что и GET, но без тела ответа.

PUT: заменяет все текущие представления целевого ресурса загруженным содержимым.

УДАЛИТЬ: удаляет все текущие представления целевого ресурса, заданного URL-адресом.

По умолчанию маршрут Flask отвечает на запросы GET.

Почтальон

Postman — это единственная полная среда разработки API, которая гибко интегрируется с циклом разработки программного обеспечения. Postman — это инструмент разработки API (интерфейс прикладного программирования), который помогает создавать, тестировать и изменять API.

Здесь мы вызываем нашу конечную точку upload_data_set методом POST, и данные получают в виде формата JSON, т.е. {
«msg»: «Файл с надписьюTrainData_-_Copy_7.tsv успешно загружен. Код: 434”
}

AJAX

AJAX означает Aсинхронный JavaScript и XML. AJAX — это новый метод создания более качественных, быстрых и интерактивных веб-приложений с помощью XML, HTML, CSS и JavaScript.

AJAX — это технология веб-браузера, независимая от программного обеспечения веб-сервера.

Пользователь может продолжать использовать приложение, пока клиентская программа в фоновом режиме запрашивает информацию с сервера.

При использовании AJAX, когда вы нажимаете «Отправить», JavaScript отправляет запрос на сервер, интерпретирует результаты и обновляет текущий экран. В прямом смысле пользователь никогда не узнает, что что-либо было передано на сервер.

Вот вызов AJAX с вашей веб-страницы: -

Здесь мы используем метод HTTP POST, поскольку мы загружаем набор данных, а ответ от сервера поступает в виде формата JSON (нотация объекта JavaScript). «#msg» — это идентификатор окна предупреждения в html, которое будет обновляться данными JSON. Точно так же мы вызываем API для обучения и прогнозирования с помощью указанного выше метода.

Здесь мы объявляем метод = «POST» в случае загрузки набора данных.

А теперь модель машинного обучения для анализа настроений.

Ввод текста → Токенизация → Фильтрация стоп-слов → Обработка отрицания → Вывод → Классификация → Класс тональности

Файл рассола

Модуль рассола Python используется для сериализации и десериализации структуры объекта Python. Любой объект в Python можно замариновать, чтобы сохранить на диск. Что делает pickle, так это то, что он сначала «сериализует» объект, прежде чем записывать его в файл. Pickling — это способ преобразовать объект Python (список, словарь и т. д.) в поток символов. Идея состоит в том, что этот поток символов содержит всю информацию, необходимую для восстановления объекта в другом скрипте Python.