scieee AI-readable full text Open interactive document viewer

Implementation of an AI-powered FAQ chatbot using the deep-learning rasa framework

Oyerinde, Emmanuel; Abel, Samuel; Mgbeahuruike, Emmanuel; Ukandu, Obumneme; Adediran, Oluwaseyi; Ikotun, Ifeoluwa; Adebawojo, Mosopefoluwa

Abstract

Artificial Intelligence (AI) has become more prevalent in our day-to-day activities, as it saves human time and reduces human workload. A lot of students are clueless and know nothing about some concepts of information pertaining to their study period at Babcock University. When most go to the officials for information, it is likely the officials are in one meeting or the other, a long queue is present and many more situations emerge, which then lead to delays in the access of the required information. The aim of this project is to implement an AI-Powered FAQ chatbot using the deep-learning Rasa framework to address critical challenges faced by students seeking timely and accurate information. Based on research, the Rasa Framework was chosen for the development of the FAQ Chatbot. It is an open-source, flexible chatbot framework that allows complete control over the chatbot's behavior. Rasa Framework is known for its deep learning capabilities, specifically in Natural Language Understanding (NLU) and Dialogue Management (DM). The system is a web application with a chat screen to integrate the chatbot model. The chat screen is a user-friendly, graphical interface that the users of the system can interact with. The tools used include: PyCharm, Microsoft Visual Studio, SmartDraw, Draw.io, Flaticon, ExacliDraw.

Full text

*Corresponding author: Obumneme Ukandu Copyright © 2025 Author(s) retain the copyright of this article. This article is published under the terms of the Creative Commons Attribution License 4.0. Implementation of an AI-powered FAQ chatbot using the deep-learning rasa framework Emmanuel Oyerinde, Samuel Abel, Emmanuel Mgbeahuruike, Obumneme Ukandu *, Oluwaseyi⁠ Adediran, Ifeoluwa Ikotun and Mosopefoluwa Adebawojo Department of Computer Science Babcock University, Nigeria. Global Journal of Engineering and Technology Advances, 2025, 23(03), 271-284 Publication history: Received on 01 May 2025; revised on 16 June 2025; accepted on 19 June 2025 Article DOI: https://doi.org/10.30574/gjeta.2025.23.3.0193 Abstract Artificial Intelligence (AI) has become more prevalent in our day-to-day activities, as it saves human time and reduces human workload. A lot of students are clueless and know nothing about some concepts of information pertaining to their study period at Babcock University. When most go to the officials for information, it is likely the officials are in one meeting or the other, a long queue is present and many more situations emerge, which then lead to delays in the access of the required information. The aim of this project is to implement an AI-Powered FAQ chatbot using the deep-learning Rasa framework to address critical challenges faced by students seeking timely and accurate information. Based on research, the Rasa Framework was chosen for the development of the FAQ Chatbot. It is an open-source, flexible chatbot framework that allows complete control over the chatbot's behavior. Rasa Framework is known for its deep learning capabilities, specifically in Natural Language Understanding (NLU) and Dialogue Management (DM). The system is a web application with a chat screen to integrate the chatbot model. The chat screen is a user-friendly, graphical interface that the users of the system can interact with. The tools used include: PyCharm, Microsoft Visual Studio, SmartDraw, Draw.io, Flaticon, ExacliDraw. Keywords: Artificial Intelligence; Chatbot; Rasa; Natural Language Understanding; Dialogue Management 1. Introduction In the ever-evolving digital landscape, chatbots have emerged as revolutionary tools, fundamentally reshaping the way individuals engage with technology. Throughout the course of human existence, interaction and interdependence have been inherent, serving as essential elements for survival. As humanity progressed in its interactions with the environment and advanced in knowledge, the necessity for creating computers became evident. The term "computer" originally referred to a job title held by individuals tasked with computing numbers all day long [1]. Computers which were initially developed for automating mathematical calculations, evolved into a combination of hardware and software [1], with the concept of this automated system credited to Charles Babbage. Interaction with early computer systems was predominantly uni-directional, where users input data, and computers processed it to generate results. However, the evolution of computer systems has empowered them to engage in conversations, imitating human interactions rather than generating fixed outputs. These advanced systems, known as chatterbots or chatbots, have found widespread applications across various industries, including banking, retail, commerce, healthcare, and education [2]. Recent statistics reveal that a significant 58% of companies operating in the B2B sector actively employ chatbots in their operations, while 42% of B2C companies have embraced this technology Global Journal of Engineering and Technology Advances, 2025, 23(03), 271-284 272 [3]. This indicates a growing adoption rate, particularly in the B2B context. Additionally, 23% of companies in the customer service sector have incorporated AI chatbots into their operations [4]. Despite the automation and speed that accompanied computers and software programs, chatbots have elevated user interaction to new heights [5]. The primary motivation for chatbot users, including productivity gains, contrasts with the traditional approach of spending significant time studying website content. According to [6], users now prefer the efficiency of interacting with a chatbot for faster answers. In educational institutions, where natural conversations play a crucial role in information gathering and navigating university life complexities, chatbots address challenges when urgent inquiries arise [7]. Multiple students pose questions to university staff members, faculty, or administrative personnel, often leading to delays and frustration. Chatbots provide a solution by offering immediate answers, mitigating wasted time and transportation expenses. Chatbots serve diverse roles in education, from virtual tutoring to addressing inquiries related to course registration and enrollment, providing proactive student support, and more [8]. Over time, Chabot’s have undergone a remarkable evolution, transitioning from rule-based and inflexible systems into versatile conversational agents. This transformation is driven by advancements in Natural Language Processing (NLP) and Machine Learning and enables chatbots to deliver personalized and sophisticated interactions [8]. Beyond their initial domain-specific functions, chatbots have now transcended into the realm of Artificial General Intelligence (AGI) and Generative Pre-trained Transformers (GPT), capable of handling a broader array of tasks and knowledge domains [9]. In the early stages of conversational AI development, a rule-based approach, mainly reliant on pattern matching, was initially employed [10]. However, its limitations in handling natural language inputs and nuanced queries prompted the need for a more intelligent system. The complexity of language expressions makes adapting and scaling challenging for rule-based models. This spurred a shift toward a solution capable of not only recognizing patterns but also offering continuous learning for accurate and personalized responses, thereby addressing the intricacies of language and the varied expressions of intent. Moreover, the issue of vendor lock-in, binding users to specific tools, emphasizes the need for an open-source solution. The Rasa framework, with its deep learning capabilities, provides a strategic choice, mitigating the risks of vendor lockin. In light of these specific challenges, the research aims to address the shortcomings of existing systems within the university, proposing the implementation of an AI-powered FAQ Chabot with deep learning capabilities. [11] created a review enquiry chatbot on suitable chatbot framework using evidence from implementation of RASA and IBM Watson frameworks, [12], [13] developed a self-learning chatbot for university FAQs, integrating it into a web application. [14] took a similar approach but focused on integrating their chatbot with Facebook Messenger to provide information on curriculum, admissions, and schedules. Some researchers explored more specific applications of chatbots in education. [15] Created a digital learning tool aimed at increasing students' research knowledge, while [16] designed "FLOKI," an AI chatbot specifically for maritime trainees learning collision avoidance regulations. Beyond the practical applications, [17] conducted a study examining the ethical implications of chatbots in education and research, highlighting both benefits and potential drawbacks. This research underscores the importance of responsible implementation of AI technologies in educational settings. [18] took a different approach by assessing an existing educational chatbot named PLUTO, evaluating its effectiveness in addressing educational matters and providing immediate responses to users. Previous studies have shown the lack of support for dynamic data which results in a static FAQ knowledge base. Also, no admin panel was implemented to manage the conversations between users and Chabot. There also exists a limitation of clarity on methodology, tools used, and development techniques. Hence, this system provides room for handling dynamic data, an admin panel, user feedback, and learning (feedback mechanism). Our system also shifts the focus toward current and prospective students. The research provides a welldefined methodology section in Chabot development. Global Journal of Engineering and Technology Advances, 2025, 23(03), 271-284 273 2. Literature review 2.1. Chatbot Overview A chatbot is an automated tool designed to imitate and interpret human conversation, whether written or spoken [19]. Its main function is to replicate human interactions through text or voice communication. These systems can vary from basic programs that address simple inquiries to advanced digital assistants that adapt and improve over time by processing large volumes of data. Chatbots operate through Artificial Intelligence (AI), leveraging predefined rules to provide responses and solve user queries [20]. They utilize Natural Language Processing (NLP) and Machine Learning (ML) to comprehend user input and deliver appropriate answers [21]. Generally, chatbots are categorized into two types: task-based and data-driven. Task-based chatbots focus on specific, structured tasks, while data-driven chatbots, often referred to as virtual assistants, offer more flexible and personalized user experiences [22]. Today, chatbots are widely employed across multiple fields. In Information Technology (IT), they enhance service management; in business, they handle customer inquiries and guide users to the right resources [23]. They are also used in e-commerce for customer support, in education to assist with online learning, and in healthcare to provide tailored health advice, services, and even preliminary diagnostics. Additionally, they have found applications in entertainment and robotics. Notable examples of chatbot technologies include popular virtual assistants like Siri, Alexa, and Google Assistant, as well as messaging platforms such as WeChat and Facebook Messenger [19]. 2.2. Strength and Weakness of Existing Systems The development and deployment of chatbots represent a significant advancement in Artificial Intelligence (AI) and Machine Learning (ML). Current chatbot systems offer several benefits that enhance their appeal across industries. One major advantage is their ability to provide round-the-clock customer service and support, offering users immediate assistance at any time [24]. Over time, maintaining chatbots proves more cost-effective than hiring and training a full customer support team. Additionally, with continuous improvements in AI and Natural Language Processing (NLP) technologies, chatbots are becoming increasingly adept at interpreting user queries and delivering accurate responses tailored to customer needs [25]. Despite these strengths, existing chatbot systems also face notable limitations. Many struggle with handling queries outside their training data, often leading to inadequate or incorrect responses [26]. Language processing challenges, including difficulties with accents and grammatical errors, further hinder their performance. Chatbots typically require extensive dialogue data to be properly trained and often find it difficult to manage non-linear, back-and-forth conversations. Their limited understanding of user inputs, lack of emotional intelligence, and sometimes impersonal interactions diminish the user experience. Moreover, the setup and maintenance of advanced chatbot systems can be costly and complex, while concerns around data privacy and security continue to pose significant risks for both users and providers. 2.3. Trends in Chatbot As a result of improvements in AI, machine learning, and natural language processing, the trends represent the changing landscape of chatbots. Technology advancement causes the emergence of new trends which include: • Multimodal Chatbots: Chatbots that can handle multiple modes of communication and various sources to extract information, such as text, voice, images, and gestures [27]. Integrating speech recognition, computer vision, and text-based chatbots for a seamless multimodal experience. • Emotional Intelligence: Creating chatbots that can detect and respond to user emotions, enabling a greater empathy and context-aware interactions. • Enhanced Personalization: Personalizing chatbot interactions to deliver highly tailored experiences to individual users. • Continuous Learning: Chatbots that can learn and adapt from user interactions over time to improve themselves. • Hybrid Models: Combining rule-based and AI-driven approaches to create more versatile and robust chatbots. • Explainable AI: Developing chatbots that can explain their decisions and reasoning to users, enhancing transparency and trust. • Chatbots in Healthcare: Expanding the use of chatbots for healthcare applications, such as remote patient monitoring, mental health support, medical ethics, and medication reminders [20]. • Chatbots for Education: Utilizing chatbots for personalized learning, tutoring, and educational support. Global Journal of Engineering and Technology Advances, 2025, 23(03), 271-284 274 • Contextual Awareness: Enhancing chatbots' ability to understand and remember user context for more natural and fluid conversations. • Security and Fraud Detection: Implementing robust security measures in chatbots to prevent security threats like fraud, malicious activities and provide solutions if need be. Integration of Augmented Reality (AR) and Virtual Reality (VR): To allow more engaging and interactive experiences through the combination of AR/VR and conversational AI. 3. Methodology In the development of any system, especially a complex one, the process of decomposition is crucial. Decomposition involves breaking down a problem or system into parts that are easier to conceive, understand, program, and maintain. Hence, the importance of system analysis and design. 3.1. Data Collection The essence of collecting data was to help understand the requirements and pain-points of students who will use this product upon completion of the project. A google form was used for this purpose. This was to ensure that the form could be easily accessed and filled by students across the university. 3.2. Data Organization The collected data was organized based on their similarity and relevance. This helped to group similar requirements and prevent repetition or redundancy. 3.3. Intent Classification, Training, and Development The organized data was converted to various intents which aided the system (Chabot) to understand what the user needs and respond by providing accurate and reliable information. To achieve effective intent classification, the Chabot model required diverse training examples. This training phase was crucial for the model's ability to generalize. The Chabot model was integrated into a Python Flask application, which was deployed on a cloud Platform as a Service (PaaS) provider like Render or Heroku. 3.4. Implementation of the Chatbot The implementation of the Chabot is broken down into the development of the Chabot model and the web application. Following the design of the Chabot, this cannot be completed without implementing the model. Several tools were used for this purpose and they include: • Python: This is the primary language for implementing Rasa and developing custom actions for the Chabot. This language is also popular and well-known for its brevity and simplicity. No wonder there are so many python libraries for machine learning and NLP tasks. • Rasa Framework: This is an open-source conversational AI framework used for building the Chabot’s natural language understanding and dialogue management. 3.4.1. How Rasa Works Rasa consists of four main parts namely: Natural Language Understanding (NLU), Rasa Core, Channel and Action, and additional Helper functions like Tracker Store, Lock Store, and Event Broker. When a user interacts with the Chabot, the NLU component takes the lead in understanding the user's intent by classifying it accurately and extracting essential details (entities). This ensures a precise grasp of what the user is saying. Following that, Rasa Core manages the conversation, picking the best response and action based on the chat's history. Importantly, Rasa Core smoothly communicates with the action server, allowing the Chabot to perform custom actions in response to user queries and vice versa. This teamwork of components lets Rasa provide a smart and context-aware conversational AI experience. Figure 1 illustrates the architecture of a Rasa chatbot. The Client sends a message to Rasa NLU for intent classification and entity extraction, and passes it to Rasa Core for dialogue management, which may trigger the Action Server to perform custom actions, with responses sent back to the Client. Global Journal of Engineering and Technology Advances, 2025, 23(03), 271-284 275 Figure 1 Core Working Process of Rasa [28] 3.5. Implementation of Web Application The development of the web application was broken down into the user module and the administrator module. • User Module: The user module serves as the Chabot application, providing a platform for users to interact seamlessly. Users can pose questions, and the system promptly generates relevant responses. • Administrator Module: The administrator module is categorized into two key roles: o Faculty-Level Administrator: Assigned to each faculty in Babcock University, these administrators are responsible for managing intents, entities, and utterances specific to their respective faculties. o Super-Level Administrator: This role holds the overarching managerial position within the system. SuperLevel Administrators have the authority to oversee and manage all faculty administrators across the entire system. • Web Development Technologies Used: The following technologies were used for the development of the web application: o Flask: Flask is a well-known and popular Python-based web application framework. It is designed to make getting started quick and easy, with the ability to scale up to complex applications. o MongoDB: MongoDB is a popular, open-source, document-oriented NoSQL database program. It is designed to be flexible, scalable, and high-performance, making it suitable for a wide range of applications. MongoDB stores data in flexible, JSON-like documents, meaning fields can vary from document to document and data structure can be changed over time. o HTML: HyperText Mark-up Language is the standard markup language for documents designed to be displayed in a web browser. It lays out the structure and gives the content for the web page. o CSS: Cascading Style Sheet is a language used for specifying the styles in which a document written in a mark-up language like HTML should be displayed. o JS: Javascript is the core technology of the web. It is a scripting language used by developers to create dynamically updated content and make a web page interactive. o Software Development Process Model: The adopted software development process model for this system is the incremental model, also known as a multiple-waterfall model. It is apt for this project as it facilitates the breakdown of the entire project into manageable modules, with each module integrating incrementally. Figure 2 displays the Incremental Model of software development, where the system is built and delivered in a series of increments, each involving cycles of analysis, design, implementation, testing, deployment, and maintenance. New functionality is added in each release (Release 1, Release 2, Release 3, etc.), allowing for partial system delivery and earlier user feedback. Global Journal of Engineering and Technology Advances, 2025, 23(03), 271-284 276 Figure 2 The Incremental Process Model • System Analysis: The initial phase focused on understanding the system and gathering essential requirements. This involved a thorough examination of the components necessary for the system's functionality. • System Design: Following the analysis, the design phase set out to conceptualize the proposed system. Emphasis was placed on determining how the various components interact, including the logical flow of the system. Of paramount importance was the design of the user interface to ensure seamless user interaction. • Implementation: This phase involved translating the established requirements and design into executable programs. The collective code formed the fundamental source code for the software.Testing: This phase involved validating the software against the initially identified requirements. This was to ascertain that the product aligns precisely with the needs identified during the requirement gathering phase. • Deployment: Upon successful testing, the deployment phase initiates the process of delivering the software to customers. • Maintenance: This phase involves constantly seeking out ways to improve or optimize the system. Also, as the needs and requirements of customers change from time to time it is of utmost importance to get their feedback on the performance of the system and making modifications where and when needed. 3.6. Requirement Analysis Requirement analysis, also known as requirements engineering, is the process of determining and documenting the needs and expectations of a new or modified product. These needs and expectations can be referred to as requirements and they can be categorized into two main types: Functional Requirements and Non-Functional Requirements. 3.6.1. Functional Requirements Functional requirements define what a system is supposed to do. They are like a to-do list for a system, such as a chatbot. They describe what the system should do, its functions, features, and capabilities. These requirements lay out specific tasks or services the system must perform, acting as a guide for developers to ensure the Chabot behaves as intended. The functional requirements of the system are based on the user roles which are: • User • Administrator Functional Requirements for User Role: Global Journal of Engineering and Technology Advances, 2025, 23(03), 271-284 277 • Users shall be able to register with their username, email, password, faculty, and department. • Users shall be able to login using username or email along with a password • Users shall be able to upload a profile picture • Users shall be able to view and edit their profiles • Users shall be able to create multiple chat tabs • Users shall be able to pose queries to the chatbot using texts • Users shall be able to provide their sentiments/feedback based on the chatbot’s response • Users shall be able to send questions the chatbot could not answer to the relevant departmental admin. • Users shall be able to view chat history Functional Requirements for Admin Role: • Admin shall be able to log in to the system with username or email and password. • Admin shall be able to upload a profile picture. • Admin shall be able to view and edit profiles. • Admin shall be able to create new intents and modify existing ones. • Admin shall be able to modify, or review training data for each intent. • Admin shall be able to view real-time information about the performance of the Chabot. • Admin shall be able to receive questions the Chabot could not answer. 3.6.2. Non-functional requirements Non-functional requirements, on the other hand, define how the system should perform. They specify the quality attributes and constraints that the system must satisfy. These requirements are not directly related to the specific behavior or functions of the system but rather focus on the overall performance, usability, security, reliability, and other quality attributes of the system. Non-functional requirements are often used to define the performance, usability, and other quality attributes of the system and are essential for ensuring that the system meets the desired quality standards. Some of the non-functional requirements are listed below. • Security: One of the key metrics that will be used to evaluate this chatbot is the accuracy of the information it provides. Hence, data integrity is quite imperative to prevent unauthorized access to an administrator account which could lead to compromise. Implementing secure login mechanisms for admin access would be expedient. • Performance: the system should ensure quick response times and minimal downtime for seamless user interaction. • Accuracy and Reliability: the system should provide accurate and reliable responses through regular knowledge base updates. • User-Friendly Interface: the system should have an easy-to-navigate interface for users and admins. • Maintainability: the system should be maintainable in terms of writing clean, simple, and readable code. • Availability: the system should be available at all times for uninterrupted service. 3.6.3. Hardware Requirements The minimum hardware requirement for the effective development and implementation of this system are as follows: • RAM: o Minimum: 4GB. o Recommended: 8GB or more for a smoother experience. • Processor: o Minimum: Dual-core processor. o Recommended: Quad-core processor or better. • Hard Disk: o Minimum: 250GB with at least 50GB of free space. o Recommended: 500GB or more. 3.6.4. Software Requirements • Operating System: Cross Platform. • Web Browsers: Chrome, Mozilla Firefox, Safari Global Journal of Engineering and Technology Advances, 2025, 23(03), 271-284 278 3.7. Flowchart A flowchart, otherwise known as a process flow diagram, is the diagrammatic representation of the logical flow of the program. It involves the use of shapes, lines, arrows, and other symbols. It is a graphical representation of steps in sequential order and is widely used in presenting the flow of algorithms, workflow, or processes. Flowcharts are used to design and document simple processes or programs and help visualize the process. They are used in various fields to analyze, design, document, or manage a process or program. Flowcharts typically use symbols to represent different aspects of processes and are complemented by other types of diagrams. The symbols used in flowcharts include process steps, decisions, inputs and outputs, documents, and delays or wait times. Flowcharts are a common process analysis tool and are used to develop an understanding of how a process is done, study a process for improvement, and communicate to others how a process is done. Figure 3 shows a user login system where, after successful credential validation, users can either manage intents and entities (create, update, search, delete, and retrain models), update their profile (change username or password), or view the dashboard. After completing an action, users are given the option to perform another action or exit the system. Figure 4 shows the flowchart for the Super-Level Administrator role where, after successful login, users can manage intents and entities, review unanswered queries, manage other admin accounts, or update their profile, with the option to perform multiple actions before exiting. Figure 5 shows how users interact with a web application to ask questions, which are sent via a Flask server to the Rasa NLP engine for responses, while admins manage intents and monitor system performance through analytics, and all conversations are stored in a database. Figure 3 Flowchart Diagram for the Faculty-Level Admin Role Global Journal of Engineering and Technology Advances, 2025, 23(03), 271-284 279 Figure 4 Flowchart Diagram for the Super Level Admin Figure 5 Logical Flow of the System 4. Implementation The application was built on web technology and it consists of a chat screen, the main feature that integrates with the Chabot model. The chat screen acts as an abstraction layer to provide a user-friendly, graphical interface that the users of the system can interact with. At its core, the model harnesses the power of the Rasa framework, renowned for its deep learning capabilities, specifically in NLU and DM. This sophisticated model is the brain behind the Chabot which