Leveraging AI With MS Bot Framework
How developing with AI is easier than ever (and some obstacles we found along the way).
AI-powered applications are becoming a greater force in the market. Alexa, Siri, Cortana, and Google Assistant are prolific on the consumer side, and they’re making a push into enterprise as well. Meanwhile chatbots are finding their way into every social media and instant messaging platform on the planet (sometimes with unintended consequences).
While more and more chatbots proliferate the market, Buoy got some real-world experience with the Azure-powered Microsoft Bot Framework on one of our recent client projects. As with any tool, there are both strengths and challenges. Here’s what we learned while working with this SDK.
Microsoft introduced its Azure Bot Framework over two years ago, and it’s useful for creating conversational AI for website chat and chat apps like Facebook Messenger or Kik. Over 200,000 developers for companies like UPS, Sabre, and Molson Coors are signed up for the service and have created more than 33,000 active bots across a variety of industries, like healthcare, retail, and financial services. It’s a powerful platform that offers a ton of benefits, including:
Extensive documentation: If you don’t understand how to use MS Bot Framework, there’s no need to worry. Microsoft provides plenty of documentation, tutorials, videos, and even a template to see how a basic bot works. This makes getting started an easy task. There’s also a site where you can register your bots and use a test environment that allows both local and remote development. Integrating with Azure takes only a few minutes, and you can easily obtain the required MS credentials to contact the bot when necessary. Deploying a bot onto any environment is easier now than ever before.
Flexible deployment: MS Bot Framework is prepared to work with and respond to multiple channels, including your own website, Skype, Slack, Facebook Messenger, and more. Configuring these channels isn’t difficult, and it gives you much more flexibility than programming an app. With a bot, your brand can have a presence on iOS, Android, and Windows by piggybacking on all existing apps. This is much easier than developing for each platform from the ground up. And each interface already has a built-in user base, so you’ll extend your reach.
Simplistic sandboxing: On top of all this, Microsoft also provides a machine learning-based service called LUIS that helps with programming natural language and intuitive responses. Human conversations are all about context, and there’s no need to reinvent the wheel when Microsoft has already done much of the legwork over the past decade.
Although machine learning does have its advantages, no tool is ever perfect. Be prepared to run into a few obstacles when developing AI with MS Bot Framework.
Portability: MS Bot Framework uses .Net Framework, and it isn’t officially migrated to .Net Core Framework. This functionality is in the works, but for the time being, you’ll have issues deploying your bot onto a Linux Docker Container.
Contact: DirectLine is used to call the bot through Rest API. This means in order to actually post a message and get a response, you’ll need to provide a secret key, post a message to that “conversation-ID generated” link, and then filter through the channel to find the right message. This limits possible use-cases of the bots.
Price: Although quite useful, it’s important to take into account that MS Azure isn’t free. There will be associated costs with the development and the deployment of your MS Bot Framework bot, and you’ll need to estimate these costs before development to avoid draining resources.
Despite these obstacles, MS Bot Framework is a great starting point to familiarize yourself and your business with AI and machine learning. These technologies will continue becoming more important as time goes on, so it’s important to begin understanding them today.