This is the final post in a series where I’m answering your questions that we had to leave unanswered due to the lack of time at the Virtual Summit on Intelligent Agents and Chatbots webinar. You can read answers on the first portion of questions here.

You can watch the recording of the webinar here.

 

“Are there good examples available today showing structured content enabled bots? What are typical costs and timelines to develop bots to deliver structured content to users (by bot complexity, simplest to most advanced)?”

We are just in the beginning of the chatbot era so many companies are still experimenting and running pilots trying to understand the possibilities and implications of chatbots on their business. Accenture, for example, reported about a telecom company where a chatbot was used on a set of common customer queries. The chatbot could resolve 82% of interactions by itself and 88% of interactions when combined with a human agent.

The cost and timeline depend on what you want your chatbot to do. A very simple chatbot with a collection of hard-coded answers could be built on a free chatbot platform, like Chatfuel or Rebotify, within a few hours. Developing a sophisticated chatbot that can handle complex conversations and retrieve answers from a content database built on a platform like API.AI or using a library like TensorFlow may take months and tens of thousands dollars.

So there is no simple answer to the question about costs. First, you need to decide what you want your chatbot to do, then you need to design a conversation, then choose the platform and tools to build the chatbot, and then build it.

 

“About linking the DITA based data to chatbots, are there many challenges between different API’s? Like the back-end CMS API vs the API for a mobile app, a chatbot, an augmented reality platform?”

Of course, there are differences between different chatbot platforms and APIs. Chatbots Journal did a quite good job compiling a comparative table.

On a personal note, I can say that we started with building a chatbot on one of these famous industry-recognized APIs. The problem with it, like with any platform, was that you have to rely on the platform’s capabilities and don’t really have a full control of what’s going on. Plus vendors of messengers, like Skype, Facebook Messenger, Slack, or WhatsApp, keep updating their functionality quite frequently. If you are developing your chatbot on a third-party chatbot API, you will have to wait until the API’s vendor will implement the support for the new features (and there is no guarantee that the way the new feature is supported is the way you need it for your purposes).

So in some cases, it’s more efficient to create a proof-of-concept using one of these APIs, but then develop your own framework.

 

“Can you share examples of “common platforms” for chatbot content, static or dynamic, or are proprietary solutions typically used?”

“What are popular chatbot tool available in the market, free/paid?”

Generally, there are three types of platforms that you can use to build a chatbot:

  1. Code-free chatbot platforms (e.g., Chatfuel, Rebotify, ChattyPeople, Botsify, etc.). Most of them allow you to specify a set of rules or patterns and make the chatbot answer and behave depending on the rule. For example, you can define that if the user typed “Hi”, “Hello”, or “Hey”, the chatbot should display a pre-defined welcome message. You can also specify a list of possible answers that the chatbot should display to the user, and then depending on what the user chose, perform a certain action or display the next question or answer. A nice thing is that you can do all this without writing a single line of a programming code. My very first chatbot was designed to help our prospective customers choose the configuration of our product that fits their specific needs by asking a series of questions and then making a recommendation based on the user’s answers. I’ve spent around 5 hours to design the conversation and about 2 hours to actually build the chatbot.
  2. Chatbot development frameworks (e.g., API.ai, Wit.ai, MS Bot Framework, etc.). Although these frameworks provide you with a graphical UI to set up and train the chatbot plus they include a built-in AI and NLP engine, you need to actually write a programming code that processes the information gathered by the chatbot. For example, you can define intents and entities using the UI, and your framework will be able to retrieve the intents and entities from the actual user’s request, but it’s your responsibility to make the chatbot to connect to the content database, match the intent and entities to the content in the database, find the answer, and give it back to the user. The framework provides you with ready programming functions to speed up the development, but you still have to program. But chatbots built on these development frameworks are much more powerful and flexible than the ones created using code-free chatbot platforms.
  3. General-purpose deep machine learning development frameworks (e.g., TensorFlow, Keras). These frameworks were not designed specifically for chatbots. They were built to help you develop deep learning algorithms, which can be used also in chatbots. This is probably the most powerful, but also most expensive way to build chatbots. You definitely don’t need it for any chatbot.

 

“Can we use api.ai to create prototype model. The model to create a database and showcase with a scenario.”

Yes, definitely! We ourselves used API.ai to create a working prototype. Our prototype used the API.ai’s AI and NLP engine to recognize intents and entities, which then was processed and matched to semantic metadata of the content in the database.

 

“If there are a limited set of possible options for particular entity, how do you expose those options to the user?”

Most chatbot platforms provide an ability to specify a list of possible options from which the user needs to pick up the answer (instead of letting the user type a free text). Depending on the platform, these options might be rendered as buttons, small images, radio buttons, etc. You have to define the chatbot’s action or response for each button.

Leave a Reply

Your email address will not be published. Required fields are marked *