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.
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.
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...
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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%.
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.
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.
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.
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.
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.
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.
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.
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.
IRJET- Conversational Assistant based on Sentiment AnalysisIRJET Journal
The document proposes a conversational assistant based on sentiment analysis that can analyze a user's emotional state from their conversation input and recent tweets in order to provide counseling and improve responses. The proposed model uses a sequence-to-sequence model for conversation generation, naive bayes classification for sentiment analysis, and the Twitter API to analyze recent tweets in order to monitor a user's emotional changes over time and provide better assistance. The goal is to create a more empathetic chatbot that can understand a user's emotions and provide relevant responses to help those experiencing depression or other mental health issues.
The document describes a WhatsApp chatbot developed to provide career guidance and information to users. The chatbot was created using Twilio, Flask, and ngrok. It contains over 50 career roadmaps with details on how to become different professions and attached videos. Users can ask the chatbot questions about career options and it will respond with the appropriate roadmap and information to guide them. The chatbot aims to help users who are unsure about their career path by providing all relevant career information in an easy-to-understand format through WhatsApp messages and replies.
An Implementation of Voice Assistant for Hospitalitysipij
Voice user interface has gained popularity in the recent years. A chatbot is a machine with the ability to answer automatically through a conversational interface. Instead of using mouse and keyboards as input and screen as output, a chatbot with extra voice user interface feature improve the system and enhance the user experience. A chatbot is considered as one of the most exceptional and promising expressions of human computer interaction. Voice-based chatbots or artificial intelligence (AI) devices transform humancomputer bidirectional interactions that allow users to navigate an interactive voice response (IVR) system with their voice generally using natural language. In this paper, we focus on voice based chatbots for mediating interactions between hotels and guests from both the hospitality technology providers’ and guests’ perspectives. A hotel web application with voice user interface was implemented which provides voice input/output interface to enhance the user experience. Speech recognition component was used to dictate the user voice input to text. Speech synthesis API was used for text to voice conversion. A closed domain question answering (cdQA) Natural Language Processing (NLP) solution was used for processingof query and return the best answer possible.
An Implementation of Voice Assistant for Hospitalitysipij
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.
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 Journal
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.
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.
INTELLIGENT CHATBOT FOR COLLEGE ENQUIRY SYSTEMIRJET Journal
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.
Survey on Chatbot Classification and TechnologiesIRJET Journal
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- College Enquiry Chatbot System(DMCE)IRJET Journal
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.
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.
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.
Automated information retrieval and services of graduate school using chatbo...IJECEIAES
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.
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.
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.
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.
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.
Movie recommender chatbot based on DialogflowIJECEIAES
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%.
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.
Similar to Development of Chatbot Using AI/ML Technologies (20)
Social media management system project report.pdfKamal Acharya
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.
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.
Software Engineering and Project Management - Introduction to Project ManagementPrakhyath Rai
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.
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.
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.
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.
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.
A brand new catalog for the 2024 edition of IWISS. We have enriched our product range and have more innovations in electrician tools, plumbing tools, wire rope tools and banding tools. Let's explore together!
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.