The continuous enhancement model for Watson Cognitive services delivers quite a challenge. I need to make sure I’m up to date with new and modified features, can describe them, and most importantly, show how to use them.
Being the project owner of Watson on Node-RED does help since I need to keep the service nodes up to date. I get to try the APIs, raise questions when I get stuck, and get answers and insight into the issues that might arise when others use the services.
By the way, I’ll let you in on a secret: a great way to stay current with the changes that are coming is to keep a watch on the Watson Developer Cloud Node.js SDK repository. The Node.js SDK is normally the first SDK to be updated to support new and revised features.
Recently, we’ve seen one new service, Discovery, and two major service updates to Speech to Text and Text to Speech. I’ve updated the Watson on Node-RED nodes to support these new features. Following is an overview of the changes.
New Watson Discovery service
The Watson Discovery service enables you to search your data like AlchemyData News. It comes with tooling that enables you to feed your data into the service. It also comes with a default AlchemyData News service, which you can use without the need for an Alchemy key.
I initially created a Discovery Node, which allows you to list and get environments, list and get configurations, and run a query. As with many of the existing nodes, I allowed the node to be dynamically configured through settings in a
msg.discoveryparams object. To do this, however, you need to know how to run a query. If you’re querying AlchemyData News, the available query parameters are well documented. With your own data its a little bit more difficult.
I created a Discovery Query Builder Node, which uses the service to guide you through the process of creating a query. It also works with the in built AlchemyData News configuration. The Query Builder Node sets the same
msg.discoveryparams object, so it can feed directly into the Discovery Node. We have also created a guide to using the Nodes.
Speech to Text service customization
It’s now possible to customize the Speech to Text service. Why customize? The Speech to Text service uses context to determine what is said. This is especially useful when sound quality is not good. With customization you train the service with sample sentences applicable to your domain. Most of the time the service will already have the words in its lexicon, but now it has context in which you use those words.
Occasionally you’ll give the service new words for which you will also need to provide pronunciation, giving the service both context and what to listen for. To make the process of creating a customization even easier, we’ve created a new Speech To Text Customization node for Node-RED, and an associated usage guide.
Text to Speech service customization
You can also customize the Text to Speech service. Again, customization helps train the service to correctly pronounce words, lingo and acronyms specific to your domain. And yes, there’s a new Text to Speech Customization node for Node-RED, and an associated usage guide. Note that you might need to learn a phonetic alphabet to make the most of this feature.
I make it a priority to keep the Watson on Node-RED nodes as current as possible. I’m always interested to hear how you’re using the nodes and what improvements you’d like to see. If you want to weigh in, leave me a comment below or connect with me on Twitter: @chughts.