SlideShare a Scribd company logo
DEVELOPMENT OF CHATBOT USING
AI/ML TECHNOLOGIES
A thesis submitted in partial fulfilment of the
requirement for the award of the degree of
BACHELOR OF TECHNOLOGY
BY:
MAISNAM AKASH SINGH
(2001CS0214)
DORENJIT HAOROKCHAM
(2001CS0232)
Under the guidance of
MR. CHIRANJIV CHINGANGBAM
ASSISTANT PROFESSOR,
MANIPUR TECHNICAL UNIVERSITY
DEPARTMENT OF COMPUTER SCIENCE &
ENGINEERING
MANIPUR TECHNICAL UNIVERSITY
JUNE,2024
Development of  Chatbot Using AI/ML Technologies
i
MANIPUR TECHNICAL UNIVERSITY
(A University established under the
Manipur Technical University Act, 2016)
Imphal, Manipur- 795004
Website: - www.mtu.ac.in
BONA FIDE CERTIFICATE
This is to certify that the project titled DEVELOPMENT OF CHATBOT
USING ML TECHNOLOGY is a bona fide record of the work done by Maisnam
Akash Singh (2001CS0214)& Dorenjit Haorokcham (2001CS0232)submittedtoManipur
Technical University Imphal, Manipur during the academic year 2020-2024, in partial
fulfillment for the award of the degree Bachelor of Technology in Computer Science
& Engineering Department. The contents of this report, in full or in parts, have not been
submitted to any other Institution or University for the award of any degree or diploma.
Chiranjiv Chingangbam
Assistant Professor, Computer Science
& Engineering Department
Dr. Hanjabam Saratchandra Sharma
Head & Assistant Professor of
Computer Science & Engineering
Department
ii
MANIPUR TECHNICAL UNIVERSITY
(A University established under the
Manipur Technical University Act, 2016)
Imphal, Manipur- 795004
Website: - www.mtu.ac.in
DECLARATION
I declare that this thesis entitled DEVELOPMENT OF CHATBOT USING ML
TECHNOLOGY submitted in partial fulfilment of the degree of Bachelor of
Technology in Computer Science & Engineering is a record of original work carried out
by me under the supervision of Mr. Chiranjiv Chingangbam and has not formed the
basis for the award of any other degree or diploma, in this or any other Institution or
University. In keeping with the ethical practice in reporting scientific information, due
acknowledgements have been made wherever the findings of others have been cited.
Date:
Place: Imphal, Manipur
Maisnam Akash Singh
(2001CS0214)
Dorenjit Haorokcham
(2001CS0232)

Recommended for you

An Implementation of Voice Assistant for Hospitality
An Implementation of Voice Assistant for HospitalityAn Implementation of Voice Assistant for Hospitality
An Implementation of Voice Assistant for Hospitality

This document describes a voice assistant chatbot that was implemented for the hospitality industry. It uses speech recognition to convert voice input to text, then processes the text using natural language processing to determine the best response. A closed domain question answering approach is used. The system was trained on data related to hotel websites to enable it to answer questions about hospitality domains. The document provides details on the system components and technologies used, such as deep speech for speech recognition and various text-to-speech APIs for generating voice responses.

natural language processingchatbotvoice based digital assistants
INTERNET OF BEHAVIOUR.docx
INTERNET OF BEHAVIOUR.docxINTERNET OF BEHAVIOUR.docx
INTERNET OF BEHAVIOUR.docx

This seminar report discusses the concept of Internet of Behaviour (IoB). The report provides an introduction to IoB, explaining that it collects and analyzes data about human behaviors from various sources to influence behaviors. It outlines some of the benefits of IoB for businesses in tailoring products and services. However, it also notes ethical concerns around privacy and security of user data. The report discusses some applications of IoB in 2021, including in business, and provides examples of how companies like Google and Facebook use behavioral data. It also briefly discusses the potential ramifications of IoB.

IRJET- A Survey to Chatbot System with Knowledge Base Database by using Artif...
IRJET- A Survey to Chatbot System with Knowledge Base Database by using Artif...IRJET- A Survey to Chatbot System with Knowledge Base Database by using Artif...
IRJET- A Survey to Chatbot System with Knowledge Base Database by using Artif...

The document discusses chatbots and artificial intelligence. It provides background on chatbots, including how they have advanced from early rule-based models to more advanced intelligent systems capable of natural conversations. Chatbots analyze user input to formulate relevant responses and are gaining popularity for automating customer service. The document also discusses using knowledge bases and databases to improve chatbot responses and abilities. It reviews different techniques used in building chatbots and their components like classifiers, responders, and knowledge management systems.

irjet
iii
MANIPUR TECHNICAL UNIVERSITY
(A University established under the
Manipur Technical University Act, 2016)
Imphal, Manipur- 795004
Website: - www.mtu.ac.in
ACKNOWLEDGEMENTS
First and foremost, I would like to express my deepest gratitude to our Project
Supervisor, Mr. Chiranjiv Chingangbam for their invaluable guidance, support, and
encouragement throughout the course of this project. Their expertise and insight were
instrumental in shaping the direction and success of this work.
I am also profoundly thankful to our Vice-Chancellor, H. Gyan Prakash, for
providing the necessary resources and a conducive environment for research and
development. Their leadership and vision have greatly inspired me and my peers to
strive for excellence.
Furthermore, I extend my heartfelt thanks to the Head of Department, Dr.
Hanjabam Saratchandra Sharma, whose unwavering support and constructive
feedback were crucial in the completion of this project. Their commitment to academic
excellence and innovation has been a significant motivating factor.
Lastly, I wish to reiterate my sincere appreciation to our Project Co-Ordinator,
Mrs.Tayenjam Aerena, for their continuous mentorship and encouragement. Their
dedication to my academic and professional growth has been truly remarkable and
greatly appreciated.
Sincerely
Maisnam Akash Singh
(2001CS0214)
Dorenjit Haorokcham
(2001CS0232)
Date:
Place: Imphal, Manipur
iv
ABSTRACT
The rapid advancements in artificial intelligence and natural language
processing have significantly transformed human-computer interactions. This thesis
presents the design, development, and evaluation of an intelligent chatbot capable of
engaging in natural and meaningful conversations with users. The chatbot leverages
state-of-the-art deep learning techniques, including transformer-based architectures, to
understand and generate human-like responses.
Key contributions of this research include the implementation of a context-
aware conversational model that can maintain coherent dialogue over extended
interactions. The chatbot's performance is evaluated through both automated metrics
and user studies, demonstrating its effectiveness in various applications such as
customer service, mental health support, and educational assistance. Additionally,
ethical considerations and potential biases in chatbot responses are examined to ensure
the responsible deployment of this technology.
The findings of this thesis highlight the potential of intelligent chatbots to
enhance user experience and provide valuable insights for future developments in
conversational AI.
v
TABLE OF CONTENTS
Page no.
BONAFIDE CERTIFICATE i
DECLARATION ii
ACKNOWLEDGEMENT iii
ABSRACT iv
LIST OF FIGURES vii
CHAPTER 1: INTRODUCTION 1
1.1 Chatbot Definition 1
1.2 A brief history of Chatbot 2
1.3 Motivation 3
1.4 Importance of Chatbot 4
CHAPTER 2: THEORETICAL BACKGROUND 5
2.1 High level view of conversational agent 5
2.2 Language Identification 5
2.3 Intent Classification 6
2.4 Knowledge Management 6
2.5 Problem background 6
CHAPTER 3: OBJECTIVES 8
3.1 Purpose 8
3.2 Metrics for Success 9
3.3 Implementation Strategy 9
3.4 Availability 9
3.5 Ease of use 10
CHAPTER 4: SOFTWARE ARCHITECTURE 12
4.1 Agent Environment 12
4.2 Class diagram 13
4.3 System Modules 14
4.4 Technology Acceptance Model 15
CHAPTER 5: SOFTWARE IMPLEMENTATION 17
5.1 Programming language and libraries 17
5.2 Extracting Data 17
5.3 Generating Responses 18
vi
5.4 GUI 19
5.5 Responsiveness 20
5.6 Assurance 20
CHAPTER 6: WORKING 22
6.1 Standard Libraries 22
6.2 Type Hinting 22
6.3 NLP Libraries 23
6.4 Data Handling 23
6.5 Web framework 23
6.6 Image and Document Processing 24
6.7 Sentiment Analysis 24
6.8 OCR Optical Character Recognition 24
6.9 File Path 24
6.10 Model Name 25
6.11 Threshold 25
6.12 Setup Tasks 25
6,13 Custom Exception 26
6.14 Explanation and use case 27
6.15 Benefits of using custom exception 28
CHAPTER 7: CONCLUSION 29
7.1 Future Scope 29
REFERENCES 30

Recommended for you

First Synopsis Format
First Synopsis FormatFirst Synopsis Format
First Synopsis Format

This project report discusses the development of an antiphishing website called Phishpool. Phishing is a growing problem where fraudulent websites trick users into entering private login and financial information. Phishpool will be a database that detects and searches for these phishing sites to help prevent users from being deceived. The project aims to increase awareness of phishing attacks and help secure users from this cybercrime. It will have three modules for management of the antiphishing site and database. The website is being developed in Java/Oracle to address the serious issue of phishing and protect internet users.

javaphishpoolformat synopsis
INTELLIGENT CHATBOT FOR COLLEGE ENQUIRY SYSTEM
INTELLIGENT CHATBOT FOR COLLEGE ENQUIRY SYSTEMINTELLIGENT CHATBOT FOR COLLEGE ENQUIRY SYSTEM
INTELLIGENT CHATBOT FOR COLLEGE ENQUIRY SYSTEM

The document describes a proposed intelligent chatbot system for answering student inquiries about a college. The chatbot would allow students to get information about admissions, fees, scholarships, course timetables, and required documents from anywhere at any time through natural language conversations. It uses techniques like pattern matching, artificial intelligence, machine learning and natural language processing to understand questions and provide relevant responses from its knowledge database. The goal is to streamline the student information process and reduce the workload on college staff.

irjet
Survey on Chatbot Classification and Technologies
Survey on Chatbot Classification and TechnologiesSurvey on Chatbot Classification and Technologies
Survey on Chatbot Classification and Technologies

This document provides a summary of a research paper on chatbot classification and technologies. It discusses: 1) The evolution of chatbots from early models like ELIZA in 1966 to modern deep learning models. 2) The main uses of chatbots including in government, education, healthcare, customer service, and more. 3) The basic working of chatbots which involves input, analysis, intent/entity identification, and response composition.

irjet
vii
LIST OF FIGURES
Figure no. Figure name Page no.
4.1 Agent Environment Model 9
4.2 Chatbot class diagram 10
5.4.1 Prototype Model 1 14
5.4.2 Prototype Model 2 14
1
CHAPTER 1
INTRODUCTION
This chapter will introduce briefly a definition of chatbot. Afterwards, a brief
history of the field of conversational agents will be recalled in section 1.3. Finally, it
will also motivate the need for further developments in chatbots by referencing recent
surveys conducted on this subject.
1.1 Chatbot: Definition
According to the Oxford English Dictionary, a chatbot is defined as follows:
chatbot (n.): A computer program designed to simulate conversation with human users,
especially over the Internet.
In the scientific literature, chatbots are more formally referred to as
conversational agents. In the context of this document, the terms chatbot/conversational
agent will be used interchangeably.
The underlying principle of every chatbot is to interact with a human user (in
most cases) via text messages and behave as though it were capable of understanding
the conversation and reply to the user appropriately. The origin of computers conversing
with humans is as old as the field of computer Science itself. Indeed, Alan Turing
defined a simple test referred to now as the Turing test back in 1950 where a human
judge would have to predict if the entity, they are communicating with via text is a
computer program or not. However, this test’s ambition is much greater than the usual
use case of chatbots; the main difference being that the domain knowledge of a chatbot
is narrow whereas the Turing test assumes one can talk about any topic with the agent.
This helps during the design of conversational agents as they are not required to have a
(potentially) infinite domain knowledge and can, as such, focus on certain very specific
topics such as for instance helping users book a table at a restaurant.
Furthermore, another general assumption chatbot designers bear in mind is that
users typically have a goal they want to achieve by the end of the conversation when
they initiate an interaction with a chatbot. This then influences the conversation’s flow
and topics to achieve the chosen goal. This can be exploited by developers since certain
patterns of behavior tend to arise as a result. Therefore, the definition of a
Chapter 1 Introduction
2
chatbot adopted for this document is a computer program communicating by
text in a humanly manner and who provides services to human users to accomplish a
well-defined goal.
1.2 A brief history of chatbots
The first instance of a conversational agent was born in 1966: ELIZA was a
computer program that simulated a psychiatrist and rephrased user input using basic (by
today’s standards) natural language processing techniques. Despite being relatively
simple, the program managed to give the illusion of understanding the user’s problems
and successfully fooled a great many people. Its creator, Joseph Weizenbaum, even
mentioned that his secretary would ask him to leave her so she could have a private
conversation with ELIZA.
Then during several decades, chatbots heavily followed ELIZA’s approach with
minor additions brought into the field like speech synthesis and emotions management.
Then in 2001 came Smarter Child, a conversational agent developed by Active Buddy,
Inc. (now Colloquies) that operated on AOL Instant Messenger and MSN Messenger.
Inspired by the rise of instant messaging platforms such as SMS, Smarter Child was
created to provide quick access to news, weather forecasts, sports results, etc... The main
innovation was that Smarter Child was connected to a knowledge base and detained
useful information for its users. Unfortunately, the technical limitations of natural
language processing caught up with bots on those platforms at the time and they were
forgotten by History.
The next advancement for conversational agents was made by a team at IBM
through the Watson AI project that has been in development since 2006. The agent was
designed with the sole purpose of winning the American TV show Jeopardy! which it
did in 2011 when competing against two of the show’s former champions. Jeopardy! is
interesting from an NLP point of view since the questions involve a lot of play on words
and require fast information retrieval in vast knowledge bases. Unfortunately, this AI in
its past form could only answer to one-liner questions and was unable to carry on a
proper conversation with someone else.
Finally in the early 2010’s came the rise of virtual assistants such as Apple’s Siri,
Microsoft’s Cortana, Google’s Google assistant, Amazon’s Alexa and others. Those
agents brought to the field the concept of conversation as well as goal-oriented dialog.
Another major event in the field of chatbots was the release of the Messenger Platform
Chapter 1 Introduction
3
for Facebook Messenger in 2016 and allowed the creation of conversational agents for
non-AI related companies.
As shown in this summary of the field of conversational agents, a lot of progress
has been made since the early days of NLP. This does not imply however that current
solutions are without flaws as will be highlighted in the next section.
1.3 Motivation
Several studies have been conducted studying user preferences concerning
customer service. In particular, a recent survey done by Drift in collaboration with
Survey-
Monkey Audience, Salesforce, and my clever assesses the image of chatbots in
the eyes of the customers. It stems from the survey the following observations:
1. Customers experience problems with traditional online communication
channels: 34% state that websites are hard to navigate, and 31% say that they
can’t get answers to simple questions through those communication vectors.
2. Customers see the following potential benefits in chatbot services: 24-hour
service (64%), instant replies (55%), answers to simple questions (55%). It is
clear that the customers’ needs and expectations are not being fulfilled by
traditional channels. They even see the perks of chatbots in comparison to other
solutions.
However, despite all of this, they still feel that current chatbots are not as
effective as they could be as observed in a survey conducted by Chatbots.org. Across
all generations, 53% of customers view chatbots as "not effective" or only "somewhat
effective". It highlights a discrepancy between the potential advantages of these
methods and the actual implementations’ capabilities. Nonetheless, when dividing the
customers’ impressions of chatbots by generations, it becomes clear that younger and
more tech-savvy people are more optimistic regarding conversational agents.
According to this survey, millennials and generation Z respectively rated chatbots as
"effective" or "very effective" 56% and 54% of the time, whereas boomers and the
silent generation respectively gave chatbots that rating only 38% and 49% of the time.
All in all, this suggests that additional research and advancements be made in order to
unlock conversational agents’ full potential

Recommended for you

IRJET- College Enquiry Chatbot System(DMCE)
IRJET-  	  College Enquiry Chatbot System(DMCE)IRJET-  	  College Enquiry Chatbot System(DMCE)
IRJET- College Enquiry Chatbot System(DMCE)

The document describes a college enquiry chatbot system called DMCE that was developed by students and a professor at Datta Meghe College of Engineering. The chatbot uses artificial intelligence and machine learning to answer students' questions about college-related activities and events. It analyzes user queries through natural language processing and provides responses using an artificial intelligence markup language called AIML. The chatbot aims to reduce the need for students to personally visit the college to get information by providing an automated online service via a mobile application with a graphical user-friendly interface.

irjet
Voice Assistant Using Python and AI
Voice Assistant Using Python and AIVoice Assistant Using Python and AI
Voice Assistant Using Python and AI

This document describes a voice assistant created using Python. It discusses the system's architecture, features, design and implementation. The key points are: 1. The voice assistant allows users to perform tasks like sending emails, searching the web, playing music etc. using voice commands on a desktop computer. 2. It uses speech recognition, natural language processing and artificial intelligence techniques to understand voice inputs and carry out tasks. 3. The proposed system aims to improve accuracy over existing assistants by combining voice recognition with neural networks. It analyzes text using natural language processing principles before executing commands.

irjet
Chatbot for Railway using Diloug Flow
Chatbot for Railway using Diloug FlowChatbot for Railway using Diloug Flow
Chatbot for Railway using Diloug Flow

The document describes the development of a chatbot for the Indian railway system using Dialog Flow. It aims to provide railway information such as schedules, fares and seat availability to users through messaging applications without needing to download additional applications. The proposed chatbot architecture involves using interfaces like Facebook Messenger to send messages to the Dialog Flow natural language processing engine. The engine will understand user queries and intents and return relevant responses based on its trained railway data. The chatbot is intended to save users time by providing quick railway assistance without having to visit websites or other apps.

distributed computingdialog flowchatbot
Chapter 1 Introduction
4
1.4 Importance of Chatbot
Chatbots have become indispensable tools across industries, revolutionizing
customer service and operational efficiency. Their round-the-clock availability ensures
that businesses can provide immediate assistance to customers, improving response
times and overall satisfaction. By automating routine tasks like answering FAQs and
processing transactions, chatbots streamline operations, allowing human agents to
focus on more complex issues and strategic initiatives. This scalability not only boosts
productivity but also reduces operational costs, making chatbots a cost-effective
solution for handling large volumes of customer interactions simultaneously.
Moreover, chatbots enhance user experiences through personalized interactions
driven by AI and machine learning. By analyzing user data and preferences, chatbots
deliver tailored responses and recommendations, fostering deeper engagement and
loyalty. This data-driven approach not only improves customer satisfaction but also
empowers businesses with valuable insights for refining products, services, and
marketing strategies. Across e-commerce, healthcare, education, and beyond, chatbots
play pivotal roles—from facilitating seamless shopping experiences and providing
medical advice to supporting personalized learning journeys. With advancements in
natural language processing, chatbots can engage in more natural and intuitive
conversations, further enhancing their effectiveness in meeting diverse customer needs.
As businesses continue to integrate AI-driven solutions, chatbots remain at the
forefront of transforming customer service paradigms and driving operational
excellence in the digital era.
5
CHAPTER 2
THEORETICAL BACKGROUND
In this chapter will be formally introduced the theory behind the main problems
in the conversational agents’ field as well as the state-of-the-art machine learning and
artificial intelligence techniques used in practice for chatbots.
2.1 High-level view of a conversational agent
Conceptually, a chatbot is composed of multiple components working in unison
to accomplish a common goal. Figure 2.1 summarizes in visual form the relations
between each part of a conversational agent. Upon reception of a new message, it is
first processed by the language identification module. This can range from simple tag
retrieval to more elaborate statistical methods. The new message, as well as the
language and potential previous conversation messages retrieved from backend, are
then fed to the intent classifier module whose role is to infer the intent the user is trying
to convey.
Afterwards, the message’s metadata, inferred intent and other information from
backend will be used to determine an appropriate action or sequence of actions. For
instance, a chatbot may decide to reply with a question if the intent is still not clear, or
it could decide to reactivate a user account if the user’s intention is to ask permission
to reactivate his/her account.
Finally, the action handler module takes as input an action and properly
executes said action. This is useful to implement it this way since a same action can be
executed in different ways depending on the agent’s environment. The way an action
is performed can be completely different depending if the bot operates on the
Messenger platform than on a company’s website.
2.2 Language identification
Inferring the language of a text is sometimes a necessary first step in a larger
natural language processing chain. Some languages even share homographs (e.g. room
which appears both in English and Dutch even though it has a different meaning in
each language) which may confuse algorithms with the semantics of these particular
words hence requiring the need to identify the correct language for a given text before
processing it further. In this work, the assumption that messages can only be written in
a single language will be made; however, there are versions of this problem which
involve detecting multiple languages in a single piece of text.
Chapter 2 Theoretical Background
6
2.3 Intent classification
Upon receiving a new message, the conversational agent must be able to
identify the goal the user is trying to accomplish. This is usually modelled as a
multiclassification problem whose labels are the names of the possible user intentions.
Techniques to solve this problem vary from simple keyword extraction to Bayesian
inference to determine the user’s request based on multiple messages. LSTM networks
have been previously known to work well in this area. Those are used as well for the
development of this project.
2.4 Knowledge management
An intelligent agent can only do so much without knowledge. The field
concerned with allowing computers to handle knowledge has progressed significantly
in the 1980’s under the name of knowledge engineering. Early techniques involved
usually an inference engine to manipulate facts and derive new knowledge using
second and first order logic. It is a way of deriving answers to incomplete questions
and are usually easily transcribed into API calls.
For conversational agents, knowledge engineering is extremely useful, for
instance to answer basic questions about general facts. Siri and Amazon Alexa use
internally knowledge inference methods to retrieve facts from the web and other
sources (e.g. asking Alexa about trains departing from Brussels today might trigger an
internal inference operation of the form train (Brussels; D; today) where D is an
anonymous variable representing a destination).
Nowadays, knowledge management is mostly done through API calls and
optimized database requests. Although more exotic methods inspired by graph-
structured ontologies are used every now and then for knowledge bases
2.5 Problem background
With the fast development of technology and the increasing digitalization, there
is a challenge to build relationships and trust among customers as they have the
opportunity to choose from several organizations that provide the same or similar
service or product (Jenneboer et al., 2022, p. 212). With the fast-paced technological
improvements that are currently proceeding, it is increasingly important for businesses
to embrace new technologies (Miklosik et al., 2019, p. 85705). Moreover, E-commerce
in retail has been consistently growing in the last decade and is expected to continue
growing from $5.2 trillion in 2021 to approximately $8.1 trillion in 2026 (Chevalier,
Chapter 2 Theoretical Background
7
2022). This shows that it is important for organizations to ensure online service quality
and meet customers' demands in the online environment. Customers perceive more risks
and there is less trust from customers to be shopping online than in physical stores
(Ariffin et al., 2018, p. 310). Thus, that creates a challenge for how organizations could
build loyalty from their customers online.

Recommended for you

Automated information retrieval and services of graduate school using chatbo...
Automated information retrieval and services of graduate  school using chatbo...Automated information retrieval and services of graduate  school using chatbo...
Automated information retrieval and services of graduate school using chatbo...

Automated information retrieval and servicing systems are a priority demand system in today's businesses to ensure instantaneous customer satisfaction. The chatbot system is an incredible technological application that enables communication channels to automatically respond to end-users in real-time and 24 hours a day. By providing effective services for retrieving information and electronic documents continuously and automating the information service system, the coronavirus disease (COVID-19) is challenging to promote graduate school programs, update news, and retrieve student information in this era. This article discusses automated information retrieval and services based on the architecture, components, technology, and experiment of chatbots. The chatbot system's primary functions are to deliver the course and contact information, answer frequency questions, and provide a link menu to apply for our online course platform. We manage the entire functional process of gathering course information and submitting an application for a course online. The final results compare end users' perceptions of chatbot system usage to onsite services to ensure that the chatbot system can be integrated into the university's information system, supporting university-related questions and answers. We may expand our chatbot system's connection to the university's server to provide information services to students in various informative areas for future research.

automated systemchatbotelectronic document
“A comparative study on consumer preference between Whatsapp and Hike messeng...
“A comparative study on consumer preference between Whatsapp and Hike messeng...“A comparative study on consumer preference between Whatsapp and Hike messeng...
“A comparative study on consumer preference between Whatsapp and Hike messeng...

We have done a research on "A comparative study on consumer preference between Whatsapp and Hike messenger of Kadi city”

project report on hike android apphike vs whatsappwhatsapp vs hike
ijeter35852020.pdf
ijeter35852020.pdfijeter35852020.pdf
ijeter35852020.pdf

The document discusses the development of a chatbot using deep learning models like sequence-to-sequence learning with LSTM. It proposes using a movie dialog corpus consisting of over 220,000 conversational exchanges to train the chatbot model. Transfer learning is used with pre-trained word embeddings to improve the model. The chatbot implementation uses an LSTM encoder-decoder architecture in the sequence-to-sequence model.

8
CHAPTER 3
OBJECTIVES
Creating an objective for a chatbot Q&A can help guide its development and
ensure it meets user needs effectively. Here’s a structured objective for a chatbot
designed for Q&A:
3.1 Purpose:
To provide users with accurate, timely, and helpful answers to their questions,
enhancing their experience and satisfaction.
1) Accuracy:
a) Ensure the chatbot delivers correct and relevant information.
b) Continuously update the knowledge base to reflect the latest information.
2) User Engagement
a) Offer a conversational and user-friendly interface.
b) Maintain a tone and style appropriate to the user base.
3) Efficiency:
a) Provide quick responses to user queries.
b) Implement mechanisms to handle complex or ambiguous questions effectively.
4) Availability:
a) Operate 24/7 to assist users at any time.
b) Ensure high uptime and reliability.
5) Scalability:
a) Support a large number of simultaneous users without degradation in
performance.
b) Adapt to increasing user demand and expanding question domains.
6) Learning and Adaptation:
a) Utilize user feedback to improve response quality.
b) Implement machine learning to enhance understanding and accuracy over time.
7) User Support and Escalation:
a) Provide clear instructions for users on how to interact with the chatbot.
b) Escalate queries to human support when necessary, ensuring a seamless
transition.
Chapter 3 Objectives
9
8) Privacy and Security:
a) Ensure user data privacy and comply with relevant data protection regulations.
b) Implement robust security measures to protect against unauthorized access and
data breaches.
3.2 Metrics for Success:
- User satisfaction ratings
- Response accuracy rate
- Average response time
- Number of queries handled without escalation
- User engagement levels
- Feedback and improvement cycle efficiency
3.3 Implementation Strategy
1. Knowledge Base Development
- Curate a comprehensive and up-to-date knowledge base.
- Regularly review and update content to ensure accuracy.
2. Natural Language Processing (NLP):
- Implement advanced NLP techniques to understand and process user queries.
- Continuously refine NLP models based on user interactions and feedback.
3. User Interface Design:
- Design an intuitive and accessible interface.
- Incorporate features like quick replies, suggested questions, and feedback
options.
4. Testing and Iteration:
- Conduct thorough testing to identify and fix issues.
- Use A/B testing to determine the most effective interaction strategies.
5. Feedback Loop:
- Collect and analyze user feedback to guide improvements.
- Implement a system for users to report inaccuracies or issues easily.
By adhering to this objective, the chatbot can effectively serve users, providing valuable
assistance and fostering a positive user experience.
3.4 Availability
One of the first attributes and benefits of AI Chatbots that comes to mind when
compared to human service is their 24/7 availability. Furthermore, Jenneboer et al.
Chapter 3 Objectives
10
(2022, p. 215), describe availability as the chatbot being available anytime and
everywhere. Chen et al. (2023), dissected this and made it into two different attributes
which they called always available and omnipresence. This where always available
refers to the fact that the chatbot never sleeps which means that customers can get the
chatbot's service at any time (Chen et al., 2023). Omnipresence on the other hand means
that the service from the chatbot is not limited by place and device (Chen et al., 2023).
Availability from chatbots gives customers the benefit of being able to access services
at all times and everywhere and at the same time reducing the effort in searching for a
service (Chen et al., 2023). Continuing on this, Ariff et al. (2013, p. 472-473), conducted
a study on e-service qualities and their impact on satisfaction and customer loyalty in
the context of online banking. The results from the study showed that the availability of
the e-service positivity affected satisfaction which has a positive relationship with
customer loyalty (Ariff et al., 2013, p. 472-473). Thus, earlier studies imply that the
availability of chatbots affects customer loyalty.
Therefore, we believe that this is a very important attribute of an AI chatbot in
general, but also with the connection to customer loyalty. In addition to this, customers
today expect organizations to always be available (Jenneboer et al., 2022, p. 226). This
makes this attribute even more interesting to study in relation to customer loyalty for
Gen Zs.
3.5 Ease of Use
The next attribute that we have chosen to adopt is the ease of use, which is an
integral part of the technology acceptance model (TAM) which will be further explained
below (see section 2.4). Davis (1989, p. 320), defined ease of use as the degree to which
a person believes that using a particular system would be free of effort. Further, Davis
(1989, p. 320), claims that if two applications are equal but one is perceived to be easier
to use there is a greater chance for that application to be accepted by users. This is of
importance for us in this thesis since for a technology to be able to create loyalty it first
must be accepted. Chen et al. (2023), provided a simple definition of ease of use in the
context of AI chatbots “The AI chatbot is easy to use”. While this may seem like a
straightforward definition, it is a crucial aspect of chatbot usability, as the customer's
perception of the application's ease of use ultimately determines its effectiveness.
Additionally, according to Chen et al. (2023), the attribute of ease of use has benefits
for customers as it reduces the customer learning cost and time spent learning how the
Chapter 3 Objectives
11
application works. Ashfaq et al. (2020), also used perceived ease of use as one of their
attributes to evaluate AI chatbots, which shows the wide adoption of ease of use as an
attribute of AI chatbots. Jenneboer et al. (2022, p. 215), had another name for ease of
use and instead saw it as useability but with the same meaning as explained above.
Furthermore, Van Der Goot & Pilgrim (2020, p. 177), found that a chatbot's ease of use
can greatly affect customer experience if it's good, but if it is difficult to use, it can have
a negative impact on the customer experience. Previous research has identified ease of
use as an important aspect of AI chatbots (Chen et al, 2023), and that ease of use of
chatbots positively influences the customer experience (Van Der Goot & Pilgrim, 2020,
p. 177) which has a positive relation to customer loyalty. Therefore, we will adopt ease
of use as one of the defining attributes of AI chatbots to study their relationship with
customer loyalty.

Recommended for you

project report of social networking web sites
project report of social networking web sitesproject report of social networking web sites
project report of social networking web sites

The document describes an algorithm created by the author's uncle to efficiently represent data and minimize memory usage. It explains how the Huffman coding algorithm works to assign variable-length binary codes to characters based on their frequency, allowing more common characters to have shorter codes and less common characters to have longer codes. This results in compressed data that takes up less space on average than fixed-length character encodings. The author provides an example Java implementation of the Huffman algorithm to help students with homework assignments.

IRJET- A Survey Paper on Chatbots
IRJET- A Survey Paper on ChatbotsIRJET- A Survey Paper on Chatbots
IRJET- A Survey Paper on Chatbots

This document summarizes a survey paper on chatbots. It discusses how chatbots can be used to relieve stress in adolescents through continuous dialogue that provides positive information and guidance. The proposed "HappySoul" chatbot system would act as a virtual friend to help stressed adolescents express their negative feelings and release stress. The technology at the core of such chatbots is natural language processing, recurrent neural networks, and a client-server architecture with an Android GUI. Key applications of chatbots discussed include assisting dementia patients, helping insomniacs, allowing marginalized communities to provide feedback, and making medical diagnoses faster.

irjet
A Survey Paper On Chatbots
A Survey Paper On ChatbotsA Survey Paper On Chatbots
A Survey Paper On Chatbots

This document summarizes a survey paper on chatbots. It discusses how chatbots use natural language processing to understand user queries and generate responses in a conversational manner. The document outlines the methodology of the proposed chatbot, which uses a client-server architecture with an Android application as the front-end and a recurrent neural network on the server to process inputs and generate outputs. The chatbot is intended to help relieve stress and anxiety in adolescents through positive conversations.

asurveypaper
12
CHAPTER 4
SOFTWARE ARCHITECTURE
This chapter will talk about the overall architecture of the conversational agent.
More specifically, section 4.1 describes the agent’s environment in details, section 4.2
will present the chatbot’s class diagram, and section 4.3 will describe the agent’s
modules, what purpose they fulfil and how they accomplish it.
4.1 Agent environment
The agent environment consists of a few different parts. One of them is the user
messages: they are a dynamic input that the agent can receive at any given time. They
consist in a string representing the actual text sent by the user, and a metadata structure
containing additional information like a pointer that links the message to the structure
representing the particular conversation it belongs to, and possibly the time the message
was sent, on which platform the message was sent, etc. The chatbot can only read the
information it contains with no possible means of modifying it. Another significant part
of the environment the agent has access to is the company’s backend which contains
additional information about the user and the database’s state. The agent can both
inspect and influence certain aspects of the backend. The chatbot also could send
replies to the users to obtain new information, or simply to tell them that their request
has been accepted and treated accordingly. A visual representation of the agent’s
environment is presented in Figure 4.1.
Chapter 4 Software Architecture
13
4.2 Class diagram
In this section, the connections between all the agent’s modules will be
highlighted and discussed. Figure 4.2 shows the class diagram of the agent’s modules.
As can be clearly seen from this diagram, the chatbot is made of several
components each solving one problem. The component labelled Client at the top of the
diagram is simply a generic client program that makes use of the chatbot. It can simply
be a terminal client or a more complicated dynamic online listener that fetches new
tickets when they are issued through the system.
The chatbot’s 5 main components are:
1) Intent Classifier
2) Human Requester
3) Action Planner
4) Context Manager
5) Action Executor.
It is also shown that the Action Planner has access to 2 submodules, one of
which (Backend Interface) being shared with another submodule.
Chapter 4 Software Architecture
14
4.3 System modules
This section will present the system’s submodules by discussing their respective
roles, and will also give their input as well as their outputs.
4.3.1 Intent classifier
This module is responsible for inferring the user intent based on a message. It
heavily uses neural networks to perform its normal operation. Its only input is a single
user message, and its output are a dictionary that maps every supported user intent with
its corresponding probability for that message.
4.3.2 Human intervention requester
This module operates right after the intent classifier. Its role is to request the
intervention of a human customer service agent in the case the intent of the user could
not be identified correctly. It is provided as a module as it is easier to change between
behaviors (For instance, one might want a more conservative chatbot when dealing
with high profile customers that will request human intervention more often).
Its input is the whole context of a dialogue with a user, as provided by the
context manager. Its output is simply a Boolean value which is true if the module judges
that, given the context, human intervention is required; it returns false otherwise.
4.3.3 Context manager
The module whose role is to handle the structure which organizes contexts. A
context in this case is defined as the sequence of messages, as well as metadata attached
to them, which are useful for helping a user with a single problem. In human terms, this
roughly corresponds to our intuitive concept of a single conversation/ticket.
4.3.4 Action planner
The action planner’s goal is, given a probability vector, decide which actions
the agent should take. It is responsible for observing the backends’ state and generating
a payload that contains the actions to perform and in which order. In this case, the
payload’s format will simply be a JSON object. It is also responsible for constructing
the actual reply to be sent to the user. It makes use of two submodules: the locales
handler and the backend interface.
Chapter 4 Software Architecture
15
4.4 Technology Acceptance Model (TAM)
Within the increasing digitalization it has emerged new technologies. In
particular communication and informational technologies (ICT) have increased the
most during this time (Marangunic & Granic, 2015, p. 81). In 1986, Davis introduced
the technology acceptance model (TAM) (Marangunic & Granic, 2015, p. 81).
Marangunic & Granic (2015, p. 81), describes that Davis's model investigates how
customers behave, and their attitudes towards acceptance or rejection of technology.
Further, Marangunic & Granic (2015, p. 81) points out that the technology acceptance
model (TAM), can be useful in understanding which factors of motivation mostly
influence behavior when it comes to technology. This is because the basic principle of
TAM is that when people use different IT devices, they make rational decisions when
using IT (Kim et al., 2010, p. 311). According to Trivedi & Trivedi (2018, p. 172), TAM
are capturing factors relating to service quality. Therefore, it is our belief that aspects of
TAM will be of importance to us in this thesis. By looking further into TAM, Davis et
al. (1989, p. 985), state that the technology acceptance model is divided into two
dimensions. The first is perceived usefulness, which refers to the probability for a user
to use the special technology that will increase their job performance within a company
context. Secondly, perceived ease of use, means that the future user wants to be able to
use the applications without any further effort (Davis et al., 1989, p. 985). Chen et al.
(2021, p. 1524), integrates TAM and Information system success model and build a
research model where they analyze the effects of chatbots on online customers, their
satisfaction, and their experience. Chen et al. (2021, p. 1524), can see that there is a
positive connection between the chatbot's usability and responsiveness and online
customer experience. TAM has in many cases been related to usage in workplaces and
in recent studies, it has shown that TAM has been used to increase the understanding of
online behavior (Chiu et al., 2009, p. 348). Furthermore, the authors describe that there
is importance in exploring the correlation between customer loyalty and TAM. Chiu et
al. (2009, p. 357), describe that TAM can help to describe the behavior of customers
that shop online. TAM can also create a deeper understanding of a customer's beliefs,
and later on create loyalty among customers.
Therefore, we see TAM as a useful model, to underline the acceptance of
technology. TAM is helpful for us in this thesis as it has helped create the ease-of-use
attribute for AI chatbots. In addition to this, as AI chatbots are a quite new tool we

Recommended for you

Movie recommender chatbot based on Dialogflow
Movie recommender chatbot based on DialogflowMovie recommender chatbot based on Dialogflow
Movie recommender chatbot based on Dialogflow

Currently, the online movie streaming business is growing rapidly, such as Netflix, Disney+, Amazon Prime Video, HBO, and Apple TV. The recommender system helps customers in getting information about movies that are in accordance with their wishes. Meanwhile, the development of messaging platform technology has made it easier for many people to communicate instantly. Utilizing a messaging platform to build a recommender system for movies, provides special benefits because people often access the messaging platform all the time. In the Indonesian language, there are many slang terms that the system must recognize. In this study, we build a chatbot on a messaging platform which users can interact with the system in natural language (in Indonesian language) and get recommendations. We use rule-based and maximum likelihood as a method in natural language processing (NLP), and content-based filtering for the recommendation process. The recommender system interaction is built through a conversation mechanism that will form a conversational recommender system. The interaction is based on a chatbot which is built using Dialogflow and implemented on the telegram. We use the accuracy of recommendations and user satisfaction to evaluate the system performance. The results obtained from the user study indicate that the NLP approach provides a positive experience for users. In addition, the system also produces an accuracy value of 83%.

chatbotconversational recommenderdialogflow
Ai and bots
Ai and botsAi and bots
Ai and bots

This document is a seminar report on artificial intelligence and chatbots submitted by Akolam Lilian C. to the Department of Computer Science at Enugu State University of Science and Technology. The report discusses the background and objectives of AI and chatbots, including their significance and applications. It also covers the literature review, discussion of ANI and AGI, chatbot architectures, and development platforms. The report is organized into sections on introduction, literature review, discussion, conclusion, and references.

artificial intelligence seminar material
SCADAmetrics Instrumentation for Sensus Water Meters - Core and Main Training...
SCADAmetrics Instrumentation for Sensus Water Meters - Core and Main Training...SCADAmetrics Instrumentation for Sensus Water Meters - Core and Main Training...
SCADAmetrics Instrumentation for Sensus Water Meters - Core and Main Training...

SCADAmetrics Instrumentation for Sensus Water Meters - Core and Main Training 2024 July 09

Chapter 4 Software Architecture
16
believe that the TAM model will be useful for us in our analysis. This since TAM can
help predict how new technology will be accepted and therefore will support us in the
analysis.
17
CHAPTER 5
SOFTWARE IMPLEMENTATION
This chapter will justify the use of certain libraries for the project, as well as
discuss the concrete implementation details of the completed system.
5.1 Programming language and libraries
Considering the context of the project and the company’s software
environment, the language Python was chosen as main programming language to
implement the chatbot. This is a trade-off between ease of implementation due to the
language’s prolific machine learning catalogue, and the ease of use for future
developers at GAMING1. Indeed, the company mainly works with the .NET
framework and as such writes a significant amount of code in the C# language.
However, Python is not a difficult language to learn and was deemed appropriate in
this situation. Concerning libraries, there are a few used to implement the chatbot in
practice. The first one is the Keras library whose overall goal is to provide a common
and easy-to-use interface for several deep learning frameworks such as Tensorflow,
Theano, etc ... The chatbot uses Keras on top of the Tensorflow library.
Another important library used is pandas which provides ways to efficiently
store and organize datasets. It is useful for manipulating large amounts of data. Finally,
a minor (relative to this project) but nevertheless important library is the scikit-learn
library. It is used in this context for some utilities such as splitting a dataset into train
validation and test sets.
5.2 Extracting data
The starting point is to be able to extract a messages dataset from the company’s
customer support system. Since the company started using Zendesk in 2013, there is a
significant amount of data to retrieve from their database. There are a little more than
1,400,000 tickets present in total in their system as of the writing of this report.
However, Zendesk unfortunately does not provide a means to export large number of
tickets easily or at least not including the tickets’ messages. Besides, it is easier to
design a custom solution that can periodically export new tickets every week.
Therefore, a simple API crawler was designed to overcome this issue. The
software is simply an infinite loop that requests ticket data in JSON format directly
Chapter 5 Software Implementation
18
from the Zendesk API 100 tickets at a time since that is the maximum number of tickets
the API can send in one request. It first starts with a seed date which corresponds to the
oldest date the crawler will extract tickets from. It will then process the remaining
tickets in chronological order. Each time a batch of 100 tickets has been processed, the
crawler requests what is called the next page of tickets to process. After a defined
number of processed tickets, the crawler will save the current batch of tickets to disk
to create a backup in case of failure. This is implemented because fully extracting
tickets takes a non-negligible amount of time. If it does fail, the crawler looks for the
last processed ticket in the backup file and restarts the process starting from that ticket.
This mechanism is also used every time the crawler is launched making it possible to
execute it every week or month to fetch new ticket data and update the model
dynamically.
5.3 Generating responses
The approach outlined in Chapter 3 places significant emphasis on a retrieval-
based method for generating responses, ensuring that interactions between the agent and
the user remain non-offensive. This method not only safeguards the user experience but
also aligns with best practices in automated customer service.
The core of this approach is the Action Planner module, which contains all the
logic that is triggered when a user’s intent is correctly identified. This module is crucial
in maintaining the accuracy and relevance of the responses. For example, when a user
inquiry about a delayed withdrawal, the Action Planner might call the backend system
to check specific details. This could involve verifying that the user’s account is in good
standing and not blacklisted, or providing a detailed explanation if the delay is due to
the transaction being processed through an international bank account.
The design of these responses is particularly meticulous. They are structured to
closely resemble the communications one might expect from live customer support
agents. This is intentional, as it ensures a consistent and professional tone that aligns
with the formal nature of most customer service interactions. Given that the primary
source of customer service inquiries is often formal emails, the responses generated by
the system are crafted to match this format. They are detailed, polite, and provide clear
and concise information to address the user’s needs.
By adopting this approach, the maintainers can ensure a high level of user
satisfaction. The retrieval-based method allows for the generation of responses that are
Chapter 5 Software Implementation
19
both accurate and contextually appropriate, reducing the risk of misunderstandings or
offensive remarks. Additionally, by mirroring the formal style of customer service
emails, the responses help in setting the right expectations and maintaining a
professional interaction standard. This approach, therefore, not only enhances the
effectiveness of automated customer support but also builds trust and reliability in the
system.
5.4 GUI
Fig 5.4.1: Prototype Model 1
Fig 5.4.2: Prototype Model 2

Recommended for you

GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdfGUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf

Foreign trade and customs

Social media management system project report.pdf
Social media management system project report.pdfSocial media management system project report.pdf
Social media management system project report.pdf

The project "Social Media Platform in Object-Oriented Modeling" aims to design and model a robust and scalable social media platform using object-oriented modeling principles. In the age of digital communication, social media platforms have become indispensable for connecting people, sharing content, and fostering online communities. However, their complex nature requires meticulous planning and organization.This project addresses the challenge of creating a feature-rich and user-friendly social media platform by applying key object-oriented modeling concepts. It entails the identification and definition of essential objects such as "User," "Post," "Comment," and "Notification," each encapsulating specific attributes and behaviors. Relationships between these objects, such as friendships, content interactions, and notifications, are meticulously established.The project emphasizes encapsulation to maintain data integrity, inheritance for shared behaviors among objects, and polymorphism for flexible content handling. Use case diagrams depict user interactions, while sequence diagrams showcase the flow of interactions during critical scenarios. Class diagrams provide an overarching view of the system's architecture, including classes, attributes, and methods .By undertaking this project, we aim to create a modular, maintainable, and user-centric social media platform that adheres to best practices in object-oriented modeling. Such a platform will offer users a seamless and secure online social experience while facilitating future enhancements and adaptability to changing user needs.

computer technologycomputer scienceproject management
Introduction to IP address concept - Computer Networking
Introduction to IP address concept - Computer NetworkingIntroduction to IP address concept - Computer Networking
Introduction to IP address concept - Computer Networking

An Internet Protocol address (IP address) is a logical numeric address that is assigned to every single computer, printer, switch, router, tablets, smartphones or any other device that is part of a TCP/IP-based network. Types of IP address- Dynamic means "constantly changing “ .dynamic IP addresses aren't more powerful, but they can change. Static means staying the same. Static. Stand. Stable. Yes, static IP addresses don't change. Most IP addresses assigned today by Internet Service Providers are dynamic IP addresses. It's more cost effective for the ISP and you.

networkinginternetcommunication
Chapter 5 Software Implementation
20
5.5 Responsiveness
Our next AI chatbot attribute is responsiveness which has been used in numerous
studies as an attribute or dimension of chatbots (Jenneboer et al., 2022; Trivedi, 2019;
Li et al., 2021; Chen et al., 2021). Li et al. (2021, p. 579), defined responsiveness as the
chatbot's capability to help and immediately provide service to users without delay in
their response. In a study by Chen et al. (2021, p. 1512), they found that the
responsiveness of chatbots had a positive influence on the customer experience in e-
retailing. Responsiveness was first introduced as a dimension of human service agents
in the SERVQUAL framework and was defined as the “willingness to help customers
and provide prompt service” (Parasuaman et al., 1988, p. 39). Since then, as previously
mentioned, responsiveness has been used in different contexts, as well as an AI chatbot
attribute in several studies. Li et al. (2021, p. 583), argued that because AI chatbots are
expected to act like human service agents, the dimension of responsiveness should be
applicable to chatbots as well. Our argument to have this as one of our AI chatbot 15
attributes is similar. As responsiveness has been seen as an attribute of chatbots in
several earlier studies that examines chatbots towards similar constructs as we are in
this thesis (Li et al., 2021; Chen et al., 2021; Trivedi, 2019). Therefore, we agree with
what Li et al. (2021, p. 583) stated, that this should be seen as an attribute of chatbots
as they are supposed to act like human service agents.
5.6 Assurance
Similar to responsiveness, assurance was also first introduced as a dimension of
service quality for human agents in the SERVQUAL framework where they defined it
in the following way “Knowledge and courtesy of employees and their ability to inspire
trust and confidence” Parasuaman et al., 1988, p. 39). Assurance in the chatbot context
refers to the chatbot's ability to build confidence in the user (Gorla et al., 2010, p. 213).
A further explanation for assurance is that the chatbot is knowledgeable and maintains
courteous communication with users (Gorla et al., 2010, p. 215). We can see how
assurance is defined in the context of chatbots is similar to when it was originally
defined towards human agents. Here we also have a similar argument as the one for
responsiveness, because if AI chatbots are meant to mimic human service agents the
attributes of a human service agent should be able to be applied to AI chatbots as well.
Furthermore, assurance is an essential part of information systems like AI chatbots for
provide good service quality (Trivedi, 2019, p. 96), and assurance is believed to be one
of the most salient attributes of AI chatbots (Li et al., 2021, p. 579). This makes us
Chapter 5 Software Implementation
21
believe that it’s very important to include this as one of the attributes of AI chatbots in
this thesis. Beyond that Li et al. (2021, p. 593), concluded in their study, which
examined what makes consumers continue to use AI chatbots in the travel agency, that
assurance has a positive relation to continued use of chatbots and satisfaction. This again
strengthens the argument that this could also have a positive impact on customer loyalty
in a setting outside of travel agencies. Thus, we have chosen to include assurance as one
of the attributes of AI chatbots in this thesis.
22
CHAPTER 6
WORKING
6.1 Standard Libraries
Logging:
Purpose: Used for tracking events that happen when some software runs. Logs are
very useful for understanding program flow and for debugging.
Features: Different log levels (DEBUG, INFO, WARNING, ERROR, CRITICAL),
configuration of log message formatting, multiple output destinations (console, file,
etc.).
OS:
Purpose: Provides functions to interact with the operating system.
Features: File and directory manipulation, environment variable access, process
management, and more.
RE:
Purpose: Regular expression operations.
Features: Pattern matching, searching, and replacing.
SHUTIL:
Purpose: High-level file operations.
Features: Copying, moving, renaming, and deleting files and directories.
TEMPFILE:
Purpose: Generate temporary files and directories.
Features: Creating temporary files/directories, which are cleaned up when they are
no longer needed.
WARNINGS:
Purpose: Provide a way to issue warnings.
Features: Customizable warning messages, filtering, and controlling warnings.
RANDOM:
Purpose: Generate pseudorandom numbers.
Features: Random number generation, random selection, shuffling, and sampling.
6.2 Type Hinting
List, Dict, Any, Tuple, Optional, Union:
Purpose: Provide type hints in Python, which help in static type checking.
Features:
Chapter 6 Working
23
`List`: Represents a list of elements.
`Dict`: Represents a dictionary of key value pairs.
`Any`: Represents any type.
`Tuple`: Represents a fixed size, ordered collection of elements.
`Optional`: Represents an optional value (can be `None` or of a specified type).
`Union`: Represents a value that can be one of several types.
6.3 NLP Libraries
1. nltk (Natural Language Toolkit):
Purpose: Provides tools for working with human language data (text).
Features: Tokenization, parsing, classification, stemming, tagging, and more.
2. spacy:
Purpose: Industrialstrength NLP library.
Features: Tokenization, partofspeech tagging, named entity recognition, dependency
parsing, and more. It is designed for largescale information extraction.
3. sentence_transformers:
Purpose: Provides easytouse BERTbased sentence and text embeddings.
Features: Pretrained models for generating sentence embeddings for various tasks
like clustering or semantic search.
4. transformers:
Purpose: Provides stateoftheart generalpurpose architectures for NLP.
Features: Implementation of transformer models like BERT, GPT, etc., with
pretrained models for a variety of tasks.
6.4 Data Handling
1. numpy:
Purpose: Fundamental package for scientific computing.
Features: Support for large, multidimensional arrays and matrices, mathematical
functions, random number generation.
2. pandas:
Purpose: Data manipulation and analysis.
Features: Data structures like DataFrame for handling tabular data, operations for
data cleaning, merging, reshaping, and more.
6.5 Web Framework
1. streamlit:

Recommended for you

Software Engineering and Project Management - Introduction to Project Management
Software Engineering and Project Management - Introduction to Project ManagementSoftware Engineering and Project Management - Introduction to Project Management
Software Engineering and Project Management - Introduction to Project Management

Introduction to Project Management: Introduction, Project and Importance of Project Management, Contract Management, Activities Covered by Software Project Management, Plans, Methods and Methodologies, some ways of categorizing Software Projects, Stakeholders, Setting Objectives, Business Case, Project Success and Failure, Management and Management Control, Project Management life cycle, Traditional versus Modern Project Management Practices.

project managementcontract managementmanagement
OCS Training - Rig Equipment Inspection - Advanced 5 Days_IADC.pdf
OCS Training - Rig Equipment Inspection - Advanced 5 Days_IADC.pdfOCS Training - Rig Equipment Inspection - Advanced 5 Days_IADC.pdf
OCS Training - Rig Equipment Inspection - Advanced 5 Days_IADC.pdf

OCS Training Institute is pleased to co-operate with a Global provider of Rig Inspection/Audits, Commission-ing, Compliance & Acceptance as well as & Engineering for Offshore Drilling Rigs, to deliver Drilling Rig Inspec-tion Workshops (RIW) which teaches the inspection & maintenance procedures required to ensure equipment integrity. Candidates learn to implement the relevant standards & understand industry requirements so that they can verify the condition of a rig’s equipment & improve safety, thus reducing the number of accidents and protecting the asset.

traininginspectiontrainingcourse
UNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-ID
UNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-IDUNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-ID
UNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-ID

20CDE09- INFORMATION DESIGN UNIT I INCEPTION OF INFORMATION DESIGN Introduction and Definition History of Information Design Need of Information Design Types of Information Design Identifying audience Defining the audience and their needs Inclusivity and Visual impairment Case study.

information designinceptiondefine
Chapter 6 Working
24
Purpose: Build and share data applications.
Features: Turns Python scripts into interactive apps, supports widgets, Realtime
updates, and easy deployment.
6.6 Image and Document Processing
1. PIL (Pillow):
Purpose: Image processing.
Features: Opening, manipulating, and saving many different images file formats.
2. PyPDF2:
Purpose: PDF file manipulation.
Features: Splitting, merging, cropping, and transforming PDF files.
3. docx:
Purpose: Create and update Microsoft Word `.docx` files.
Features: Reading, writing, and modifying Word documents.
6.7 Sentiment Analysis
1. vaderSentiment:
Purpose: Sentiment analysis specifically for social media texts.
Features: Rule based sentiment analysis with a focus on polarity (positive/negative)
and intensity.
6.8 OCR (Optical Character Recognition)
1. pytesseract:
Purpose: Optical character recognition tool for extracting text from images.
Features: Wrapper for Google’s TesseractOCR Engine, supports multiple languages,
and can handle various image formats.
These libraries provide a robust set of tools for a wide range of tasks, from data
manipulation and machine learning to web development and image processing.
6.9 File Paths
1. LOG_FILE_PATH: This is the path where your log file will be stored. Logging is
essential for tracking the flow of your application and debugging issues.
2. UPLOAD_FOLDER: This directory will be used to store uploaded files. Ensuring
this directory exists is crucial to avoid errors when files are uploaded.
3. TEMP_FOLDER: This directory will be used for temporary files. Temporary files
might be needed for intermediate storage during processing tasks.
Chapter 6 Working
25
6.10 Model Names
1. MODEL_NAMES: This likely contains the names or identifiers of models you will
be using in your application. These could be machine learning models or NLP models.
6.11 Threshold
1. DEFAULT_SIMILARITY_THRESHOLD: This is a predefined value used to
determine similarity in your application. For instance, in NLP tasks, it might be used to
determine if two sentences are similar enough based on cosine similarity or another
metric.
6.12 Setup Tasks
1. Create Directories: Ensure `UPLOAD_FOLDER` exists.
To ensure that the `UPLOAD_FOLDER` exists, we can use the `os` library to
check if the directory exists, and if not, create it.
2. Configure Warnings and Logging: Set up logging configurations and filter specific
warnings.
Logging configurations ensure that all important events in your application are
tracked. You can configure the logging level, format, and file handler. Filtering warnings
helps in ignoring specific warning messages that you are aware of and have deemed
noncritical.
Explanation
1. Creating Directories:
The script checks if `UPLOAD_FOLDER` and `TEMP_FOLDER` exist using
`os.path.exists()`.
If they do not exist, `os.makedirs()` is called to create them. This ensures your
application has the necessary directories for file handling.
2. Configuring Logging:
The `logging.basicConfig()` function is used to set up the logging configuration.
It sets the logging level to `DEBUG`, which means all messages (DEBUG and higher)
will be logged.The format for the log messages is specified.
Handlers are added to output log messages to a file (`FileHandler`) and to the
console (`StreamHandler`).
3. Filtering Warnings:
The `warnings.filterwarnings()` function is used to ignore
`DeprecationWarning` and `UserWarning` categories.
Chapter 6 Working
26
This helps in keeping the console output clean and focusing only on important
warnings.
This setup ensures that your application is ready to handle file uploads, log
important events, and filter out unnecessary warnings.
6.13 Custom Exceptions
Custom exceptions provide a way to handle specific error scenarios in a more
controlled and descriptive manner. This makes the code easier to debug and maintain.
Here are the custom exceptions for the specific error scenarios mentioned:
1. FileProcessingError: Raised when there is an error in processing files.
2. ModelLoadingError: Raised when there is an error in loading models.
3. AnalysisError: Raised when there is an error during analysis.
4. UnsupportedFileTypeError: Raised when an unsupported file type is encountered.
6.11 Model Loading
NLP models and tools:
1. spaCy Model: Used for general NLP tasks such as tokenization, part of speech
tagging, and named entity recognition.
2. SentenceTransformer: Used for generating sentence embeddings, which can be used
for tasks like clustering, semantic search, and similarity comparison.
3. NER Pipeline: Used for named entity recognition, which identifies entities in text
such as people, organizations, and locations.
Explanation
1. Custom Exceptions:
Four custom exceptions (`FileProcessingError`, `ModelLoadingError`,
`AnalysisError`, `UnsupportedFileTypeError`) are defined, each with a default
message.
These exceptions provide clear and specific error messages, making it easier to
understand what went wrong.
2. Model Loading Functions:
`load_spacy_model(model_name) Attempts to load a spaCy model and raises a
`ModelLoadingError` if it fails.
`load_sentence_transformer(model_name) Attempts to load a
SentenceTransformer model and raises a `ModelLoadingError` if it fails.
Chapter 6 Working
27
`load_ner_pipeline(model_name) Attempts to load a named entity recognition
pipeline using the Hugging Face transformers library and raises a
`ModelLoadingError` if it fails.
3. Model Loading:
Each model loading function is called within a `tryexcept` block
If a model fails to load, the corresponding custom exception is caught, and an error
message is printed.
If a model loads successfully, a success message is printed.
By using custom exceptions and structured model loading functions, you can handle
errors gracefully and provide clear, actionable error messages, improving the robustness
and maintainability of your code.
Custom exceptions are specialized error classes that you define in your
application to handle specific error scenarios in a more controlled and meaningful way.
By defining custom exceptions, you can provide more detailed and context specific
error messages, which can greatly aid in debugging and maintaining your code. Here’s
an explanation of the custom exceptions you mentioned:
6.14 Explanation and Use Cases
1. FileProcessingError:
Scenario: You have a function that processes uploaded files (e.g., reading
content from a text file or parsing a PDF). If an error occurs during this process (like a
file not being found or failing to read due to incorrect format), raising a
`FileProcessingError` provides a clear indication that the problem is related to file
handling.
2. ModelLoadingError:
Scenario: When loading machine learning models, if a model file is corrupted,
missing, or incompatible with the current version of the software, a
`ModelLoadingError` should be raised to indicate that the problem occurred during the
model loading phase.
3. AnalysisError:
Scenario: During data analysis or execution of algorithms, unexpected issues
such as invalid input data, calculation errors, or other logical problems might occur.
Raising an `AnalysisError` provides a clear message that the issue is within the analysis
logic.

Recommended for you

Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model SafeBangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe

For Ad post Contact : adityaroy0215@gmail.com Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe

Net Zero Case Study: SRK House and SRK Empire
Net Zero Case Study: SRK House and SRK EmpireNet Zero Case Study: SRK House and SRK Empire
Net Zero Case Study: SRK House and SRK Empire

In May 2024, globally renowned natural diamond crafting company Shree Ramkrishna Exports Pvt. Ltd. (SRK) became the first company in the world to achieve GNFZ’s final net zero certification for existing buildings, for its two two flagship crafting facilities SRK House and SRK Empire. Initially targeting 2030 to reach net zero, SRK joined forces with the Global Network for Zero (GNFZ) to accelerate its target to 2024 — a trailblazing achievement toward emissions elimination.

energybuildingconstruction
Rotary Intersection in traffic engineering.pptx
Rotary Intersection in traffic engineering.pptxRotary Intersection in traffic engineering.pptx
Rotary Intersection in traffic engineering.pptx

Very Important design

Chapter 6 Working
28
4. UnsupportedFileTypeError:
Scenario: When the application supports specific file types (e.g., only .txt and
.pdf files), and the user tries to upload a .jpg file, raising an `UnsupportedFileTypeError`
can be used to inform the user and handle the error gracefully.
6.15 Benefits of Using Custom Exceptions
Clarity: Custom exceptions provide clear and specific error messages that can
help identify the exact source of the error.
Maintainability: Code is easier to maintain and debug when errors are well categorized.
Error Handling: Allows for more precise error handling and recovery mechanisms,
improving the robustness of the application.
By defining and using these custom exceptions, you ensure that your application
can handle specific error scenarios gracefully and provide meaningful feedback to
developers and users.
Loading various NLP models and tools involves initializing and configuring
models for specific tasks such as tokenization, sentence embeddings, and named entity
recognition (NER). Here's a detailed explanation of each model and how to load them:
1. spaCy Model
Purpose: spaCy is a popular NLP library designed for fast and efficient
processing of large text corpora. It supports various NLP tasks like tokenization, part of
speech tagging, dependency parsing, and named entity recognition.
2. SentenceTransformer
Purpose: SentenceTransformers is a library that provides easy-to-use
BERTbased and other transformerbased models to generate sentence and text
embeddings. These embeddings can be used for various applications like clustering,
semantic search, and sentence similarity.
3. NER Pipeline
Purpose: Named Entity Recognition (NER) is the process of identifying and
classifying named entities (like people, organizations, locations) in text. The Hugging
Face Transformers library provides pretrained models and pipelines for performing
NER.
29
CHAPTER 7
CONCLUSION
In this thesis, we have embarked on a comprehensive journey to develop an
intelligent chatbot using AI and ML technologies. The process began with defining the
goals and constraints of the chatbot in Chapter 3, followed by designing a scalable
software solution in Chapter 4. This solution was capable of dynamically extracting and
labeling ticket data from an existing Zendesk environment, as discussed in Chapter 5.
The chatbot's architecture was meticulously broken down into various modules,
some of which employed neural network models. These models' structures and
properties were extensively analyzed in Chapter 6, and an innovative approach using
Bayes’ rule was introduced to allow users to clarify their inputs. Chapter 7 showcased
the final results of the chatbot, presenting performance metrics and a manual testing
method.
The developed solution proves to be effective and adaptable, offering easy
deployment and development opportunities across different systems supporting Python
environments. The chatbot can be extended to support additional languages and address
various user problems, although future maintainers should be aware of potential edge
cases where the chatbot may not perform optimally.
7.1 Future Scope
Automated Data Extraction: Data from unstructured documents, like contracts,
invoices, and receipts, can be automatically extracted using chatbots designed for
document analysis. This skill is particularly useful in fields where processing massive
amounts of papers can be laborious and prone to errors, such as finance, insurance, and
legal services.
Retrieving and Searching Information: Chatbots that possess document analysis
skills are able to effectively search and retrieve information from vast document
libraries. This is advantageous in fields where prompt access to precise information is
essential, such as healthcare, research, and education.
Compliance and Regulatory Requirements: Document analysis chatbots can
help guarantee that papers meet regulatory standards in industries like healthcare,
banking, and law that are subject to tight regulatory compliance. By pointing out
discrepancies, mistakes, or missing data, these chatbots help lower compliance risks.
30
REFERENCES
[1] Jurafsky, D., & Martin, J. H. (2020). Speech and Language Processing (3rd ed.).
Pearson.
[2] Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., ... &
Polosukhin, I. (2017). Attention is all you need. In Advances in neural information
processing systems (pp. 5998-6008).
[3] Radford, A., Wu, J., Child, R., Luan, D., Amodei, D., & Sutskever, I. (2019).
Language models are unsupervised multitask learners. OpenAI Blog, 1(8), 9.
[4] Brown, T. B., Mann, B., Ryder, N., Subbiah, M., Kaplan, J. D., Dhariwal, P., ... &
Amodei, D. (2020). Language models are few-shot learners. arXiv preprint
arXiv:2005.14165.
[5] Devlin, J., Chang, M. W., Lee, K., & Toutanova, K. (2018). BERT: Pre-training of
deep bidirectional transformers for language understanding. arXiv preprint
arXiv:1810.04805.
[6] Howard, J., & Ruder, S. (2018). Universal language model fine-tuning for text
classification. In Proceedings of the 56th Annual Meeting of the Association for
Computational Linguistics (Vol. 1, pp. 328-339).
[7] Manning, C. D., Raghavan, P., & Schütze, H. (2008). Introduction to Information
Retrieval. Cambridge University Press.
[8] Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.
[9] LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. Nature, 521(7553),
436-444.
[10] Mikolov, T., Chen, K., Corrado, G., & Dean, J. (2013). Efficient estimation of
word representations in vector space. arXiv preprint arXiv:1301.3781.
[11] Young, T., Hazarika, D., Poria, S., & Cambria, E. (2018). Recent trends in deep
learning-based natural language processing. IEEE Computational Intelligence
Magazine, 13(3), 55-75.
[12] Serban, I. V., Sordoni, A., Bengio, Y., Courville, A. C., & Pineau, J. (2016).
Building end-to-end dialogue systems using generative hierarchical neural network
models. In Proceedings of the Thirtieth AAAI Conference on Artificial Intelligence
(pp. 3776-3784).
[13] Zhou, L., Gao, J., Li, D., & Shum, H. Y. (2020). The design and implementation
of XiaoIce, an empathetic social chatbot. Computational Linguistics, 46(1), 53-93.
References
31
[14] Chen, H., Liu, X., Yin, D., & Tang, J. (2017). A survey on dialogue systems:
Recent advances and new frontiers. ACM SIGKDD Explorations Newsletter, 19(2),
25-35.
[15] Liu, P., Yuan, Z., Fu, J., Jiang, Z., Hayashi, H., & Neubig, G. (2021). Pre-train,
prompt, and predict: A systematic survey of prompting methods in natural language
processing. arXiv preprint arXiv:2107.13586.
[16] Xu, P., & Croft, W. B. (2017). Quary performance prediction in query expansion.
ACM Transactions on Information Systems (TOIS), 35(3), 1-49.
[17] Sutskever, I., Vinyals, O., & Le, Q. V. (2014). Sequence to sequence learning with
neural networks. arXiv preprint arXiv:1409.3215.
[18] Kumar, A., Irsoy, O., Su, J., Bradbury, J., English, R., Pierce, B., ... & Socher, R.
(2016). Ask me anything: Dynamic memory networks for natural language processing.
In Proceedings of the 33rd International Conference on Machine Learning (Vol. 48, pp.
1378-1387).
[19] Hochreiter, S., & Schmidhuber, J. (1997). Long short-term memory. Neural
Computation, 9(8), 1735-1780.20. *Bahdanau, D., Cho, K., & Bengio, Y. (2014).
Neural machine translation by jointly learning to align and translate. arXiv preprint
arXiv:1409.0473.
[20] Vinyals, O., Fortunato, M., & Jaitly, N. (2015). Pointer networks. In Advances in
Neural Information Processing Systems (pp. 2692-2700).
[21] Graves, A. (2013). Generating sequences with recurrent neural networks. arXiv
preprint arXiv:1308.0850.
[22] Vinyals, O., & Le, Q. (2015). A neural conversational model. arXiv preprint
arXiv:1506.05869.
[23] Serban, I. V., Lowe, R., Charlin, L., & Pineau, J. (2016). Generative deep neural
networks for dialogue: A short review. arXiv preprint arXiv:1611.06216.
[24] Li, J., Monroe, W., Ritter, A., Galley, M., Gao, J., & Jurafsky, D. (2016). Deep
reinforcement learning for dialogue generation. arXiv preprint arXiv:1606.01541.
[25] Bojar, O., Chatterjee, R., Federmann, C., Graham, Y., Haddow, B., Huck, M., ...
& Specia, L. (2018). Findings of the 2018 conference on machine translation
(WMT18). In Proceedings of the Third Conference on Machine Translation: Shared
Task Papers (pp. 272-307).
[26] Koehn, P. (2009). Statistical Machine Translation. Cambridge University Press.

Recommended for you

Vernier Caliper and How to use Vernier Caliper.ppsx
Vernier Caliper and How to use Vernier Caliper.ppsxVernier Caliper and How to use Vernier Caliper.ppsx
Vernier Caliper and How to use Vernier Caliper.ppsx

A vernier caliper is a precision instrument used to measure dimensions with high accuracy. It can measure internal and external dimensions, as well as depths. Here is a detailed description of its parts and how to use it.

22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf

CSS chapter 1 notes

L-3536-Cost Benifit Analysis in ESIA.pptx
L-3536-Cost Benifit Analysis in ESIA.pptxL-3536-Cost Benifit Analysis in ESIA.pptx
L-3536-Cost Benifit Analysis in ESIA.pptx

..

References
32
[27] Bird, S., Klein, E., & Loper, E. (2009). Natural Language Processing with Python:
Analyzing Text with the Natural Language Toolkit. O'Reilly Media, Inc.
[28] Chen, Q., Zhuo, Z., & Wang, W. (2019). Bert for joint intent classification and
slot filling. arXiv preprint arXiv:1902.10909.
[29] Ritter, A., Cherry, C., & Dolan, B. (2011). Data-driven response generation in
social media. In Proceedings of the 2011 Conference on Empirical Methods in Natural
Language Processing (pp. 583-593).
[30] Sun, Y., Yu, Y., Song, S., Liu, L., & Zhang, M. (2018). Dialog generation using
pre-trained language models. arXiv preprint arXiv:1805.11762.

More Related Content

Similar to Development of Chatbot Using AI/ML Technologies

IRJET- Conversational Assistant based on Sentiment Analysis
IRJET- Conversational Assistant based on Sentiment AnalysisIRJET- Conversational Assistant based on Sentiment Analysis
IRJET- Conversational Assistant based on Sentiment Analysis
IRJET Journal
 
WHATSAPP CHATBOT FOR CAREER GUIDANCE
WHATSAPP CHATBOT FOR CAREER GUIDANCEWHATSAPP CHATBOT FOR CAREER GUIDANCE
WHATSAPP CHATBOT FOR CAREER GUIDANCE
IRJET Journal
 
An Implementation of Voice Assistant for Hospitality
An Implementation of Voice Assistant for HospitalityAn Implementation of Voice Assistant for Hospitality
An Implementation of Voice Assistant for Hospitality
sipij
 
An Implementation of Voice Assistant for Hospitality
An Implementation of Voice Assistant for HospitalityAn Implementation of Voice Assistant for Hospitality
An Implementation of Voice Assistant for Hospitality
sipij
 
INTERNET OF BEHAVIOUR.docx
INTERNET OF BEHAVIOUR.docxINTERNET OF BEHAVIOUR.docx
INTERNET OF BEHAVIOUR.docx
Amit Kumar
 
IRJET- A Survey to Chatbot System with Knowledge Base Database by using Artif...
IRJET- A Survey to Chatbot System with Knowledge Base Database by using Artif...IRJET- A Survey to Chatbot System with Knowledge Base Database by using Artif...
IRJET- A Survey to Chatbot System with Knowledge Base Database by using Artif...
IRJET Journal
 
First Synopsis Format
First Synopsis FormatFirst Synopsis Format
First Synopsis Format
Sher Singh Bardhan
 
INTELLIGENT CHATBOT FOR COLLEGE ENQUIRY SYSTEM
INTELLIGENT CHATBOT FOR COLLEGE ENQUIRY SYSTEMINTELLIGENT CHATBOT FOR COLLEGE ENQUIRY SYSTEM
INTELLIGENT CHATBOT FOR COLLEGE ENQUIRY SYSTEM
IRJET Journal
 
Survey on Chatbot Classification and Technologies
Survey on Chatbot Classification and TechnologiesSurvey on Chatbot Classification and Technologies
Survey on Chatbot Classification and Technologies
IRJET Journal
 
IRJET- College Enquiry Chatbot System(DMCE)
IRJET-  	  College Enquiry Chatbot System(DMCE)IRJET-  	  College Enquiry Chatbot System(DMCE)
IRJET- College Enquiry Chatbot System(DMCE)
IRJET Journal
 
Voice Assistant Using Python and AI
Voice Assistant Using Python and AIVoice Assistant Using Python and AI
Voice Assistant Using Python and AI
IRJET Journal
 
Chatbot for Railway using Diloug Flow
Chatbot for Railway using Diloug FlowChatbot for Railway using Diloug Flow
Chatbot for Railway using Diloug Flow
ijtsrd
 
Automated information retrieval and services of graduate school using chatbo...
Automated information retrieval and services of graduate  school using chatbo...Automated information retrieval and services of graduate  school using chatbo...
Automated information retrieval and services of graduate school using chatbo...
IJECEIAES
 
“A comparative study on consumer preference between Whatsapp and Hike messeng...
“A comparative study on consumer preference between Whatsapp and Hike messeng...“A comparative study on consumer preference between Whatsapp and Hike messeng...
“A comparative study on consumer preference between Whatsapp and Hike messeng...
Bhavik Parmar
 
ijeter35852020.pdf
ijeter35852020.pdfijeter35852020.pdf
ijeter35852020.pdf
SatishBhalshankar
 
project report of social networking web sites
project report of social networking web sitesproject report of social networking web sites
project report of social networking web sites
Gyanendra Pratap Singh
 
IRJET- A Survey Paper on Chatbots
IRJET- A Survey Paper on ChatbotsIRJET- A Survey Paper on Chatbots
IRJET- A Survey Paper on Chatbots
IRJET Journal
 
A Survey Paper On Chatbots
A Survey Paper On ChatbotsA Survey Paper On Chatbots
A Survey Paper On Chatbots
Kristen Flores
 
Movie recommender chatbot based on Dialogflow
Movie recommender chatbot based on DialogflowMovie recommender chatbot based on Dialogflow
Movie recommender chatbot based on Dialogflow
IJECEIAES
 
Ai and bots
Ai and botsAi and bots
Ai and bots
Hyacinth Okeke
 

Similar to Development of Chatbot Using AI/ML Technologies (20)

IRJET- Conversational Assistant based on Sentiment Analysis
IRJET- Conversational Assistant based on Sentiment AnalysisIRJET- Conversational Assistant based on Sentiment Analysis
IRJET- Conversational Assistant based on Sentiment Analysis
 
WHATSAPP CHATBOT FOR CAREER GUIDANCE
WHATSAPP CHATBOT FOR CAREER GUIDANCEWHATSAPP CHATBOT FOR CAREER GUIDANCE
WHATSAPP CHATBOT FOR CAREER GUIDANCE
 
An Implementation of Voice Assistant for Hospitality
An Implementation of Voice Assistant for HospitalityAn Implementation of Voice Assistant for Hospitality
An Implementation of Voice Assistant for Hospitality
 
An Implementation of Voice Assistant for Hospitality
An Implementation of Voice Assistant for HospitalityAn Implementation of Voice Assistant for Hospitality
An Implementation of Voice Assistant for Hospitality
 
INTERNET OF BEHAVIOUR.docx
INTERNET OF BEHAVIOUR.docxINTERNET OF BEHAVIOUR.docx
INTERNET OF BEHAVIOUR.docx
 
IRJET- A Survey to Chatbot System with Knowledge Base Database by using Artif...
IRJET- A Survey to Chatbot System with Knowledge Base Database by using Artif...IRJET- A Survey to Chatbot System with Knowledge Base Database by using Artif...
IRJET- A Survey to Chatbot System with Knowledge Base Database by using Artif...
 
First Synopsis Format
First Synopsis FormatFirst Synopsis Format
First Synopsis Format
 
INTELLIGENT CHATBOT FOR COLLEGE ENQUIRY SYSTEM
INTELLIGENT CHATBOT FOR COLLEGE ENQUIRY SYSTEMINTELLIGENT CHATBOT FOR COLLEGE ENQUIRY SYSTEM
INTELLIGENT CHATBOT FOR COLLEGE ENQUIRY SYSTEM
 
Survey on Chatbot Classification and Technologies
Survey on Chatbot Classification and TechnologiesSurvey on Chatbot Classification and Technologies
Survey on Chatbot Classification and Technologies
 
IRJET- College Enquiry Chatbot System(DMCE)
IRJET-  	  College Enquiry Chatbot System(DMCE)IRJET-  	  College Enquiry Chatbot System(DMCE)
IRJET- College Enquiry Chatbot System(DMCE)
 
Voice Assistant Using Python and AI
Voice Assistant Using Python and AIVoice Assistant Using Python and AI
Voice Assistant Using Python and AI
 
Chatbot for Railway using Diloug Flow
Chatbot for Railway using Diloug FlowChatbot for Railway using Diloug Flow
Chatbot for Railway using Diloug Flow
 
Automated information retrieval and services of graduate school using chatbo...
Automated information retrieval and services of graduate  school using chatbo...Automated information retrieval and services of graduate  school using chatbo...
Automated information retrieval and services of graduate school using chatbo...
 
“A comparative study on consumer preference between Whatsapp and Hike messeng...
“A comparative study on consumer preference between Whatsapp and Hike messeng...“A comparative study on consumer preference between Whatsapp and Hike messeng...
“A comparative study on consumer preference between Whatsapp and Hike messeng...
 
ijeter35852020.pdf
ijeter35852020.pdfijeter35852020.pdf
ijeter35852020.pdf
 
project report of social networking web sites
project report of social networking web sitesproject report of social networking web sites
project report of social networking web sites
 
IRJET- A Survey Paper on Chatbots
IRJET- A Survey Paper on ChatbotsIRJET- A Survey Paper on Chatbots
IRJET- A Survey Paper on Chatbots
 
A Survey Paper On Chatbots
A Survey Paper On ChatbotsA Survey Paper On Chatbots
A Survey Paper On Chatbots
 
Movie recommender chatbot based on Dialogflow
Movie recommender chatbot based on DialogflowMovie recommender chatbot based on Dialogflow
Movie recommender chatbot based on Dialogflow
 
Ai and bots
Ai and botsAi and bots
Ai and bots
 

Recently uploaded

SCADAmetrics Instrumentation for Sensus Water Meters - Core and Main Training...
SCADAmetrics Instrumentation for Sensus Water Meters - Core and Main Training...SCADAmetrics Instrumentation for Sensus Water Meters - Core and Main Training...
SCADAmetrics Instrumentation for Sensus Water Meters - Core and Main Training...
Jim Mimlitz, P.E.
 
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdfGUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
ProexportColombia1
 
Social media management system project report.pdf
Social media management system project report.pdfSocial media management system project report.pdf
Social media management system project report.pdf
Kamal Acharya
 
Introduction to IP address concept - Computer Networking
Introduction to IP address concept - Computer NetworkingIntroduction to IP address concept - Computer Networking
Introduction to IP address concept - Computer Networking
Md.Shohel Rana ( M.Sc in CSE Khulna University of Engineering & Technology (KUET))
 
Software Engineering and Project Management - Introduction to Project Management
Software Engineering and Project Management - Introduction to Project ManagementSoftware Engineering and Project Management - Introduction to Project Management
Software Engineering and Project Management - Introduction to Project Management
Prakhyath Rai
 
OCS Training - Rig Equipment Inspection - Advanced 5 Days_IADC.pdf
OCS Training - Rig Equipment Inspection - Advanced 5 Days_IADC.pdfOCS Training - Rig Equipment Inspection - Advanced 5 Days_IADC.pdf
OCS Training - Rig Equipment Inspection - Advanced 5 Days_IADC.pdf
Muanisa Waras
 
UNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-ID
UNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-IDUNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-ID
UNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-ID
GOWSIKRAJA PALANISAMY
 
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model SafeBangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
bookhotbebes1
 
Net Zero Case Study: SRK House and SRK Empire
Net Zero Case Study: SRK House and SRK EmpireNet Zero Case Study: SRK House and SRK Empire
Net Zero Case Study: SRK House and SRK Empire
Global Network for Zero
 
Rotary Intersection in traffic engineering.pptx
Rotary Intersection in traffic engineering.pptxRotary Intersection in traffic engineering.pptx
Rotary Intersection in traffic engineering.pptx
surekha1287
 
Vernier Caliper and How to use Vernier Caliper.ppsx
Vernier Caliper and How to use Vernier Caliper.ppsxVernier Caliper and How to use Vernier Caliper.ppsx
Vernier Caliper and How to use Vernier Caliper.ppsx
Tool and Die Tech
 
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
sharvaridhokte
 
L-3536-Cost Benifit Analysis in ESIA.pptx
L-3536-Cost Benifit Analysis in ESIA.pptxL-3536-Cost Benifit Analysis in ESIA.pptx
L-3536-Cost Benifit Analysis in ESIA.pptx
naseki5964
 
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model Safe
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model SafePaharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model Safe
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model Safe
aarusi sexy model
 
IS Code SP 23: Handbook on concrete mixes
IS Code SP 23: Handbook  on concrete mixesIS Code SP 23: Handbook  on concrete mixes
IS Code SP 23: Handbook on concrete mixes
Mani Krishna Sarkar
 
CONVEGNO DA IRETI 18 giugno 2024 | PASQUALE Donato
CONVEGNO DA IRETI 18 giugno 2024 | PASQUALE DonatoCONVEGNO DA IRETI 18 giugno 2024 | PASQUALE Donato
CONVEGNO DA IRETI 18 giugno 2024 | PASQUALE Donato
Servizi a rete
 
IWISS Catalog 2024
IWISS Catalog 2024IWISS Catalog 2024
IWISS Catalog 2024
Iwiss Tools Co.,Ltd
 
Lecture 6 - The effect of Corona effect in Power systems.pdf
Lecture 6 - The effect of Corona effect in Power systems.pdfLecture 6 - The effect of Corona effect in Power systems.pdf
Lecture 6 - The effect of Corona effect in Power systems.pdf
peacekipu
 
MSBTE K Scheme MSBTE K Scheme MSBTE K Scheme MSBTE K Scheme
MSBTE K Scheme MSBTE K Scheme MSBTE K Scheme MSBTE K SchemeMSBTE K Scheme MSBTE K Scheme MSBTE K Scheme MSBTE K Scheme
MSBTE K Scheme MSBTE K Scheme MSBTE K Scheme MSBTE K Scheme
Anwar Patel
 
Chlorine and Nitric Acid application, properties, impacts.pptx
Chlorine and Nitric Acid application, properties, impacts.pptxChlorine and Nitric Acid application, properties, impacts.pptx
Chlorine and Nitric Acid application, properties, impacts.pptx
yadavsuyash008
 

Recently uploaded (20)

SCADAmetrics Instrumentation for Sensus Water Meters - Core and Main Training...
SCADAmetrics Instrumentation for Sensus Water Meters - Core and Main Training...SCADAmetrics Instrumentation for Sensus Water Meters - Core and Main Training...
SCADAmetrics Instrumentation for Sensus Water Meters - Core and Main Training...
 
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdfGUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
 
Social media management system project report.pdf
Social media management system project report.pdfSocial media management system project report.pdf
Social media management system project report.pdf
 
Introduction to IP address concept - Computer Networking
Introduction to IP address concept - Computer NetworkingIntroduction to IP address concept - Computer Networking
Introduction to IP address concept - Computer Networking
 
Software Engineering and Project Management - Introduction to Project Management
Software Engineering and Project Management - Introduction to Project ManagementSoftware Engineering and Project Management - Introduction to Project Management
Software Engineering and Project Management - Introduction to Project Management
 
OCS Training - Rig Equipment Inspection - Advanced 5 Days_IADC.pdf
OCS Training - Rig Equipment Inspection - Advanced 5 Days_IADC.pdfOCS Training - Rig Equipment Inspection - Advanced 5 Days_IADC.pdf
OCS Training - Rig Equipment Inspection - Advanced 5 Days_IADC.pdf
 
UNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-ID
UNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-IDUNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-ID
UNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-ID
 
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model SafeBangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
 
Net Zero Case Study: SRK House and SRK Empire
Net Zero Case Study: SRK House and SRK EmpireNet Zero Case Study: SRK House and SRK Empire
Net Zero Case Study: SRK House and SRK Empire
 
Rotary Intersection in traffic engineering.pptx
Rotary Intersection in traffic engineering.pptxRotary Intersection in traffic engineering.pptx
Rotary Intersection in traffic engineering.pptx
 
Vernier Caliper and How to use Vernier Caliper.ppsx
Vernier Caliper and How to use Vernier Caliper.ppsxVernier Caliper and How to use Vernier Caliper.ppsx
Vernier Caliper and How to use Vernier Caliper.ppsx
 
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
 
L-3536-Cost Benifit Analysis in ESIA.pptx
L-3536-Cost Benifit Analysis in ESIA.pptxL-3536-Cost Benifit Analysis in ESIA.pptx
L-3536-Cost Benifit Analysis in ESIA.pptx
 
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model Safe
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model SafePaharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model Safe
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model Safe
 
IS Code SP 23: Handbook on concrete mixes
IS Code SP 23: Handbook  on concrete mixesIS Code SP 23: Handbook  on concrete mixes
IS Code SP 23: Handbook on concrete mixes
 
CONVEGNO DA IRETI 18 giugno 2024 | PASQUALE Donato
CONVEGNO DA IRETI 18 giugno 2024 | PASQUALE DonatoCONVEGNO DA IRETI 18 giugno 2024 | PASQUALE Donato
CONVEGNO DA IRETI 18 giugno 2024 | PASQUALE Donato
 
IWISS Catalog 2024
IWISS Catalog 2024IWISS Catalog 2024
IWISS Catalog 2024
 
Lecture 6 - The effect of Corona effect in Power systems.pdf
Lecture 6 - The effect of Corona effect in Power systems.pdfLecture 6 - The effect of Corona effect in Power systems.pdf
Lecture 6 - The effect of Corona effect in Power systems.pdf
 
MSBTE K Scheme MSBTE K Scheme MSBTE K Scheme MSBTE K Scheme
MSBTE K Scheme MSBTE K Scheme MSBTE K Scheme MSBTE K SchemeMSBTE K Scheme MSBTE K Scheme MSBTE K Scheme MSBTE K Scheme
MSBTE K Scheme MSBTE K Scheme MSBTE K Scheme MSBTE K Scheme
 
Chlorine and Nitric Acid application, properties, impacts.pptx
Chlorine and Nitric Acid application, properties, impacts.pptxChlorine and Nitric Acid application, properties, impacts.pptx
Chlorine and Nitric Acid application, properties, impacts.pptx
 

Development of Chatbot Using AI/ML Technologies

  • 1. DEVELOPMENT OF CHATBOT USING AI/ML TECHNOLOGIES A thesis submitted in partial fulfilment of the requirement for the award of the degree of BACHELOR OF TECHNOLOGY BY: MAISNAM AKASH SINGH (2001CS0214) DORENJIT HAOROKCHAM (2001CS0232) Under the guidance of MR. CHIRANJIV CHINGANGBAM ASSISTANT PROFESSOR, MANIPUR TECHNICAL UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING MANIPUR TECHNICAL UNIVERSITY JUNE,2024
  • 3. i MANIPUR TECHNICAL UNIVERSITY (A University established under the Manipur Technical University Act, 2016) Imphal, Manipur- 795004 Website: - www.mtu.ac.in BONA FIDE CERTIFICATE This is to certify that the project titled DEVELOPMENT OF CHATBOT USING ML TECHNOLOGY is a bona fide record of the work done by Maisnam Akash Singh (2001CS0214)& Dorenjit Haorokcham (2001CS0232)submittedtoManipur Technical University Imphal, Manipur during the academic year 2020-2024, in partial fulfillment for the award of the degree Bachelor of Technology in Computer Science & Engineering Department. The contents of this report, in full or in parts, have not been submitted to any other Institution or University for the award of any degree or diploma. Chiranjiv Chingangbam Assistant Professor, Computer Science & Engineering Department Dr. Hanjabam Saratchandra Sharma Head & Assistant Professor of Computer Science & Engineering Department
  • 4. ii MANIPUR TECHNICAL UNIVERSITY (A University established under the Manipur Technical University Act, 2016) Imphal, Manipur- 795004 Website: - www.mtu.ac.in DECLARATION I declare that this thesis entitled DEVELOPMENT OF CHATBOT USING ML TECHNOLOGY submitted in partial fulfilment of the degree of Bachelor of Technology in Computer Science & Engineering is a record of original work carried out by me under the supervision of Mr. Chiranjiv Chingangbam and has not formed the basis for the award of any other degree or diploma, in this or any other Institution or University. In keeping with the ethical practice in reporting scientific information, due acknowledgements have been made wherever the findings of others have been cited. Date: Place: Imphal, Manipur Maisnam Akash Singh (2001CS0214) Dorenjit Haorokcham (2001CS0232)
  • 5. iii MANIPUR TECHNICAL UNIVERSITY (A University established under the Manipur Technical University Act, 2016) Imphal, Manipur- 795004 Website: - www.mtu.ac.in ACKNOWLEDGEMENTS First and foremost, I would like to express my deepest gratitude to our Project Supervisor, Mr. Chiranjiv Chingangbam for their invaluable guidance, support, and encouragement throughout the course of this project. Their expertise and insight were instrumental in shaping the direction and success of this work. I am also profoundly thankful to our Vice-Chancellor, H. Gyan Prakash, for providing the necessary resources and a conducive environment for research and development. Their leadership and vision have greatly inspired me and my peers to strive for excellence. Furthermore, I extend my heartfelt thanks to the Head of Department, Dr. Hanjabam Saratchandra Sharma, whose unwavering support and constructive feedback were crucial in the completion of this project. Their commitment to academic excellence and innovation has been a significant motivating factor. Lastly, I wish to reiterate my sincere appreciation to our Project Co-Ordinator, Mrs.Tayenjam Aerena, for their continuous mentorship and encouragement. Their dedication to my academic and professional growth has been truly remarkable and greatly appreciated. Sincerely Maisnam Akash Singh (2001CS0214) Dorenjit Haorokcham (2001CS0232) Date: Place: Imphal, Manipur
  • 6. iv ABSTRACT The rapid advancements in artificial intelligence and natural language processing have significantly transformed human-computer interactions. This thesis presents the design, development, and evaluation of an intelligent chatbot capable of engaging in natural and meaningful conversations with users. The chatbot leverages state-of-the-art deep learning techniques, including transformer-based architectures, to understand and generate human-like responses. Key contributions of this research include the implementation of a context- aware conversational model that can maintain coherent dialogue over extended interactions. The chatbot's performance is evaluated through both automated metrics and user studies, demonstrating its effectiveness in various applications such as customer service, mental health support, and educational assistance. Additionally, ethical considerations and potential biases in chatbot responses are examined to ensure the responsible deployment of this technology. The findings of this thesis highlight the potential of intelligent chatbots to enhance user experience and provide valuable insights for future developments in conversational AI.
  • 7. v TABLE OF CONTENTS Page no. BONAFIDE CERTIFICATE i DECLARATION ii ACKNOWLEDGEMENT iii ABSRACT iv LIST OF FIGURES vii CHAPTER 1: INTRODUCTION 1 1.1 Chatbot Definition 1 1.2 A brief history of Chatbot 2 1.3 Motivation 3 1.4 Importance of Chatbot 4 CHAPTER 2: THEORETICAL BACKGROUND 5 2.1 High level view of conversational agent 5 2.2 Language Identification 5 2.3 Intent Classification 6 2.4 Knowledge Management 6 2.5 Problem background 6 CHAPTER 3: OBJECTIVES 8 3.1 Purpose 8 3.2 Metrics for Success 9 3.3 Implementation Strategy 9 3.4 Availability 9 3.5 Ease of use 10 CHAPTER 4: SOFTWARE ARCHITECTURE 12 4.1 Agent Environment 12 4.2 Class diagram 13 4.3 System Modules 14 4.4 Technology Acceptance Model 15 CHAPTER 5: SOFTWARE IMPLEMENTATION 17 5.1 Programming language and libraries 17 5.2 Extracting Data 17 5.3 Generating Responses 18
  • 8. vi 5.4 GUI 19 5.5 Responsiveness 20 5.6 Assurance 20 CHAPTER 6: WORKING 22 6.1 Standard Libraries 22 6.2 Type Hinting 22 6.3 NLP Libraries 23 6.4 Data Handling 23 6.5 Web framework 23 6.6 Image and Document Processing 24 6.7 Sentiment Analysis 24 6.8 OCR Optical Character Recognition 24 6.9 File Path 24 6.10 Model Name 25 6.11 Threshold 25 6.12 Setup Tasks 25 6,13 Custom Exception 26 6.14 Explanation and use case 27 6.15 Benefits of using custom exception 28 CHAPTER 7: CONCLUSION 29 7.1 Future Scope 29 REFERENCES 30
  • 9. vii LIST OF FIGURES Figure no. Figure name Page no. 4.1 Agent Environment Model 9 4.2 Chatbot class diagram 10 5.4.1 Prototype Model 1 14 5.4.2 Prototype Model 2 14
  • 10. 1 CHAPTER 1 INTRODUCTION This chapter will introduce briefly a definition of chatbot. Afterwards, a brief history of the field of conversational agents will be recalled in section 1.3. Finally, it will also motivate the need for further developments in chatbots by referencing recent surveys conducted on this subject. 1.1 Chatbot: Definition According to the Oxford English Dictionary, a chatbot is defined as follows: chatbot (n.): A computer program designed to simulate conversation with human users, especially over the Internet. In the scientific literature, chatbots are more formally referred to as conversational agents. In the context of this document, the terms chatbot/conversational agent will be used interchangeably. The underlying principle of every chatbot is to interact with a human user (in most cases) via text messages and behave as though it were capable of understanding the conversation and reply to the user appropriately. The origin of computers conversing with humans is as old as the field of computer Science itself. Indeed, Alan Turing defined a simple test referred to now as the Turing test back in 1950 where a human judge would have to predict if the entity, they are communicating with via text is a computer program or not. However, this test’s ambition is much greater than the usual use case of chatbots; the main difference being that the domain knowledge of a chatbot is narrow whereas the Turing test assumes one can talk about any topic with the agent. This helps during the design of conversational agents as they are not required to have a (potentially) infinite domain knowledge and can, as such, focus on certain very specific topics such as for instance helping users book a table at a restaurant. Furthermore, another general assumption chatbot designers bear in mind is that users typically have a goal they want to achieve by the end of the conversation when they initiate an interaction with a chatbot. This then influences the conversation’s flow and topics to achieve the chosen goal. This can be exploited by developers since certain patterns of behavior tend to arise as a result. Therefore, the definition of a
  • 11. Chapter 1 Introduction 2 chatbot adopted for this document is a computer program communicating by text in a humanly manner and who provides services to human users to accomplish a well-defined goal. 1.2 A brief history of chatbots The first instance of a conversational agent was born in 1966: ELIZA was a computer program that simulated a psychiatrist and rephrased user input using basic (by today’s standards) natural language processing techniques. Despite being relatively simple, the program managed to give the illusion of understanding the user’s problems and successfully fooled a great many people. Its creator, Joseph Weizenbaum, even mentioned that his secretary would ask him to leave her so she could have a private conversation with ELIZA. Then during several decades, chatbots heavily followed ELIZA’s approach with minor additions brought into the field like speech synthesis and emotions management. Then in 2001 came Smarter Child, a conversational agent developed by Active Buddy, Inc. (now Colloquies) that operated on AOL Instant Messenger and MSN Messenger. Inspired by the rise of instant messaging platforms such as SMS, Smarter Child was created to provide quick access to news, weather forecasts, sports results, etc... The main innovation was that Smarter Child was connected to a knowledge base and detained useful information for its users. Unfortunately, the technical limitations of natural language processing caught up with bots on those platforms at the time and they were forgotten by History. The next advancement for conversational agents was made by a team at IBM through the Watson AI project that has been in development since 2006. The agent was designed with the sole purpose of winning the American TV show Jeopardy! which it did in 2011 when competing against two of the show’s former champions. Jeopardy! is interesting from an NLP point of view since the questions involve a lot of play on words and require fast information retrieval in vast knowledge bases. Unfortunately, this AI in its past form could only answer to one-liner questions and was unable to carry on a proper conversation with someone else. Finally in the early 2010’s came the rise of virtual assistants such as Apple’s Siri, Microsoft’s Cortana, Google’s Google assistant, Amazon’s Alexa and others. Those agents brought to the field the concept of conversation as well as goal-oriented dialog. Another major event in the field of chatbots was the release of the Messenger Platform
  • 12. Chapter 1 Introduction 3 for Facebook Messenger in 2016 and allowed the creation of conversational agents for non-AI related companies. As shown in this summary of the field of conversational agents, a lot of progress has been made since the early days of NLP. This does not imply however that current solutions are without flaws as will be highlighted in the next section. 1.3 Motivation Several studies have been conducted studying user preferences concerning customer service. In particular, a recent survey done by Drift in collaboration with Survey- Monkey Audience, Salesforce, and my clever assesses the image of chatbots in the eyes of the customers. It stems from the survey the following observations: 1. Customers experience problems with traditional online communication channels: 34% state that websites are hard to navigate, and 31% say that they can’t get answers to simple questions through those communication vectors. 2. Customers see the following potential benefits in chatbot services: 24-hour service (64%), instant replies (55%), answers to simple questions (55%). It is clear that the customers’ needs and expectations are not being fulfilled by traditional channels. They even see the perks of chatbots in comparison to other solutions. However, despite all of this, they still feel that current chatbots are not as effective as they could be as observed in a survey conducted by Chatbots.org. Across all generations, 53% of customers view chatbots as "not effective" or only "somewhat effective". It highlights a discrepancy between the potential advantages of these methods and the actual implementations’ capabilities. Nonetheless, when dividing the customers’ impressions of chatbots by generations, it becomes clear that younger and more tech-savvy people are more optimistic regarding conversational agents. According to this survey, millennials and generation Z respectively rated chatbots as "effective" or "very effective" 56% and 54% of the time, whereas boomers and the silent generation respectively gave chatbots that rating only 38% and 49% of the time. All in all, this suggests that additional research and advancements be made in order to unlock conversational agents’ full potential
  • 13. Chapter 1 Introduction 4 1.4 Importance of Chatbot Chatbots have become indispensable tools across industries, revolutionizing customer service and operational efficiency. Their round-the-clock availability ensures that businesses can provide immediate assistance to customers, improving response times and overall satisfaction. By automating routine tasks like answering FAQs and processing transactions, chatbots streamline operations, allowing human agents to focus on more complex issues and strategic initiatives. This scalability not only boosts productivity but also reduces operational costs, making chatbots a cost-effective solution for handling large volumes of customer interactions simultaneously. Moreover, chatbots enhance user experiences through personalized interactions driven by AI and machine learning. By analyzing user data and preferences, chatbots deliver tailored responses and recommendations, fostering deeper engagement and loyalty. This data-driven approach not only improves customer satisfaction but also empowers businesses with valuable insights for refining products, services, and marketing strategies. Across e-commerce, healthcare, education, and beyond, chatbots play pivotal roles—from facilitating seamless shopping experiences and providing medical advice to supporting personalized learning journeys. With advancements in natural language processing, chatbots can engage in more natural and intuitive conversations, further enhancing their effectiveness in meeting diverse customer needs. As businesses continue to integrate AI-driven solutions, chatbots remain at the forefront of transforming customer service paradigms and driving operational excellence in the digital era.
  • 14. 5 CHAPTER 2 THEORETICAL BACKGROUND In this chapter will be formally introduced the theory behind the main problems in the conversational agents’ field as well as the state-of-the-art machine learning and artificial intelligence techniques used in practice for chatbots. 2.1 High-level view of a conversational agent Conceptually, a chatbot is composed of multiple components working in unison to accomplish a common goal. Figure 2.1 summarizes in visual form the relations between each part of a conversational agent. Upon reception of a new message, it is first processed by the language identification module. This can range from simple tag retrieval to more elaborate statistical methods. The new message, as well as the language and potential previous conversation messages retrieved from backend, are then fed to the intent classifier module whose role is to infer the intent the user is trying to convey. Afterwards, the message’s metadata, inferred intent and other information from backend will be used to determine an appropriate action or sequence of actions. For instance, a chatbot may decide to reply with a question if the intent is still not clear, or it could decide to reactivate a user account if the user’s intention is to ask permission to reactivate his/her account. Finally, the action handler module takes as input an action and properly executes said action. This is useful to implement it this way since a same action can be executed in different ways depending on the agent’s environment. The way an action is performed can be completely different depending if the bot operates on the Messenger platform than on a company’s website. 2.2 Language identification Inferring the language of a text is sometimes a necessary first step in a larger natural language processing chain. Some languages even share homographs (e.g. room which appears both in English and Dutch even though it has a different meaning in each language) which may confuse algorithms with the semantics of these particular words hence requiring the need to identify the correct language for a given text before processing it further. In this work, the assumption that messages can only be written in a single language will be made; however, there are versions of this problem which involve detecting multiple languages in a single piece of text.
  • 15. Chapter 2 Theoretical Background 6 2.3 Intent classification Upon receiving a new message, the conversational agent must be able to identify the goal the user is trying to accomplish. This is usually modelled as a multiclassification problem whose labels are the names of the possible user intentions. Techniques to solve this problem vary from simple keyword extraction to Bayesian inference to determine the user’s request based on multiple messages. LSTM networks have been previously known to work well in this area. Those are used as well for the development of this project. 2.4 Knowledge management An intelligent agent can only do so much without knowledge. The field concerned with allowing computers to handle knowledge has progressed significantly in the 1980’s under the name of knowledge engineering. Early techniques involved usually an inference engine to manipulate facts and derive new knowledge using second and first order logic. It is a way of deriving answers to incomplete questions and are usually easily transcribed into API calls. For conversational agents, knowledge engineering is extremely useful, for instance to answer basic questions about general facts. Siri and Amazon Alexa use internally knowledge inference methods to retrieve facts from the web and other sources (e.g. asking Alexa about trains departing from Brussels today might trigger an internal inference operation of the form train (Brussels; D; today) where D is an anonymous variable representing a destination). Nowadays, knowledge management is mostly done through API calls and optimized database requests. Although more exotic methods inspired by graph- structured ontologies are used every now and then for knowledge bases 2.5 Problem background With the fast development of technology and the increasing digitalization, there is a challenge to build relationships and trust among customers as they have the opportunity to choose from several organizations that provide the same or similar service or product (Jenneboer et al., 2022, p. 212). With the fast-paced technological improvements that are currently proceeding, it is increasingly important for businesses to embrace new technologies (Miklosik et al., 2019, p. 85705). Moreover, E-commerce in retail has been consistently growing in the last decade and is expected to continue growing from $5.2 trillion in 2021 to approximately $8.1 trillion in 2026 (Chevalier,
  • 16. Chapter 2 Theoretical Background 7 2022). This shows that it is important for organizations to ensure online service quality and meet customers' demands in the online environment. Customers perceive more risks and there is less trust from customers to be shopping online than in physical stores (Ariffin et al., 2018, p. 310). Thus, that creates a challenge for how organizations could build loyalty from their customers online.
  • 17. 8 CHAPTER 3 OBJECTIVES Creating an objective for a chatbot Q&A can help guide its development and ensure it meets user needs effectively. Here’s a structured objective for a chatbot designed for Q&A: 3.1 Purpose: To provide users with accurate, timely, and helpful answers to their questions, enhancing their experience and satisfaction. 1) Accuracy: a) Ensure the chatbot delivers correct and relevant information. b) Continuously update the knowledge base to reflect the latest information. 2) User Engagement a) Offer a conversational and user-friendly interface. b) Maintain a tone and style appropriate to the user base. 3) Efficiency: a) Provide quick responses to user queries. b) Implement mechanisms to handle complex or ambiguous questions effectively. 4) Availability: a) Operate 24/7 to assist users at any time. b) Ensure high uptime and reliability. 5) Scalability: a) Support a large number of simultaneous users without degradation in performance. b) Adapt to increasing user demand and expanding question domains. 6) Learning and Adaptation: a) Utilize user feedback to improve response quality. b) Implement machine learning to enhance understanding and accuracy over time. 7) User Support and Escalation: a) Provide clear instructions for users on how to interact with the chatbot. b) Escalate queries to human support when necessary, ensuring a seamless transition.
  • 18. Chapter 3 Objectives 9 8) Privacy and Security: a) Ensure user data privacy and comply with relevant data protection regulations. b) Implement robust security measures to protect against unauthorized access and data breaches. 3.2 Metrics for Success: - User satisfaction ratings - Response accuracy rate - Average response time - Number of queries handled without escalation - User engagement levels - Feedback and improvement cycle efficiency 3.3 Implementation Strategy 1. Knowledge Base Development - Curate a comprehensive and up-to-date knowledge base. - Regularly review and update content to ensure accuracy. 2. Natural Language Processing (NLP): - Implement advanced NLP techniques to understand and process user queries. - Continuously refine NLP models based on user interactions and feedback. 3. User Interface Design: - Design an intuitive and accessible interface. - Incorporate features like quick replies, suggested questions, and feedback options. 4. Testing and Iteration: - Conduct thorough testing to identify and fix issues. - Use A/B testing to determine the most effective interaction strategies. 5. Feedback Loop: - Collect and analyze user feedback to guide improvements. - Implement a system for users to report inaccuracies or issues easily. By adhering to this objective, the chatbot can effectively serve users, providing valuable assistance and fostering a positive user experience. 3.4 Availability One of the first attributes and benefits of AI Chatbots that comes to mind when compared to human service is their 24/7 availability. Furthermore, Jenneboer et al.
  • 19. Chapter 3 Objectives 10 (2022, p. 215), describe availability as the chatbot being available anytime and everywhere. Chen et al. (2023), dissected this and made it into two different attributes which they called always available and omnipresence. This where always available refers to the fact that the chatbot never sleeps which means that customers can get the chatbot's service at any time (Chen et al., 2023). Omnipresence on the other hand means that the service from the chatbot is not limited by place and device (Chen et al., 2023). Availability from chatbots gives customers the benefit of being able to access services at all times and everywhere and at the same time reducing the effort in searching for a service (Chen et al., 2023). Continuing on this, Ariff et al. (2013, p. 472-473), conducted a study on e-service qualities and their impact on satisfaction and customer loyalty in the context of online banking. The results from the study showed that the availability of the e-service positivity affected satisfaction which has a positive relationship with customer loyalty (Ariff et al., 2013, p. 472-473). Thus, earlier studies imply that the availability of chatbots affects customer loyalty. Therefore, we believe that this is a very important attribute of an AI chatbot in general, but also with the connection to customer loyalty. In addition to this, customers today expect organizations to always be available (Jenneboer et al., 2022, p. 226). This makes this attribute even more interesting to study in relation to customer loyalty for Gen Zs. 3.5 Ease of Use The next attribute that we have chosen to adopt is the ease of use, which is an integral part of the technology acceptance model (TAM) which will be further explained below (see section 2.4). Davis (1989, p. 320), defined ease of use as the degree to which a person believes that using a particular system would be free of effort. Further, Davis (1989, p. 320), claims that if two applications are equal but one is perceived to be easier to use there is a greater chance for that application to be accepted by users. This is of importance for us in this thesis since for a technology to be able to create loyalty it first must be accepted. Chen et al. (2023), provided a simple definition of ease of use in the context of AI chatbots “The AI chatbot is easy to use”. While this may seem like a straightforward definition, it is a crucial aspect of chatbot usability, as the customer's perception of the application's ease of use ultimately determines its effectiveness. Additionally, according to Chen et al. (2023), the attribute of ease of use has benefits for customers as it reduces the customer learning cost and time spent learning how the
  • 20. Chapter 3 Objectives 11 application works. Ashfaq et al. (2020), also used perceived ease of use as one of their attributes to evaluate AI chatbots, which shows the wide adoption of ease of use as an attribute of AI chatbots. Jenneboer et al. (2022, p. 215), had another name for ease of use and instead saw it as useability but with the same meaning as explained above. Furthermore, Van Der Goot & Pilgrim (2020, p. 177), found that a chatbot's ease of use can greatly affect customer experience if it's good, but if it is difficult to use, it can have a negative impact on the customer experience. Previous research has identified ease of use as an important aspect of AI chatbots (Chen et al, 2023), and that ease of use of chatbots positively influences the customer experience (Van Der Goot & Pilgrim, 2020, p. 177) which has a positive relation to customer loyalty. Therefore, we will adopt ease of use as one of the defining attributes of AI chatbots to study their relationship with customer loyalty.
  • 21. 12 CHAPTER 4 SOFTWARE ARCHITECTURE This chapter will talk about the overall architecture of the conversational agent. More specifically, section 4.1 describes the agent’s environment in details, section 4.2 will present the chatbot’s class diagram, and section 4.3 will describe the agent’s modules, what purpose they fulfil and how they accomplish it. 4.1 Agent environment The agent environment consists of a few different parts. One of them is the user messages: they are a dynamic input that the agent can receive at any given time. They consist in a string representing the actual text sent by the user, and a metadata structure containing additional information like a pointer that links the message to the structure representing the particular conversation it belongs to, and possibly the time the message was sent, on which platform the message was sent, etc. The chatbot can only read the information it contains with no possible means of modifying it. Another significant part of the environment the agent has access to is the company’s backend which contains additional information about the user and the database’s state. The agent can both inspect and influence certain aspects of the backend. The chatbot also could send replies to the users to obtain new information, or simply to tell them that their request has been accepted and treated accordingly. A visual representation of the agent’s environment is presented in Figure 4.1.
  • 22. Chapter 4 Software Architecture 13 4.2 Class diagram In this section, the connections between all the agent’s modules will be highlighted and discussed. Figure 4.2 shows the class diagram of the agent’s modules. As can be clearly seen from this diagram, the chatbot is made of several components each solving one problem. The component labelled Client at the top of the diagram is simply a generic client program that makes use of the chatbot. It can simply be a terminal client or a more complicated dynamic online listener that fetches new tickets when they are issued through the system. The chatbot’s 5 main components are: 1) Intent Classifier 2) Human Requester 3) Action Planner 4) Context Manager 5) Action Executor. It is also shown that the Action Planner has access to 2 submodules, one of which (Backend Interface) being shared with another submodule.
  • 23. Chapter 4 Software Architecture 14 4.3 System modules This section will present the system’s submodules by discussing their respective roles, and will also give their input as well as their outputs. 4.3.1 Intent classifier This module is responsible for inferring the user intent based on a message. It heavily uses neural networks to perform its normal operation. Its only input is a single user message, and its output are a dictionary that maps every supported user intent with its corresponding probability for that message. 4.3.2 Human intervention requester This module operates right after the intent classifier. Its role is to request the intervention of a human customer service agent in the case the intent of the user could not be identified correctly. It is provided as a module as it is easier to change between behaviors (For instance, one might want a more conservative chatbot when dealing with high profile customers that will request human intervention more often). Its input is the whole context of a dialogue with a user, as provided by the context manager. Its output is simply a Boolean value which is true if the module judges that, given the context, human intervention is required; it returns false otherwise. 4.3.3 Context manager The module whose role is to handle the structure which organizes contexts. A context in this case is defined as the sequence of messages, as well as metadata attached to them, which are useful for helping a user with a single problem. In human terms, this roughly corresponds to our intuitive concept of a single conversation/ticket. 4.3.4 Action planner The action planner’s goal is, given a probability vector, decide which actions the agent should take. It is responsible for observing the backends’ state and generating a payload that contains the actions to perform and in which order. In this case, the payload’s format will simply be a JSON object. It is also responsible for constructing the actual reply to be sent to the user. It makes use of two submodules: the locales handler and the backend interface.
  • 24. Chapter 4 Software Architecture 15 4.4 Technology Acceptance Model (TAM) Within the increasing digitalization it has emerged new technologies. In particular communication and informational technologies (ICT) have increased the most during this time (Marangunic & Granic, 2015, p. 81). In 1986, Davis introduced the technology acceptance model (TAM) (Marangunic & Granic, 2015, p. 81). Marangunic & Granic (2015, p. 81), describes that Davis's model investigates how customers behave, and their attitudes towards acceptance or rejection of technology. Further, Marangunic & Granic (2015, p. 81) points out that the technology acceptance model (TAM), can be useful in understanding which factors of motivation mostly influence behavior when it comes to technology. This is because the basic principle of TAM is that when people use different IT devices, they make rational decisions when using IT (Kim et al., 2010, p. 311). According to Trivedi & Trivedi (2018, p. 172), TAM are capturing factors relating to service quality. Therefore, it is our belief that aspects of TAM will be of importance to us in this thesis. By looking further into TAM, Davis et al. (1989, p. 985), state that the technology acceptance model is divided into two dimensions. The first is perceived usefulness, which refers to the probability for a user to use the special technology that will increase their job performance within a company context. Secondly, perceived ease of use, means that the future user wants to be able to use the applications without any further effort (Davis et al., 1989, p. 985). Chen et al. (2021, p. 1524), integrates TAM and Information system success model and build a research model where they analyze the effects of chatbots on online customers, their satisfaction, and their experience. Chen et al. (2021, p. 1524), can see that there is a positive connection between the chatbot's usability and responsiveness and online customer experience. TAM has in many cases been related to usage in workplaces and in recent studies, it has shown that TAM has been used to increase the understanding of online behavior (Chiu et al., 2009, p. 348). Furthermore, the authors describe that there is importance in exploring the correlation between customer loyalty and TAM. Chiu et al. (2009, p. 357), describe that TAM can help to describe the behavior of customers that shop online. TAM can also create a deeper understanding of a customer's beliefs, and later on create loyalty among customers. Therefore, we see TAM as a useful model, to underline the acceptance of technology. TAM is helpful for us in this thesis as it has helped create the ease-of-use attribute for AI chatbots. In addition to this, as AI chatbots are a quite new tool we
  • 25. Chapter 4 Software Architecture 16 believe that the TAM model will be useful for us in our analysis. This since TAM can help predict how new technology will be accepted and therefore will support us in the analysis.
  • 26. 17 CHAPTER 5 SOFTWARE IMPLEMENTATION This chapter will justify the use of certain libraries for the project, as well as discuss the concrete implementation details of the completed system. 5.1 Programming language and libraries Considering the context of the project and the company’s software environment, the language Python was chosen as main programming language to implement the chatbot. This is a trade-off between ease of implementation due to the language’s prolific machine learning catalogue, and the ease of use for future developers at GAMING1. Indeed, the company mainly works with the .NET framework and as such writes a significant amount of code in the C# language. However, Python is not a difficult language to learn and was deemed appropriate in this situation. Concerning libraries, there are a few used to implement the chatbot in practice. The first one is the Keras library whose overall goal is to provide a common and easy-to-use interface for several deep learning frameworks such as Tensorflow, Theano, etc ... The chatbot uses Keras on top of the Tensorflow library. Another important library used is pandas which provides ways to efficiently store and organize datasets. It is useful for manipulating large amounts of data. Finally, a minor (relative to this project) but nevertheless important library is the scikit-learn library. It is used in this context for some utilities such as splitting a dataset into train validation and test sets. 5.2 Extracting data The starting point is to be able to extract a messages dataset from the company’s customer support system. Since the company started using Zendesk in 2013, there is a significant amount of data to retrieve from their database. There are a little more than 1,400,000 tickets present in total in their system as of the writing of this report. However, Zendesk unfortunately does not provide a means to export large number of tickets easily or at least not including the tickets’ messages. Besides, it is easier to design a custom solution that can periodically export new tickets every week. Therefore, a simple API crawler was designed to overcome this issue. The software is simply an infinite loop that requests ticket data in JSON format directly
  • 27. Chapter 5 Software Implementation 18 from the Zendesk API 100 tickets at a time since that is the maximum number of tickets the API can send in one request. It first starts with a seed date which corresponds to the oldest date the crawler will extract tickets from. It will then process the remaining tickets in chronological order. Each time a batch of 100 tickets has been processed, the crawler requests what is called the next page of tickets to process. After a defined number of processed tickets, the crawler will save the current batch of tickets to disk to create a backup in case of failure. This is implemented because fully extracting tickets takes a non-negligible amount of time. If it does fail, the crawler looks for the last processed ticket in the backup file and restarts the process starting from that ticket. This mechanism is also used every time the crawler is launched making it possible to execute it every week or month to fetch new ticket data and update the model dynamically. 5.3 Generating responses The approach outlined in Chapter 3 places significant emphasis on a retrieval- based method for generating responses, ensuring that interactions between the agent and the user remain non-offensive. This method not only safeguards the user experience but also aligns with best practices in automated customer service. The core of this approach is the Action Planner module, which contains all the logic that is triggered when a user’s intent is correctly identified. This module is crucial in maintaining the accuracy and relevance of the responses. For example, when a user inquiry about a delayed withdrawal, the Action Planner might call the backend system to check specific details. This could involve verifying that the user’s account is in good standing and not blacklisted, or providing a detailed explanation if the delay is due to the transaction being processed through an international bank account. The design of these responses is particularly meticulous. They are structured to closely resemble the communications one might expect from live customer support agents. This is intentional, as it ensures a consistent and professional tone that aligns with the formal nature of most customer service interactions. Given that the primary source of customer service inquiries is often formal emails, the responses generated by the system are crafted to match this format. They are detailed, polite, and provide clear and concise information to address the user’s needs. By adopting this approach, the maintainers can ensure a high level of user satisfaction. The retrieval-based method allows for the generation of responses that are
  • 28. Chapter 5 Software Implementation 19 both accurate and contextually appropriate, reducing the risk of misunderstandings or offensive remarks. Additionally, by mirroring the formal style of customer service emails, the responses help in setting the right expectations and maintaining a professional interaction standard. This approach, therefore, not only enhances the effectiveness of automated customer support but also builds trust and reliability in the system. 5.4 GUI Fig 5.4.1: Prototype Model 1 Fig 5.4.2: Prototype Model 2
  • 29. Chapter 5 Software Implementation 20 5.5 Responsiveness Our next AI chatbot attribute is responsiveness which has been used in numerous studies as an attribute or dimension of chatbots (Jenneboer et al., 2022; Trivedi, 2019; Li et al., 2021; Chen et al., 2021). Li et al. (2021, p. 579), defined responsiveness as the chatbot's capability to help and immediately provide service to users without delay in their response. In a study by Chen et al. (2021, p. 1512), they found that the responsiveness of chatbots had a positive influence on the customer experience in e- retailing. Responsiveness was first introduced as a dimension of human service agents in the SERVQUAL framework and was defined as the “willingness to help customers and provide prompt service” (Parasuaman et al., 1988, p. 39). Since then, as previously mentioned, responsiveness has been used in different contexts, as well as an AI chatbot attribute in several studies. Li et al. (2021, p. 583), argued that because AI chatbots are expected to act like human service agents, the dimension of responsiveness should be applicable to chatbots as well. Our argument to have this as one of our AI chatbot 15 attributes is similar. As responsiveness has been seen as an attribute of chatbots in several earlier studies that examines chatbots towards similar constructs as we are in this thesis (Li et al., 2021; Chen et al., 2021; Trivedi, 2019). Therefore, we agree with what Li et al. (2021, p. 583) stated, that this should be seen as an attribute of chatbots as they are supposed to act like human service agents. 5.6 Assurance Similar to responsiveness, assurance was also first introduced as a dimension of service quality for human agents in the SERVQUAL framework where they defined it in the following way “Knowledge and courtesy of employees and their ability to inspire trust and confidence” Parasuaman et al., 1988, p. 39). Assurance in the chatbot context refers to the chatbot's ability to build confidence in the user (Gorla et al., 2010, p. 213). A further explanation for assurance is that the chatbot is knowledgeable and maintains courteous communication with users (Gorla et al., 2010, p. 215). We can see how assurance is defined in the context of chatbots is similar to when it was originally defined towards human agents. Here we also have a similar argument as the one for responsiveness, because if AI chatbots are meant to mimic human service agents the attributes of a human service agent should be able to be applied to AI chatbots as well. Furthermore, assurance is an essential part of information systems like AI chatbots for provide good service quality (Trivedi, 2019, p. 96), and assurance is believed to be one of the most salient attributes of AI chatbots (Li et al., 2021, p. 579). This makes us
  • 30. Chapter 5 Software Implementation 21 believe that it’s very important to include this as one of the attributes of AI chatbots in this thesis. Beyond that Li et al. (2021, p. 593), concluded in their study, which examined what makes consumers continue to use AI chatbots in the travel agency, that assurance has a positive relation to continued use of chatbots and satisfaction. This again strengthens the argument that this could also have a positive impact on customer loyalty in a setting outside of travel agencies. Thus, we have chosen to include assurance as one of the attributes of AI chatbots in this thesis.
  • 31. 22 CHAPTER 6 WORKING 6.1 Standard Libraries Logging: Purpose: Used for tracking events that happen when some software runs. Logs are very useful for understanding program flow and for debugging. Features: Different log levels (DEBUG, INFO, WARNING, ERROR, CRITICAL), configuration of log message formatting, multiple output destinations (console, file, etc.). OS: Purpose: Provides functions to interact with the operating system. Features: File and directory manipulation, environment variable access, process management, and more. RE: Purpose: Regular expression operations. Features: Pattern matching, searching, and replacing. SHUTIL: Purpose: High-level file operations. Features: Copying, moving, renaming, and deleting files and directories. TEMPFILE: Purpose: Generate temporary files and directories. Features: Creating temporary files/directories, which are cleaned up when they are no longer needed. WARNINGS: Purpose: Provide a way to issue warnings. Features: Customizable warning messages, filtering, and controlling warnings. RANDOM: Purpose: Generate pseudorandom numbers. Features: Random number generation, random selection, shuffling, and sampling. 6.2 Type Hinting List, Dict, Any, Tuple, Optional, Union: Purpose: Provide type hints in Python, which help in static type checking. Features:
  • 32. Chapter 6 Working 23 `List`: Represents a list of elements. `Dict`: Represents a dictionary of key value pairs. `Any`: Represents any type. `Tuple`: Represents a fixed size, ordered collection of elements. `Optional`: Represents an optional value (can be `None` or of a specified type). `Union`: Represents a value that can be one of several types. 6.3 NLP Libraries 1. nltk (Natural Language Toolkit): Purpose: Provides tools for working with human language data (text). Features: Tokenization, parsing, classification, stemming, tagging, and more. 2. spacy: Purpose: Industrialstrength NLP library. Features: Tokenization, partofspeech tagging, named entity recognition, dependency parsing, and more. It is designed for largescale information extraction. 3. sentence_transformers: Purpose: Provides easytouse BERTbased sentence and text embeddings. Features: Pretrained models for generating sentence embeddings for various tasks like clustering or semantic search. 4. transformers: Purpose: Provides stateoftheart generalpurpose architectures for NLP. Features: Implementation of transformer models like BERT, GPT, etc., with pretrained models for a variety of tasks. 6.4 Data Handling 1. numpy: Purpose: Fundamental package for scientific computing. Features: Support for large, multidimensional arrays and matrices, mathematical functions, random number generation. 2. pandas: Purpose: Data manipulation and analysis. Features: Data structures like DataFrame for handling tabular data, operations for data cleaning, merging, reshaping, and more. 6.5 Web Framework 1. streamlit:
  • 33. Chapter 6 Working 24 Purpose: Build and share data applications. Features: Turns Python scripts into interactive apps, supports widgets, Realtime updates, and easy deployment. 6.6 Image and Document Processing 1. PIL (Pillow): Purpose: Image processing. Features: Opening, manipulating, and saving many different images file formats. 2. PyPDF2: Purpose: PDF file manipulation. Features: Splitting, merging, cropping, and transforming PDF files. 3. docx: Purpose: Create and update Microsoft Word `.docx` files. Features: Reading, writing, and modifying Word documents. 6.7 Sentiment Analysis 1. vaderSentiment: Purpose: Sentiment analysis specifically for social media texts. Features: Rule based sentiment analysis with a focus on polarity (positive/negative) and intensity. 6.8 OCR (Optical Character Recognition) 1. pytesseract: Purpose: Optical character recognition tool for extracting text from images. Features: Wrapper for Google’s TesseractOCR Engine, supports multiple languages, and can handle various image formats. These libraries provide a robust set of tools for a wide range of tasks, from data manipulation and machine learning to web development and image processing. 6.9 File Paths 1. LOG_FILE_PATH: This is the path where your log file will be stored. Logging is essential for tracking the flow of your application and debugging issues. 2. UPLOAD_FOLDER: This directory will be used to store uploaded files. Ensuring this directory exists is crucial to avoid errors when files are uploaded. 3. TEMP_FOLDER: This directory will be used for temporary files. Temporary files might be needed for intermediate storage during processing tasks.
  • 34. Chapter 6 Working 25 6.10 Model Names 1. MODEL_NAMES: This likely contains the names or identifiers of models you will be using in your application. These could be machine learning models or NLP models. 6.11 Threshold 1. DEFAULT_SIMILARITY_THRESHOLD: This is a predefined value used to determine similarity in your application. For instance, in NLP tasks, it might be used to determine if two sentences are similar enough based on cosine similarity or another metric. 6.12 Setup Tasks 1. Create Directories: Ensure `UPLOAD_FOLDER` exists. To ensure that the `UPLOAD_FOLDER` exists, we can use the `os` library to check if the directory exists, and if not, create it. 2. Configure Warnings and Logging: Set up logging configurations and filter specific warnings. Logging configurations ensure that all important events in your application are tracked. You can configure the logging level, format, and file handler. Filtering warnings helps in ignoring specific warning messages that you are aware of and have deemed noncritical. Explanation 1. Creating Directories: The script checks if `UPLOAD_FOLDER` and `TEMP_FOLDER` exist using `os.path.exists()`. If they do not exist, `os.makedirs()` is called to create them. This ensures your application has the necessary directories for file handling. 2. Configuring Logging: The `logging.basicConfig()` function is used to set up the logging configuration. It sets the logging level to `DEBUG`, which means all messages (DEBUG and higher) will be logged.The format for the log messages is specified. Handlers are added to output log messages to a file (`FileHandler`) and to the console (`StreamHandler`). 3. Filtering Warnings: The `warnings.filterwarnings()` function is used to ignore `DeprecationWarning` and `UserWarning` categories.
  • 35. Chapter 6 Working 26 This helps in keeping the console output clean and focusing only on important warnings. This setup ensures that your application is ready to handle file uploads, log important events, and filter out unnecessary warnings. 6.13 Custom Exceptions Custom exceptions provide a way to handle specific error scenarios in a more controlled and descriptive manner. This makes the code easier to debug and maintain. Here are the custom exceptions for the specific error scenarios mentioned: 1. FileProcessingError: Raised when there is an error in processing files. 2. ModelLoadingError: Raised when there is an error in loading models. 3. AnalysisError: Raised when there is an error during analysis. 4. UnsupportedFileTypeError: Raised when an unsupported file type is encountered. 6.11 Model Loading NLP models and tools: 1. spaCy Model: Used for general NLP tasks such as tokenization, part of speech tagging, and named entity recognition. 2. SentenceTransformer: Used for generating sentence embeddings, which can be used for tasks like clustering, semantic search, and similarity comparison. 3. NER Pipeline: Used for named entity recognition, which identifies entities in text such as people, organizations, and locations. Explanation 1. Custom Exceptions: Four custom exceptions (`FileProcessingError`, `ModelLoadingError`, `AnalysisError`, `UnsupportedFileTypeError`) are defined, each with a default message. These exceptions provide clear and specific error messages, making it easier to understand what went wrong. 2. Model Loading Functions: `load_spacy_model(model_name) Attempts to load a spaCy model and raises a `ModelLoadingError` if it fails. `load_sentence_transformer(model_name) Attempts to load a SentenceTransformer model and raises a `ModelLoadingError` if it fails.
  • 36. Chapter 6 Working 27 `load_ner_pipeline(model_name) Attempts to load a named entity recognition pipeline using the Hugging Face transformers library and raises a `ModelLoadingError` if it fails. 3. Model Loading: Each model loading function is called within a `tryexcept` block If a model fails to load, the corresponding custom exception is caught, and an error message is printed. If a model loads successfully, a success message is printed. By using custom exceptions and structured model loading functions, you can handle errors gracefully and provide clear, actionable error messages, improving the robustness and maintainability of your code. Custom exceptions are specialized error classes that you define in your application to handle specific error scenarios in a more controlled and meaningful way. By defining custom exceptions, you can provide more detailed and context specific error messages, which can greatly aid in debugging and maintaining your code. Here’s an explanation of the custom exceptions you mentioned: 6.14 Explanation and Use Cases 1. FileProcessingError: Scenario: You have a function that processes uploaded files (e.g., reading content from a text file or parsing a PDF). If an error occurs during this process (like a file not being found or failing to read due to incorrect format), raising a `FileProcessingError` provides a clear indication that the problem is related to file handling. 2. ModelLoadingError: Scenario: When loading machine learning models, if a model file is corrupted, missing, or incompatible with the current version of the software, a `ModelLoadingError` should be raised to indicate that the problem occurred during the model loading phase. 3. AnalysisError: Scenario: During data analysis or execution of algorithms, unexpected issues such as invalid input data, calculation errors, or other logical problems might occur. Raising an `AnalysisError` provides a clear message that the issue is within the analysis logic.
  • 37. Chapter 6 Working 28 4. UnsupportedFileTypeError: Scenario: When the application supports specific file types (e.g., only .txt and .pdf files), and the user tries to upload a .jpg file, raising an `UnsupportedFileTypeError` can be used to inform the user and handle the error gracefully. 6.15 Benefits of Using Custom Exceptions Clarity: Custom exceptions provide clear and specific error messages that can help identify the exact source of the error. Maintainability: Code is easier to maintain and debug when errors are well categorized. Error Handling: Allows for more precise error handling and recovery mechanisms, improving the robustness of the application. By defining and using these custom exceptions, you ensure that your application can handle specific error scenarios gracefully and provide meaningful feedback to developers and users. Loading various NLP models and tools involves initializing and configuring models for specific tasks such as tokenization, sentence embeddings, and named entity recognition (NER). Here's a detailed explanation of each model and how to load them: 1. spaCy Model Purpose: spaCy is a popular NLP library designed for fast and efficient processing of large text corpora. It supports various NLP tasks like tokenization, part of speech tagging, dependency parsing, and named entity recognition. 2. SentenceTransformer Purpose: SentenceTransformers is a library that provides easy-to-use BERTbased and other transformerbased models to generate sentence and text embeddings. These embeddings can be used for various applications like clustering, semantic search, and sentence similarity. 3. NER Pipeline Purpose: Named Entity Recognition (NER) is the process of identifying and classifying named entities (like people, organizations, locations) in text. The Hugging Face Transformers library provides pretrained models and pipelines for performing NER.
  • 38. 29 CHAPTER 7 CONCLUSION In this thesis, we have embarked on a comprehensive journey to develop an intelligent chatbot using AI and ML technologies. The process began with defining the goals and constraints of the chatbot in Chapter 3, followed by designing a scalable software solution in Chapter 4. This solution was capable of dynamically extracting and labeling ticket data from an existing Zendesk environment, as discussed in Chapter 5. The chatbot's architecture was meticulously broken down into various modules, some of which employed neural network models. These models' structures and properties were extensively analyzed in Chapter 6, and an innovative approach using Bayes’ rule was introduced to allow users to clarify their inputs. Chapter 7 showcased the final results of the chatbot, presenting performance metrics and a manual testing method. The developed solution proves to be effective and adaptable, offering easy deployment and development opportunities across different systems supporting Python environments. The chatbot can be extended to support additional languages and address various user problems, although future maintainers should be aware of potential edge cases where the chatbot may not perform optimally. 7.1 Future Scope Automated Data Extraction: Data from unstructured documents, like contracts, invoices, and receipts, can be automatically extracted using chatbots designed for document analysis. This skill is particularly useful in fields where processing massive amounts of papers can be laborious and prone to errors, such as finance, insurance, and legal services. Retrieving and Searching Information: Chatbots that possess document analysis skills are able to effectively search and retrieve information from vast document libraries. This is advantageous in fields where prompt access to precise information is essential, such as healthcare, research, and education. Compliance and Regulatory Requirements: Document analysis chatbots can help guarantee that papers meet regulatory standards in industries like healthcare, banking, and law that are subject to tight regulatory compliance. By pointing out discrepancies, mistakes, or missing data, these chatbots help lower compliance risks.
  • 39. 30 REFERENCES [1] Jurafsky, D., & Martin, J. H. (2020). Speech and Language Processing (3rd ed.). Pearson. [2] Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., ... & Polosukhin, I. (2017). Attention is all you need. In Advances in neural information processing systems (pp. 5998-6008). [3] Radford, A., Wu, J., Child, R., Luan, D., Amodei, D., & Sutskever, I. (2019). Language models are unsupervised multitask learners. OpenAI Blog, 1(8), 9. [4] Brown, T. B., Mann, B., Ryder, N., Subbiah, M., Kaplan, J. D., Dhariwal, P., ... & Amodei, D. (2020). Language models are few-shot learners. arXiv preprint arXiv:2005.14165. [5] Devlin, J., Chang, M. W., Lee, K., & Toutanova, K. (2018). BERT: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805. [6] Howard, J., & Ruder, S. (2018). Universal language model fine-tuning for text classification. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Vol. 1, pp. 328-339). [7] Manning, C. D., Raghavan, P., & Schütze, H. (2008). Introduction to Information Retrieval. Cambridge University Press. [8] Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press. [9] LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. Nature, 521(7553), 436-444. [10] Mikolov, T., Chen, K., Corrado, G., & Dean, J. (2013). Efficient estimation of word representations in vector space. arXiv preprint arXiv:1301.3781. [11] Young, T., Hazarika, D., Poria, S., & Cambria, E. (2018). Recent trends in deep learning-based natural language processing. IEEE Computational Intelligence Magazine, 13(3), 55-75. [12] Serban, I. V., Sordoni, A., Bengio, Y., Courville, A. C., & Pineau, J. (2016). Building end-to-end dialogue systems using generative hierarchical neural network models. In Proceedings of the Thirtieth AAAI Conference on Artificial Intelligence (pp. 3776-3784). [13] Zhou, L., Gao, J., Li, D., & Shum, H. Y. (2020). The design and implementation of XiaoIce, an empathetic social chatbot. Computational Linguistics, 46(1), 53-93.
  • 40. References 31 [14] Chen, H., Liu, X., Yin, D., & Tang, J. (2017). A survey on dialogue systems: Recent advances and new frontiers. ACM SIGKDD Explorations Newsletter, 19(2), 25-35. [15] Liu, P., Yuan, Z., Fu, J., Jiang, Z., Hayashi, H., & Neubig, G. (2021). Pre-train, prompt, and predict: A systematic survey of prompting methods in natural language processing. arXiv preprint arXiv:2107.13586. [16] Xu, P., & Croft, W. B. (2017). Quary performance prediction in query expansion. ACM Transactions on Information Systems (TOIS), 35(3), 1-49. [17] Sutskever, I., Vinyals, O., & Le, Q. V. (2014). Sequence to sequence learning with neural networks. arXiv preprint arXiv:1409.3215. [18] Kumar, A., Irsoy, O., Su, J., Bradbury, J., English, R., Pierce, B., ... & Socher, R. (2016). Ask me anything: Dynamic memory networks for natural language processing. In Proceedings of the 33rd International Conference on Machine Learning (Vol. 48, pp. 1378-1387). [19] Hochreiter, S., & Schmidhuber, J. (1997). Long short-term memory. Neural Computation, 9(8), 1735-1780.20. *Bahdanau, D., Cho, K., & Bengio, Y. (2014). Neural machine translation by jointly learning to align and translate. arXiv preprint arXiv:1409.0473. [20] Vinyals, O., Fortunato, M., & Jaitly, N. (2015). Pointer networks. In Advances in Neural Information Processing Systems (pp. 2692-2700). [21] Graves, A. (2013). Generating sequences with recurrent neural networks. arXiv preprint arXiv:1308.0850. [22] Vinyals, O., & Le, Q. (2015). A neural conversational model. arXiv preprint arXiv:1506.05869. [23] Serban, I. V., Lowe, R., Charlin, L., & Pineau, J. (2016). Generative deep neural networks for dialogue: A short review. arXiv preprint arXiv:1611.06216. [24] Li, J., Monroe, W., Ritter, A., Galley, M., Gao, J., & Jurafsky, D. (2016). Deep reinforcement learning for dialogue generation. arXiv preprint arXiv:1606.01541. [25] Bojar, O., Chatterjee, R., Federmann, C., Graham, Y., Haddow, B., Huck, M., ... & Specia, L. (2018). Findings of the 2018 conference on machine translation (WMT18). In Proceedings of the Third Conference on Machine Translation: Shared Task Papers (pp. 272-307). [26] Koehn, P. (2009). Statistical Machine Translation. Cambridge University Press.
  • 41. References 32 [27] Bird, S., Klein, E., & Loper, E. (2009). Natural Language Processing with Python: Analyzing Text with the Natural Language Toolkit. O'Reilly Media, Inc. [28] Chen, Q., Zhuo, Z., & Wang, W. (2019). Bert for joint intent classification and slot filling. arXiv preprint arXiv:1902.10909. [29] Ritter, A., Cherry, C., & Dolan, B. (2011). Data-driven response generation in social media. In Proceedings of the 2011 Conference on Empirical Methods in Natural Language Processing (pp. 583-593). [30] Sun, Y., Yu, Y., Song, S., Liu, L., & Zhang, M. (2018). Dialog generation using pre-trained language models. arXiv preprint arXiv:1805.11762.