Conversational interfaces can be anything from simple informational chat- and voicebots to more advanced bot platforms requiring ‘Natural Language Processing’ and complex integrations.
At Arinti, we have helped customers build compelling conversational experiences in different domains like civil services, end-user support and HR-legal advice. We have worked with big and smaller companies that wanted to increase user satisfaction with this new and innovative technology. We act as a partner through all steps of the bot development process (design – build – test – publish – connect – evaluate).
We develop our bots with a platform that provides tools to build, test, deploy, and manage bots in one place. Through the modular and extensible framework we create bots that provide speech, language understanding, question and answer, and more.
Before building or developing a chatbot, we think it is a good idea to look at the design. You need to assure you are creating a bot experiences that actually solves a business problem, in a way the users will prefer the bot experience over alternative experiences like apps, websites, phone calls, or other means of addressing their needs. Ensuring a great user experience should be your number one priority during the design phase of a bot. Some of the key questions you should ask yourself during the design phase:
- Does the bot easily solve the user’s problem with the minimum number of steps?
- Does the bot solve the user’s problem better/easier/faster than any of the alternative experiences (app, website, phone call, …)?
- Does the bot run on the devices and platforms where my users are?
- Is the bot discoverable?
- Do the users naturally know what to do when using it?
Note that none of these questions are directly linked to how ‘smart’ the bot is. In most cases, it is unlikely that making your bot smarter will guarantee happy users or adoption of your platform. In reality, many bots have little advanced machine learning or natural language capabilities. And that’s perfectly fine! A bot may include those capabilities if they’re necessary to solve the problems that it’s designed to address, however you should not assume any correlation between a bot’s intelligence and user adoption of the bot.
Neither are these factors linked to how much natural language the bot can handle. Your bot can be great at conversations. It can have a vast vocabulary and can even make great jokes. However, unless it addresses the problems that your users need to solve, these capabilities may contribute very little to making your bot successful. In fact, some bots have no conversational capability at all. And in many cases, that’s perfectly fine. You have to look at the business case for your bot to make sure you are designing your conversations and your bot experience in the right way.
They key to designing a great bot is the following: If the bot solves the problem that users need to address and delivers a great user experience, you’re creating a chatbot that will most likely have a successful user adoption.
We’ll kick off the design phase with a bot insights workshops and lay out the foundations of your perfect bot through co-creation workshops and ideation sessions with user experience designers.
Develop – building your bot
In this phase, our developers will get to work on transforming your design into reality.
In our platform we can build chatbots with existing and well established programming languages, tools and environments such as .Net (C#) or NodeJS and Visual Studio or Yeoman. Developing a bot boils down to building a web service that implements a conversational interface in your application.
When building chat- and voicebots, these are the technical components typically found in our solutions:
- A database that contains the knowledge base to answer questions users ask.
- A advanced search algorithm
- An NLP to add a language understanding model.
- Adaptive cards or buttons
- Speech-to-text and text-to-speech services, depending on the use case
- Translation services
- An object storage to make sure you can dive into conversation logs and data once your application generates traffic
Bots are very similar to complex applications, also dealing with a lot of different parts working together and often multiple integrations. Like with any other ‘normal’ app, bugs can occur. This is exactly why we test your bot before publishing it on your preferred channels. There’s a few ways we can start testing:
- Through a desktop application that allows our bot developers to test and debug their bots, either locally or remotely. Using the application, you can already chat with your bot and inspect the messages that your bot sends and receives. The application displays messages as they would appear in a web chat UI and logs JSON requests and responses as you exchange messages with your bot.
- Through a test Web Chat channel that is automatically configured for you when we create your bot. In this test channel, the bot will ask to confirm the correctness of the given answer. That way, non-technical test users can actively contribute to the training of the bot.
When we are done testing your bot, we can publish your bot to the cloud or data center. We can set up continuous deployment that allows us to develop your bot locally. This can be specifically useful if your bot is checked into a source control like GitHub or Visual Studio Team Services. As you check your changes back into your source repository, your changes will automatically be deployed to the cloud.
Connecting – choose your channel
Connecting your bot is about choosing the right channels. This largely depends on the use case. While Facebook Messenger could be a great choice for an external chat bot, giving information about your company or taking the first basic questions from a job interview to streamline the recruitment process, Skype might be more appropriate for an internal chat bot that can help your employees solve 1st line IT problems.
Channels you can choose from include many popular services, such as Skype, Facebook Messenger, Kik, Slack, Cortana, Microsoft Teams, Telegram, SMS, Twilio, and several others. Most of our customer are currently using their bots in a dedicated Web Chat window on their inter- or intranet site.
Once your bot is live, you will want to know how it is performing. We use the data collected in the bot portal and visualize it in a report to identify opportunities to improve the capabilities and performance of the bot.
Data that is gathered in the portal can be service-level and instrumentation data like traffic, latency, and integrations or analytics that provide conversation-level reporting on user, message, and channel data. This data can help us answer questions like:
- How many users does my chatbot have?
- How long does a conversation last on average?
- How many times was the chatbot unable/not confident enough to answer a question?
- How many questions were about this specific intent/entity?