Используйте техники НЛП, чтобы узнать, как люди говорят о вашем бренде
Анализ настроений - это процесс анализа того, является ли статья в Интернете (сообщения в социальных сетях, комментарии) положительной, отрицательной или нейтральной. Значительный прогресс был достигнут в области анализа настроений за последние несколько лет, этот метод широко используется в бизнесе и политике.
В этой статье мы подключимся к 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.