На самом деле, еще меньше. Основной инструмент для написания такого приложения — Node-RED в Bluemix
![](https://habrastorage.org/r/w1560/files/85f/f7c/fb1/85ff7cfb13ef4f368a8c847c1875f575.png)
Несколько лет назад наша компания разработала инструмент Node-RED. Это open-source сервис, который помогает создавать приложения на модульной основе — нужно просто соединять готовые блоки. В качестве блоков выступают не только программные модули, но и различные устройства, веб-API и онлайн-службы. Для работы с Node-RED нужны базовые знания HTML, CSS и JavaScript. Конечно, чем глубже ваши знания, тем более совершенное приложение можно будет создать.
Сегодня в качестве примера мы покажем, как на основе Node-RED можно создать приложения для анализа твитов заданной тематики в режиме реального времени (первоисточник — англоязычная статья). Тематика (ключевое слово) — не единственный критерий, искать можно и по автору или хэштегу. Но в примере используется именно поиск по ключевым словам. Кроме темы, приложение, которое мы напишем, будет способно оценивать эмоциональную окраску сообщения. Искать будем только негативные твиты определенной тематики. Нужные сообщения будут показываться в течение пары секунд после того, как их кто-то напишет.
Ну, например, мы ищем отзывы о ресторане «Jim’s fries». Помним, искать будем только негативные отзывы. Например, такие:
«Jim’s fries это худший ресторан из тех, где я был! И карточкой расплатиться не дали! Никому не советую!»
![](https://habrastorage.org/r/w1560/files/7bf/09e/200/7bf09e2009ec43a981b3ba59b81c388c.png)
Итак, для того, чтобы создать подобный инструмент, нужно изначально открыть редактор Node-RED. Затем мы будем создавать приложение, перетаскивая нужные модули (это предварительно прописанные части кода, выполняющие желаемое действие) из панели слева в редакторе Node-RED в центральное поле редактора. Здесь и будем собирать наш алгоритм. Для того, чтобы соединять модули, нужно нажимать на точку выхода одного модуля, подтягивая ее к точке входа другого.
Каждый модуль должен получить определенные параметры. Для их назначения нажимаем на модуль дважды и заполняем появляющуюся форму.
![](https://habrastorage.org/r/w1560/files/497/cdb/35d/497cdb35d5c94d9cb48218fde8f28c7f.png)
Совет: если параметров для поиска несколько, добавьте их через запятую и без пробелов. Запятая=ИЛИ, пробел=И. Программный интерфейс Твиттера не выдаст 100% всех твитов. Твиты тех, на кого вы подписаны будут включать их ретвиты и то, что добавлено в избранное.
Как только нужные действия выполнены, нужно нажать кнопку запуска приложения (Deploy). Кнопка размещается в правом верхнем углу редактора. Если все правильно, все начинает работать сразу, без «доводки».
А вот и приложение
![](https://habrastorage.org/r/w1560/files/d02/142/630/d0214263013f4e3b896ade639724806b.png)
Искать твит –> Получить значение ЭМОЦИОНАЛЬНАЯ ОКРАСКА –> Отладить значение ЭМОЦИОНАЛЬНАЯ ОКРАСКА + Проанализировать уровень негатива –> Отправить сообщение по e-mail, если значение ЭМОЦИОНАЛЬНАЯ ОКРАСКА меньше либо равно заданному
Написанное в качестве примера приложение Node-RED включает лишь пять модулей. Первый — анализирует Twitter на предмет твитов с нужными ключевыми словами (они задаются как раз в параметрах модуля). Для того, чтобы все это работало, нужно задать свои учетные данные для Twitter. В поле For добавляем имя пользователя сервиса микроблогов, чьи твиты будем искать, хэштеги, плюс ключевые слова. В текущем примере использовался хэштег #testnegative.
Покончив с первым модулем, переходим ко второму. Здесь мы добавляем анализ эмоциональной окраски твита, соединяя вход второго модуля с выходом первого. Как уже говорилось выше, мы будем искать только лишь твиты с негативной окраской. Но можно искать и положительные твиты, почему нет? Эмоциональность сообщения оценивается по шкале от -5 до 5, где -5 – это очень негативный твит, 0 – нейтральный и 5 – чрезвычайно положительный отзыв.
Следующим идет модуль «отладить» для записи присвоенных значений эмоциональной окраски твита в лог Node-RED. Если нет времени, можно и не использовать такой модуль, но в этом случае возможны определенного рода сбои. В качестве примера приведем следующие типы отзывов:
• Значение ЭМОЦИОНАЛЬНАЯ ОКРАСКА 4: #testnegative Ресторан Jim’s fries потрясающий!
• Значение ЭМОЦИОНАЛЬНАЯ ОКРАСКА -3: #testnegative Jim’s fries это худший ресторан из тех, где я был!
• Значение ЭМОЦИОНАЛЬНАЯ ОКРАСКА -4: #testnegative Jim’s fries это худший ресторан из тех, где я был! И карточкой расплатиться не дали!
• Значение ЭМОЦИОНАЛЬНАЯ ОКРАСКА -5: #testnegative Jim’s fries это худший ресторан из тех, где я был! И карточкой расплатиться не дали! Никому не советую!
• Значение ЭМОЦИОНАЛЬНАЯ ОКРАСКА -8: #testnegative Jim’s fries это худший ресторан из тех, где я был! И карточкой расплатиться не дали! Никому не советую! Ужасный сервис!
Уже после этого используем модуль выбора, где отсеиваются все отзывы с эмоциональной окраской выше или равной -5. Модуль получил название «Проанализировать уровень негатива».
И последним идет модуль уведомления, который сообщает владельцу приложения о появлении твита с нужным уровнем эмоциональной окраски. Уведомление приходит на рабочую почту:
![](https://habrastorage.org/r/w1560/files/d47/ba4/1b8/d47ba41b81b345ad9ce9848fe543e92c.png)
Среда Node-RED в Bluemix крайне проста и дружественна пользователю. Для создания приложения особые познания в программировании не нужны. Конечно, необходимы базовые знания и логика, но больше ничего не требуется. Кроме, разве что, задачи, которую требуется решить. Создаваемые приложения могут быть гораздо более сложными, чем наш пример. Вот еще один пример, где в Node-RED создается функциональное приложение для управления smart-устройствами дома:
![](https://habrastorage.org/r/w780q1/files/00c/223/404/00c2234045a64a69bbdfe84457e28afa.jpg)
После того, как приложение готово, его можно модифицировать в соответствии с текущей задачей. К примеру, уже написанное нами приложение можно использовать для поиска лишь положительных твитов. Кроме того, можно сделать так, что уведомления будут отправляться в Slack или другие мессенджеры.
Отдельно стоит подчеркнуть, что вся работа по созданию приложения занимает считанные минуты. Модифицирование приложения занимает еще меньше времени – здесь счет уже на секунды.
Ну а для того, чтобы получить дополнительную информацию по среде Node-RED и Bluemix, предлагаем принять участие в вебинаре, который состоится уже 23 июня. Приходите, будет интересно :)
![](https://habrastorage.org/files/85f/f7c/fb1/85ff7cfb13ef4f368a8c847c1875f575.png)
Несколько лет назад наша компания разработала инструмент Node-RED. Это open-source сервис, который помогает создавать приложения на модульной основе — нужно просто соединять готовые блоки. В качестве блоков выступают не только программные модули, но и различные устройства, веб-API и онлайн-службы. Для работы с Node-RED нужны базовые знания HTML, CSS и JavaScript. Конечно, чем глубже ваши знания, тем более совершенное приложение можно будет создать.
Сегодня в качестве примера мы покажем, как на основе Node-RED можно создать приложения для анализа твитов заданной тематики в режиме реального времени (первоисточник — англоязычная статья). Тематика (ключевое слово) — не единственный критерий, искать можно и по автору или хэштегу. Но в примере используется именно поиск по ключевым словам. Кроме темы, приложение, которое мы напишем, будет способно оценивать эмоциональную окраску сообщения. Искать будем только негативные твиты определенной тематики. Нужные сообщения будут показываться в течение пары секунд после того, как их кто-то напишет.
Как все это будет выглядеть?
Ну, например, мы ищем отзывы о ресторане «Jim’s fries». Помним, искать будем только негативные отзывы. Например, такие:
«Jim’s fries это худший ресторан из тех, где я был! И карточкой расплатиться не дали! Никому не советую!»
Хочу такое приложение, как его написать?
![](https://habrastorage.org/files/7bf/09e/200/7bf09e2009ec43a981b3ba59b81c388c.png)
Итак, для того, чтобы создать подобный инструмент, нужно изначально открыть редактор Node-RED. Затем мы будем создавать приложение, перетаскивая нужные модули (это предварительно прописанные части кода, выполняющие желаемое действие) из панели слева в редакторе Node-RED в центральное поле редактора. Здесь и будем собирать наш алгоритм. Для того, чтобы соединять модули, нужно нажимать на точку выхода одного модуля, подтягивая ее к точке входа другого.
Каждый модуль должен получить определенные параметры. Для их назначения нажимаем на модуль дважды и заполняем появляющуюся форму.
![](https://habrastorage.org/files/497/cdb/35d/497cdb35d5c94d9cb48218fde8f28c7f.png)
Совет: если параметров для поиска несколько, добавьте их через запятую и без пробелов. Запятая=ИЛИ, пробел=И. Программный интерфейс Твиттера не выдаст 100% всех твитов. Твиты тех, на кого вы подписаны будут включать их ретвиты и то, что добавлено в избранное.
Как только нужные действия выполнены, нужно нажать кнопку запуска приложения (Deploy). Кнопка размещается в правом верхнем углу редактора. Если все правильно, все начинает работать сразу, без «доводки».
А вот и приложение
![](https://habrastorage.org/files/d02/142/630/d0214263013f4e3b896ade639724806b.png)
Искать твит –> Получить значение ЭМОЦИОНАЛЬНАЯ ОКРАСКА –> Отладить значение ЭМОЦИОНАЛЬНАЯ ОКРАСКА + Проанализировать уровень негатива –> Отправить сообщение по e-mail, если значение ЭМОЦИОНАЛЬНАЯ ОКРАСКА меньше либо равно заданному
Написанное в качестве примера приложение Node-RED включает лишь пять модулей. Первый — анализирует Twitter на предмет твитов с нужными ключевыми словами (они задаются как раз в параметрах модуля). Для того, чтобы все это работало, нужно задать свои учетные данные для Twitter. В поле For добавляем имя пользователя сервиса микроблогов, чьи твиты будем искать, хэштеги, плюс ключевые слова. В текущем примере использовался хэштег #testnegative.
Покончив с первым модулем, переходим ко второму. Здесь мы добавляем анализ эмоциональной окраски твита, соединяя вход второго модуля с выходом первого. Как уже говорилось выше, мы будем искать только лишь твиты с негативной окраской. Но можно искать и положительные твиты, почему нет? Эмоциональность сообщения оценивается по шкале от -5 до 5, где -5 – это очень негативный твит, 0 – нейтральный и 5 – чрезвычайно положительный отзыв.
Следующим идет модуль «отладить» для записи присвоенных значений эмоциональной окраски твита в лог Node-RED. Если нет времени, можно и не использовать такой модуль, но в этом случае возможны определенного рода сбои. В качестве примера приведем следующие типы отзывов:
• Значение ЭМОЦИОНАЛЬНАЯ ОКРАСКА 4: #testnegative Ресторан Jim’s fries потрясающий!
• Значение ЭМОЦИОНАЛЬНАЯ ОКРАСКА -3: #testnegative Jim’s fries это худший ресторан из тех, где я был!
• Значение ЭМОЦИОНАЛЬНАЯ ОКРАСКА -4: #testnegative Jim’s fries это худший ресторан из тех, где я был! И карточкой расплатиться не дали!
• Значение ЭМОЦИОНАЛЬНАЯ ОКРАСКА -5: #testnegative Jim’s fries это худший ресторан из тех, где я был! И карточкой расплатиться не дали! Никому не советую!
• Значение ЭМОЦИОНАЛЬНАЯ ОКРАСКА -8: #testnegative Jim’s fries это худший ресторан из тех, где я был! И карточкой расплатиться не дали! Никому не советую! Ужасный сервис!
Уже после этого используем модуль выбора, где отсеиваются все отзывы с эмоциональной окраской выше или равной -5. Модуль получил название «Проанализировать уровень негатива».
И последним идет модуль уведомления, который сообщает владельцу приложения о появлении твита с нужным уровнем эмоциональной окраски. Уведомление приходит на рабочую почту:
![](https://habrastorage.org/files/d47/ba4/1b8/d47ba41b81b345ad9ce9848fe543e92c.png)
В качестве вывода
Среда Node-RED в Bluemix крайне проста и дружественна пользователю. Для создания приложения особые познания в программировании не нужны. Конечно, необходимы базовые знания и логика, но больше ничего не требуется. Кроме, разве что, задачи, которую требуется решить. Создаваемые приложения могут быть гораздо более сложными, чем наш пример. Вот еще один пример, где в Node-RED создается функциональное приложение для управления smart-устройствами дома:
![](https://habrastorage.org/files/00c/223/404/00c2234045a64a69bbdfe84457e28afa.jpg)
После того, как приложение готово, его можно модифицировать в соответствии с текущей задачей. К примеру, уже написанное нами приложение можно использовать для поиска лишь положительных твитов. Кроме того, можно сделать так, что уведомления будут отправляться в Slack или другие мессенджеры.
Отдельно стоит подчеркнуть, что вся работа по созданию приложения занимает считанные минуты. Модифицирование приложения занимает еще меньше времени – здесь счет уже на секунды.
Ну а для того, чтобы получить дополнительную информацию по среде Node-RED и Bluemix, предлагаем принять участие в вебинаре, который состоится уже 23 июня. Приходите, будет интересно :)