Have you considered developing a chatbot, but dismissed the idea when you thought about how long it would take and how expensive it would be? It doesn’t take long to develop a chatbot service, nor does it cost a lot of money. Many companies offer ready-made frameworks for this purpose. For a chatbot – as a smart assistant – to offer you added value, the concept must be well thought out from the start. But how can a chatbot deliver concrete added value to your company and what technologies are in a chatbot? In this article, we provide you with our best practices from concept to implementation.
What is the goal of your chatbot?
A chatbot must be designed to assist with specific tasks. The implementation should never aim to have a chatbot as an end or because it is trendy now. General business areas where a bot can be useful include sales, marketing, or human resources:
- Sales and marketing: product information, consulting, ordering.
- Human resources: Company information, the application process, onboarding
Therefore, it is important to delineate exactly what the chatbot should and should not be able to do at the beginning. To identify this, questions such as “Who is my target group?” or “What are the functions of the chatbot?” must be clarified. A chatbot canvas can help here, for example.
Basics in chatbot implementation
Tech giants such as Microsoft, IBM, AWS, or Google each provide their own bot frameworks, which can be linked there with other cloud services. But there are also smaller specialized providers with frameworks, such as Botpress or Botkit.
A good start for developing your own chatbot is the QnA Maker service of the Microsoft Bot Framework. It makes it possible to build a solid knowledge base within a few minutes, for example by automatically extracting question-answer pairs from documents and websites.
To generate answers at all, the chatbot must be able to understand the users’ queries. To give the bot the intelligence it needs, many bot frameworks rely on Natural Language Processing (NLP). NLP includes techniques and methods for machine processing natural language and helps to communicate with the user.
How does NLP work?
There are several ways to implement NLP. On the one hand, there are NLP frameworks such as NLTK (Natural Language Toolkit) or SPACY, which require a lot of manual effort, but on the other hand, also allow a lot of freedom. Cloud providers such as Amazon, Microsoft and Google provide such NLP algorithms out-of-the-box, reducing the complexity of developing a bot. IBM offers Watson, Google Auto ML Natural Language and Microsoft LUIS. The operation of an NLP algorithm, whether on-premises or cloud, can be simplified as shown in Figure 2. Using the recognized intent, a bot can now invoke the appropriate function for a flight booking and the entities provide the content details for the flight booking in the process. With this and other processes, the chatbot creates intelligence.
How do the components interact in a chatbot architecture?
When it comes to the architecture of a chatbot, as with most IT projects, there is no universal solution. We at doubleSlash have developed a chatbot prototype for our company as part of a research project: the slashBot. The following figure shows an example of the bot architecture, which can be a good start for many chatbot projects:
- Knowledge Bases, each with subject-related information about our company.
- NLP model (here LUIS) for speech recognition
- User interface with direct connection to the web app of the bot
Training, testing, evaluating…
What is easily forgotten: A bot is not perfect, but it is capable of learning. After the launch of the bot, the work is not done. Now it’s time to diligently collect feedback. The chatbot now interacts with its target group and can collect valuable data and insights. What is the user interested in? What are the most frequent queries? In this phase, it may become apparent where the system still has “knowledge gaps”. But that’s not a problem. The chatbot can be trained and knowledge databases can be expanded at will.
Would you like to get more information about chatbot development? Contact us today.