Cool Hacks with PubNub and IBM Watson APIs
IBM Watson has a neat selection of APIs for adding language, speech, sentiment analysis, and insight capabilities into mobile and web apps. Since launching Functions, we’ve been growing a collection of pre-built functions, the PubNub BLOCKS Catalog, that integrate with various 3rd party APIs. The IBM Watson blocks are some of the most popular in our catalog, so here’s a summary of some of the cool things you can do with Watson APIs for social/chat applications and IoT apps you’re building with PubNub.
A quick note on Functions. With Functions, you can inject code into the PubNub Network that gets triggered as messages flow through the system. Effectively, each Function becomes a low-latency microservice within PubNub and, among other things, can efficiently call external APIs to enrich messages, support chatbots, add ML/AI on the stream of messages, and much more. Here’s a list of IBM Watson APIs that can be triggered from a Function useful for social/chat apps and device control/IoT apps:
- Watson Conversation to enable natural language.
- Watson Language Translator to translate text in 11 different languages.
- Watson Natural Language Understanding to analyze text, and understand a wide variety of characteristics, including sentiment, entity, emotion, keyword, and concept tagging.
- Watson Text-to-Speech to convert message text to audible speech, for a wide variety of languages and voices.
For teams building next-generation collaboration and chat apps, these IBM Watson APIs are useful tools to enrich the end-user functionality. Over the last year we’ve created a tutorials that highlight what you can do.
Building a Home Automation Virtual Agent
Our first featured tutorial shows you how to build a voice-controlled home automation app, allowing a user to control smart devices in the home with their voice from anywhere. The user simply speaks a command into their phone, the IBM Watson Conversation block parses and understands the command, and triggers an action (like turning on or off a light). All this happens in a 1/10 second or less.
From the above diagram, you’ll see how it all works.
- Receives messages from the human user.
- Translates the message with the help of IBM Watson Conversation API, and breaks them down into command (intent) and device (entity).
- Sends commands to the respective device.
And here it is in-action:
Multilingual, Language Translator Chat App
Our next tutorial utilizes the Watson Language Translator block and shows you how to build a language translator app that translates one language to another directly in the chat application. Simply set the language on either side and watch as the chat app automatically translates messages. With over 11 supported languages and real-time speed, your app just became multilingual.
It’ll look like this:
Analyze User Sentiment and Context
Sentiment analysis saves businesses a ton of time and resources. With the IBM Watson BLOCK for Sentiment and Context Analysis, you can analyze every single message that comes through your system, gauge the sentiment of the message, and apply a score to it. In our sentiment analysis tutorial, we’ll show you how to build an app to analyze text inputs and rate the emotion of the message on a scale of 1-100 and grouped as positive, negative, or neutral.
In the end, we have something that looks like this:
Our last tutorial seamlessly converts text to natural-sounding speech to build a speech-enabled bot. In this case, our bot analyzes a firehose of data and will speak whenever it senses a finding based on a predetermined threshold. So, when say, a stock price eclipses a certain price, the bot will let you know.
In the end, we have something that looks (and sounds!) like this:
We hope you enjoy all the cool things you can do when you combine IBM Watson’s awesome cognitive APIs with Functions. For more inspiration, you can check out our Watson expert Shyam Purkayastha’s extensive library of tutorials over of the IBM blog.