IBM Watson APIs are more accessible than you think. The trick is just how creative you can be.
I don’t like the fantasy genre. I mean I really don’t like it. I fell asleep during The Lord of the Rings in the theater. I smiled and winced through every Harry Potter film because my wife and kids love it. The closest I come to fantasy would be The Princess Bride, and that’s only because I saw it as a kid and it stuck with me. It’s pretty campy, but I love Christopher Guest. Plus Mandy Patinkin’s line: “My name is Inigo Montoya! You killed my father! Prepare to die!” That’s so cheesy that it works.
So when it was my turn to get sorted at the COMMON Annual Meeting and Exposition back in May, I put on my brave face and let IBM’s open-source wizard Jesse Gorzinski put the wired-up IBM sorting hat on my melon. At that point, Jesse and I were magically transported to the land of Harry Potter.
Well, not really. I was sorted into Ravenclaw and wondered which house that was.
What was cool about it was the natural language recognition: questions and answers that were fed to Watson, which then picked my house based on what I answered about my personality. It was a practical example given the overall Harry Potter motif of the conference. When you think about what Watson is doing right now, it seems daunting that the average company would find practical applications for it. Here are a few examples of what Watson is doing:
- Watson provides artificial intelligence (AI) on-demand video highlights for Wimbledon, effectively automating video editing on the fly.
- Macy’s On-call is a mobile service provided by Macy’s to allow for natural language questions and answers about products and services (in both English and Spanish).
- The American Cancer Society is working with IBM to build a Watson-based virtual advisor, which offers patients personalized information and advice.
- The Cleveland Clinic, a not-for-profit cancer research company, is using Watson to research cancer treatments based on a patient’s DNA.
- Under Armour has created an app using Watson’s analytical capabilities to act as a personal trainer and health advisor by crunching physiological, behavioral, and nutritional data.
In my opinion, IBM brought Watson down to the street level and showcased what it can do in context. Right about now, you should be asking yourself, “How can my business take advantage of Watson?” If you were sorted by the hat at the COMMON Annual Meeting, then you shouldn’t have missed that point.
At the conference, Alison Butterill, Scott Forstie, Tim Rowe, Doug Mack, and the aforementioned Jesse Gorzinski gave a presentation called “IBM i and Watson.” I would argue it was the most important session of the conference. Contained within a conference room were five very key IBM i leaders talking about how IBM i customers can leverage Watson to gain insights into their business. They talked about Watson Analytics and the low-cost options for connecting IBM i to Watson with DB2 Web Query, SQL, Python, Node.js, and yes, even RPG. Sorting hat aside, if you really want to get down to street level with the IBM i community, you throw four slides into the deck and show exactly how to get an RPG program talking to a Watson API. It’s very simple in fact. So simple that yours truly, with rudimentary programming expertise, downloaded the sample code and was querying Watson in about 30 minutes. A stronger developer probably would’ve only taken 5 to 10. The API is for a Watson language translator, so I was typing English phrases into one green-screen field while Watson was converting it on the fly to Spanish and displaying it in another.
This is possible through the Integrated Web Services (IWS) server and Swagger documents. The IWS server has been around for about 10 years. As of 2016, it can deliver RESTful APIs with OpenAPI specifications. A Swagger document is the REST API equivalent of a WSDL document for a SOAP web service. Swagger allows IBM i REST APIs to connect with platforms such as IBM Bluemix and IBM API Connect. The best part about this is that you do not have any additional languages to learn. If you want to connect to Watson with RPG, Python, Node.js, or SQL, then pick your poison. You just need to be on IBM i 7.1 or above.
Jesse was kind enough to share with me some slides from the IBM i and Watson presentation. First, the RPG slides will give you the information you need in order to get an RPG program talking with Watson. As you can see, there’s nothing out of the ordinary involved with the program. No special web configuration or anything. It’s an RPG program that takes advantage of a Watson API. That’s it.
Figure 1: Initial RPG sample program using Watson API
Figure 2: Cooperative image of ILE RPG and Watson API
Figure 3: transLate_Text() Sub procedure
Figure 4: Call program
IBM has provided many examples of how Python can talk to Watson. In fact, the presentation includes a cool example of how to connect Python with Watson. In this example, a Python program connects to Watson’s Personality Insights API. Personality Insights is very interesting. Essentially, you supply Watson with text (the more, the better), and Watson will give you insights into the personality of the person who wrote it. You can check out the demo yourself at https://personality-insights-livedemo.mybluemix.net.
You can even have Watson analyze your Twitter feed. I did. Now I feel like I have to work on myself a little bit. Maybe Watson has a psychiatry app? The Watson virtual couch API.
Figure 5: Steve’s Personality Insights summary
Figure 6: Steve’s traits by percentile
Figure 7: Steve’s sunburst chart
There are plenty of examples of Watson APIs that you can investigate. The trick is to get creative and explore how these APIs can assist your business. For instance, you can use the Watson Tone Analyzer to detect emotional, social, and language tones within text. Imagine if you could tailor an action based on the tone of the text. Perhaps you can analyze the content of a customer feedback email to request a voice call follow-up from one of your customer service representatives, simply based on the irate tone of the text. Maybe you can analyze customer content on your company’s Twitter or Facebook page and trigger a similar response or an alert. You can use the Watson Discovery service to identify patterns and trends to help drive better decision-making.
These are not cut-and-dry boxed solutions. These are tools to help your business be more creative in how it responds to its customers, business partners, and the market. The key to harnessing Watson is whatever you can imagine. It will require some brainstorming sessions on your part in order to provide value. The first step is understanding what Watson can do and then using that knowledge and a bit of creativity to imagine the possibilities in the context of your business. The second is understanding that Watson can be at the fingertips of any small to medium business at a relatively low cost, with minimal effort from a programming standpoint. The power of Watson can easily be at your fingertips.
And if there’s any reason to be at the COMMON Fall Conference in St. Louis, it’s to see the IBM i and Watson presentation.