Используйте техники НЛП, чтобы узнать, как люди говорят о вашем бренде

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

В этой статье мы подключимся к Twitter API, соберем твиты по хэштегам, вычислим тональность каждого твита и создадим информационную панель в реальном времени, чтобы показать результат. Ниже приведен окончательный результат этого приложения. Вы можете ввести название своего бренда или что-то, что вас интересует, и посмотреть, как люди говорят об этом в Твиттере.

Попробуйте сами по ссылке ниже:



Реализация

Этот инструмент был бы очень полезен для бизнеса, чтобы отслеживать и понимать социальные настроения своего бренда, продукта или услуг. И я построил демонстрацию, используя Модель настроений Tensorflow.js. Если вам интересно, как он устроен, подпишитесь на меня ниже, и я расскажу вам шаг за шагом.

# Шаг 1. Создайте приложение Twitter

Поскольку мы хотели бы получать твиты из Twitter, чтобы проанализировать настроения, нам необходимо создать приложение на платформе разработчиков Twitter.

  • Войти / Зарегистрируйте учетную запись Twitter
  • Перейдите на https://developer.twitter.com/en/apps.
  • Нажмите "Создать приложение".
  • Заполните форму информации о приложении и создайте
  • После создания приложения перейдите на вкладку Ключи и токены.
  • Создайте ключи API потребителя и токен доступа и секрет токена доступа.

# Шаг 2. Получите твиты из Twitter

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

PHP

Чтобы упростить задачу, здесь я ссылаюсь на PHP Wrapper для Twitter API v1.1, который вызывает twitter-api-php. Загрузите TwitterAPIExchange.php из указанного выше репозитория, создайте queryTwitter.php с приведенным ниже кодом, убедитесь, что вы заменили ключи и токены API Twitter на те, которые вы создали на шаге 1.

Javascript

Затем мы пишем функцию javascript, чтобы передать запрос на указанную выше страницу php и получить твиты.

Каждый твит - это объект, который имеет такие свойства, как id, created_at, user… и то, что нас интересует, - это свойство "full_text".

# Шаг 3. Загрузите модель настроений

Просто включите сценарии для tfjs и в раздел ‹head› файла html.

<html>
  <head>
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"></script>
  </head>

Или вы можете установить его через npm для использования в проекте TypeScript / ES6

npm install @tensorflow/tfjs

Чтобы выполнить анализ настроений, нам сначала нужно загрузить предварительно обученную модель настроений и метаданные, вызвав API tf.loadLayersModel(url).

Модель была обучена на наборе из 25000 обзоров фильмов от IMDB, отмеченных как положительные или отрицательные. Этот набор данных предоставлен Python Keras, и модели обучались также в Keras на основе примеров imdb_cnn.

# Шаг 4: текст твита с анализом настроений

Для каждого твита мы вызываем model.predict(input) API в Tensorflow.js. Это будет выполнять анализ настроений для каждого текста твита, возвращая хранилище от 0 до 1, которое указывает, является ли он нейтральным, положительным или отрицательным.

# Шаг 5: отобразить результат в таблице и диаграмме

Теперь у нас есть результат тональности твитов, чтобы он выглядел красиво и легко собирать информацию, мы поместили его в таблицу и круговую диаграмму.

Теперь у нас есть результат тональности твитов, чтобы он выглядел красиво и легко собирать информацию, мы поместили его в таблицу и круговую диаграмму.

Для круговой диаграммы я использую библиотеку диаграмм jquery canvasjs.

И когда нажата клавиша ввода или нажата кнопка поиска, вызываются указанные выше функции.

Вот и все, что касается кода, и поздравляем, вы создали приложение для анализа настроений в Twitter.

Репозиторий GitHub

Вы можете скачать полный код вышеуказанной демонстрации по ссылке ниже:



Заключение

Просто используя модель CNN настроений Tensorflow.js, это простой способ провести анализ настроений, но не может достичь высокой точности, около 70%. Чтобы повысить точность, вы можете изучить более сложную модель, такую ​​как LSTM. Но все же я думаю, что это хорошая и удобная модель, и она показывает, являются ли настроения в той или иной степени положительными или отрицательными.

Спасибо за чтение. Если вам понравилась эта статья, поделитесь ею в Facebook или Twitter. Дайте мне знать в комментарии, если у вас возникнут вопросы. Следуйте за мной на GitHub и Linkedin.