Using API.AI: Lessons Learned
We wanted to set up an AI-based chatbot using API.AI to test different products and potential services. Here are the pros and cons we discovered.
Join the DZone community and get the full member experience.Join For Free
Our R&D team has set up a committee to work on AI (artificial intelligence) to test different products and potential services we could offer. One of the areas we wanted to tinker with was the world of chatbots.
API.AI for Chatbots
When looking at different approaches for building a chatbot, we figured we could start from scratch or leverage a platform to accelerate our time to market. After looking at a number of services, we decided to use API.AI. We figured it gave us the ability to have a web-based presence and the ability to integrate with Facebook Messenger and Skype.
Roadblocks With API.AI
In some instances, API.AI will do the job; however, we had some specific requirements. Fortunately, we found out about the lack of these requirements early enough to avoid too much investment in the tool before moving to another platform.
No Web Formatting
We wanted to be able to brand our chat interface with different font colors and the like. However, we were unable to do that in the API.AI web interface. However, this is a minor limitation we could live with if it was the only challenge (mainly because we could use Facebook Messenger or Skype and have more control on those platforms).
The whole idea behind using a chatbot is for it to be able to step in when a person is not available. Most live chat software has a logging feature — after all, you want to keep a record of conversations between your customer support team and customer. With API.AI, were not able to easily identify a way to log conversations, which meant we had no idea what the customer asked nor how the robot responded. This was a major issue in our use case! Granted, there is a section where it shows you unanswered questions and the correct response when you go into the interface, but for training purposes or follow-up, this was a major gap in our view.
You have the ability to create a webhook, but there are pros and cons. Mainly, it boils down to the ability to link your own customer database or send information to your own database after an interaction. Most of what you are able to do must be done from within the API.AI platform, making it a bit too proprietary for comfort. While it’s nice to have this platform setup, renting someone else’s land is never a good long-term solution.
AI: An Evolving Landscape
Google bought API.AI back in September 2016. Between Google’s tendency to change or shut off services at will, and the fact that it’s been over a year and there hasn’t been a lot of open-ended capabilities added, I recommend continuing to look at additional options.
Of course, there will be use cases that aren’t constrained by the challenges I mentioned above. For every AI R&D effort, there is likely a platform available.
In the end, the nice thing about this was that API.AI allowed us to easily get our hands dirty with and learn from. It helped us understand the concept of “intent” and also the work that goes into building a chatbot.
Opinions expressed by DZone contributors are their own.