Chatbots have become a prominent means of interacting with software systems. As the demand for maintainable and scalable systems grows, there needs to be more understanding of the necessary technologies. This is evident in the scattered literature on the topic, the popularity of oversimplified building tools, and the prevalence of below conversational agents. There is a pressing need to bridge the gap between theory and practice, enabling software developers to build robust and maintainable informal systems. This paper studies the underlying techniques and technologies involved in chatbot development. To achieve this, a case study, complete with source code, is presented to explore and understand the intricacies underlying user input comprehension. A literature review that sets the context for a detailed examination of the technologies within a real-life example precedes the study. Contrary to popular belief, developing this artificial intelligence is simple enough. A modern chatbot relies on various components to achieve scalability and performance. Fortunately, many of these technologies are relatively straightforward to understand and debug for technical professionals. The chatbot processes the input text through Natural Language Processing (NLP) techniques and assigns it to a predefined intent using a classifier. We then employed another classifier to determine the appropriate actions, which may involve providing a response or executing custom software. Understanding this pipeline can prevent technical overhead when troubleshooting issues arising from a seemingly opaque black box. The insights gained from this study will be valuable for advancing chatbot technology, allowing developers to create more sophisticated and reliable conversational agents. By demystifying the processes involved, this paper seeks to empower software developers to confidently build chatbots, contributing to improving the chatbot landscape as a whole.
Paper
The full text of this publication is not hosted on 44B due to licensing.
Read it at OpenAlex