Professional Documents
Culture Documents
______________________________________________________________________________
ABSTRACT
Chatbots are computer programs that can simulate conversation with human users. They are often used in
customer service applications, where they can answer questions, provide support,and resolve issues. Chatbots can
also be used for marketing and sales, education and entertainment. ChatBot can be described as software that can
chat with people using artificial intelligence. These software are used to perform tasks such as quickly responding to
users, informing them, helping to purchase products and providing better service to customers. In this paper, we
present the general working principle and the basic concepts of artificial intelligence based chatbots and related
concepts as well as their applications in various sectors such as telecommunication, banking, health, customer call
centers and e-commerce.
Making a chatbot
INDEX
INTRODUCTION
1.INTRODUCTION
1.1 INTRODUCTION TO PROJECT
ANALYZING ARCHITECTURE:
Choosing an architecture for a chatbot, it is important to consider the following factors:
•Purpose of the chatbot: What is the purpose of the chatbot? Is it to provide customer service, answer
questions, or sell products?
•Target audience: Who is the target audience for the chatbot? What are their needs and expectations?
•Budget: How much money is available to develop and maintain the chatbot?
Once these factors have been considered, it is possible to choose the best architecture for the chatbot.
In addition to the architecture, there are a number of other factors that should be considered when
developing a chatbot, such as:
.
• Natural language processing (NLP): NLP is the ability of a computer to understand human language.
NLP is essential for chatbots, as they need to be able to understand the user's input in order to respond
appropriately
• Dialog management: Dialog management is the process of controlling the flow of conversation between the
user and the chatbot. Dialog management is responsible for things like determining which chatbot response is most
appropriate, and for keeping the conversation on track.
• User interface (UI): The UI is the way that the user interacts with the chatbot. The UI should be easy to use and
understand, and it should be designed to meet the needs of the target audience.
By considering all of these factors, it is possible to develop a chatbot that is effective and meets the needs of the
target audience. An architecture of Chatbot requires a candidate response generator and response selector to give
the response to the user’s queries through text, images, and voice.
A general model:
A general model for chatbots can be divided into three main components:
Natural language processing (NLP): NLP is the ability of a computer to understand human language. This is
essential for chatbots, as they need to be able to understand the user's input in order to respond appropriately.
Dialog management: Dialog management is the process of controlling the flow of conversation between the
user and the chatbot. Dialog management is responsible for things like determining which chatbot response is
most appropriate, and for keeping the conversation on track.
User interface (UI): The UI is the way that the user interacts with the chatbot. The UI should be easy to use and
understand, and it should be designed to meet the needs of the target audience. Here is a more detailed
overview of each component:
Natural language processing (NLP)
NLP is a complex field of computer science that deals with the interaction between computers and human
(natural) languages. NLP techniques are used in a wide variety of applications, including chatbots, machine
translation, and text analysis.
The goal of NLP is to enable computers to understand and process human language in a way that is similar to
how humans do. This includes the ability to:
Understand the meaning of words and phrases: NLP systems need to be able to understand the meaning of
words and phrases in order to interpret the user's input.
Identify the structure of sentences: NLP systems need to be able to identify the structure of sentences in order to
understand the relationships between words and phrases.
Generate natural language text: NLP systems need to be able to generate natural language text in order to respond
to the user's input.
There are a number of different NLP techniques that can be used for chatbots. Some of the most common
techniques include:
Part-of-speech tagging: Part-of-speech tagging is the process of assigning a part-of-speech tag to each word in a
sentence. Part-of-speech tags provide information about the grammatical function of each word, which can be
used to understand the meaning of the sentence.
Named entity recognition: Named entity recognition is the process of identifying named entities in a text. Named
entities include things like people, places, organizations, and products. Named entity recognition can be used to
provide context for the user's input, which can help the chatbot to generate more relevant responses.
• Coreference resolution: Coreference resolution is the process of identifying words or phrases that refer to the
same entity. Coreference resolution can be used to track the identity of entities throughout a conversation,
which can help the chatbot to keep track of the conversation and generate more coherent responses.
• Determining which chatbot response is most appropriate: Dialog management needs to be able to determine
which chatbot response is most appropriate for the user's input. This can be a complex task, as it involves
taking into account a number of factors, such as the user's intent, the context of the conversation, and the
chatbot's knowledge base.
User interface (UI):
The UI is the way that the user interacts with the chatbot. The UI should be easy to use and understand, and it
should be designed to meet the needs of the target audience.
Some of the key factors to consider when designing a chatbot UI include:
•Clarity: The UI should be clear and easy to understand. The user should be able to easily figure out how to use
the chatbot and what they can do with it.
•Simplicity: The UI should be simple and easy to use. The user should not have to spend a lot of time trying to
figure out how to use the chatbot.
•Consistency: The UI should be consistent throughout. The user should be able to use the chatbot in the same
way, regardless of where they are in the conversation.
•Responsiveness: The UI should be responsive. The user should not have to wait a long time for the chatbot to
respond.
By considering all of these factors, it is possible to develop a chatbot UI that is effective and meets the needs
of the target audience.
Advantages:
Chatbots offer a number of advantages over traditional customer service channels, such as phone
calls and email. Some of the key advantages of chatbots include:
24/7 availability: Chatbots are available 24 hours a day, 7 days a week, which can be helpful for businesses
that need to provide customer support outside of traditional business hours.
Cost-effectiveness: Chatbots can be a cost-effective way to provide customer service, as they can replace the need
for human customer service representatives.
Improved efficiency: Chatbots can help to improve customer service efficiency by automating common tasks, such
as answering frequently asked questions.
Increased customer satisfaction: Chatbots can help to increase customer satisfaction by providing a more
convenient and personalized customer experience.
Improved data collection: Chatbots can collect data about customer interactions, which can be used to improve
products and services.
Overall, chatbots can offer a number of advantages for businesses that are looking to improve their customer
service. However, it is important to note that chatbots are not a replacement for human customer service
representatives. Chatbots can be a valuable tool for businesses, but they should not be used to replace the human
touch.
Answering frequently asked questions: Chatbots can be used to answer frequently asked questions (FAQs) about
products, services, and policies. This can free up human customer service representatives to handle more complex
issues.
Providing support for self-service tasks: Chatbots can be used to provide support for self-service tasks, such as
resetting passwords and tracking orders. This can help customers to resolve issues quickly and easily without
having to wait for a human representative to respond.
Providing personalized recommendations: Chatbots can be used to provide personalized recommendations to
customers based on their past purchases and browsing history.
Feasibility report
3. FEASIBILITY REPORT
Preliminary investigation examine project feasibility, the likelihood the system will be useful to the organization.
The main objective of the feasibility study is to test the Technical, Operational and Economical feasibility for
adding new modules and debugging old running system. All system is feasible if they are unlimited resources and
infinite time. There are aspects in the feasibility study portion of the preliminary investigation:
Technical Feasibility
Operational Feasibility
Economical Feasibility
Proposed projects are beneficial only if they can be turned out into information system. That will meet the
organization's operating requirements, Operational feasibility aspects of the project are to be taken as an
important part of the project implementation. Some of the important issues raised are to test the
operational feasibility of a project includes the following:
➢ Is there sufficient support for the management from the users?
➢ Will the system be used and work properly if it is being developed and implemented?
➢ Will there be any resistance from the user that will undermine the posuble application
benefits?
This system is targeted to be in accordance with the above-mentioned issues. Beforehand,
the management issues and user requirements have been taken into consideration. So
there is no question of resistance from the tiers that can undermine the possible application
benefits.
The well-planned design would ensure the optimal utilization of the computer resources
and would help in the improvement of performance status.
➢ The system is economically feasible. It does not require any addition hardware or
software. Since the interface for this system is developed using the existing resources
Software requirements specifications
4.SOFTWARE REQUIREMENT SPECIFICATION
To create a software requirements specification (SRS) for a chatbot, you'll need to define the
functional and non-functional requirements of the system. Here are some key elements to consider
when documenting the SRS for a chatbot:
Introduction:
Provide an overview of the chatbot project.
Define the purpose and goals of the chatbot.
Specify the target audience or user base.
Once you're happy with your bot, you can deploy it to production. Dialogflow provides a variety of deployment options,
including:
• Hosting your bot on Google Cloud Platform.
• Integrating your bot with your existing website or app.
• Making your bot available through a public API.
Dialogflow is a powerful tool that can be used to create a variety of conversational experiences. If you're looking to create a
chatbot or virtual assistant, Dialogflow is a great place to start.
Diagram of the chatbot application on Google Cloud:
DIALOGFLOW FEATURES
Dialogflow is a natural language understanding platform that makes it easy to design and integrate a
conversational user interface into your mobile app, web application, device, bot, etc. Dialogflow can analyze
multiple types of input from your customers, including text or audio inputs (like from a phone or voice
recording). It can also respond to your customers either through text or with synthetic speech.
Dialogflow has a number of features that make it a powerful tool for creating conversational experiences,
including:
Natural language understanding: Dialogflow uses Google's advanced natural language understanding technology
to understand the intent of user input. This means that your bot can understand a wide range of natural
language queries, even if they are not perfectly phrased.
Intents: Intents are the building blocks of Dialogflow. They define what your bot can do and how it can respond
to user input. For example, you might create an intent for "order food". This intent would define the different
ways that a user can order food, such as "I'd like to order a pizza" or "Can I get a burger?".
Entities: Entities are used to represent specific types of data, such as names, addresses, or products. For
example, you might create an entity for "product". This entity would define the different types of products that
your bot can sell, such as "pizza" or "burger".
Responses: Responses are the text or speech that your bot will use to respond to user input. For example, you
might create a response for the "order food" intent. This response might say "What would you like to order?".
Training data: Dialogflow uses training data to learn how to respond to user input. This training data can be in
the form of text conversations, audio recordings, or a combination of both.
Debugging tools: Dialogflow provides a number of debugging tools that can help you troubleshoot problems
with your bot. These tools include a conversation log, a natural language analysis tool, and a speech
recognition tool.
User
user_id (PK) (PK)
8.3.1 Black Box Testing: This method is used when knowledge of the specified function that a product has been
designed to perform is known. The concept of black box is used to represent a system whose inside workings are
not available to inspection. In a black box the test item is a "Black", since its logic is unknown, all that is known is
what goes in and what comes out, or the input and output. Black box testing attempts to find errors in the
following categories:• Incorrect or missing functions. Interface errors error in data structure• Performance errors
Initialization and termination errors As shown in the following figure of Black-box testing, we are not thinking of
the internal workings, just we think about What is the output to our system? What is the output for given input to
our system?
8.3.2 White Box Testing: White box testing is concerned with testing the implementation of the program The
intent of structural is not to exercise all the inputs or outputs but to exercise the different programming and
data structure used in the program. Thus structural testing Aims to achieve test cases that will force the
desire coverage of different structures Two types of path testing are statement testing coverage and branch
testing. White box testing techniques analyze the internal structures the used data structures, internal
design, code structure, and the working of the software rather than just the functionality as in black box
testing. It is also called glass box testing or clear box testing or structural testing. White Box Testing is also
known as transparent testing or open box testing.
White box testing is a software testing technique that involves testing the internal structure and workings of
a software application. The tester has access to the source code and uses this knowledge to design test cases
that can verify the correctness of the software at the code level.
White box testing is also known as structural testing or code-based testing, and it is used to test the
software’s internal logic, flow, and structure.
IMPLEMENTATION
A. AIML: To create our knowledge base for normal conversation, we have used AIML files to store the question
and answers pair. When user converses with our chat bot, the input is matched to patterns listed in AIML files
and corresponding answer is returned as response. The sample AIML file structure is as:
HELLO
USERNAME Hello User!
B. Lemmatization and POS Tagging Using Word Net: Information extraction from the input text was done by
extracting keywords. For example, “What is the current placement scenario?” contain “current”,
“placement” and “scenario” as the keywords. Appropriate Lemmas of the keywords were found using
Lemmatization and POS tagging, to group together the different inflected form of the words. For example,
require and required should map to require. Word Net from Python’s package was used for this purpose.
C. Log File: We have maintained a log file which stores the inputs which the chatbot was not able to answer.
Administer can see the log and add the response of relevant sentences to the knowledge base. This would help
in improvement of the chatbot knowledge system i.e. the databases.
D. Semantic Sentence Similarity:
There are various combinations in which user can input the same query. For example,
Q1: What is the notice regarding PG courses re-registration? Q2: Tell me about re-registration in PG courses in
our collegeQ1 and Q2 both mean the same thing (same sense). Also, there will be many more combinations for
this same query and finding all such combinations will not be feasible. The scalability and performance of the
system will also get affected. To overcome this problem, similarity is found out between the user input and the
queries present in the available question set (whose answers are available with the system). The query which
matches with the input with maximum score gets selected (if greater than threshold) and the appropriate
response is returned. Similarity score for two sentences is calculated by averaging the similarity of the individual
keywords of those sentences. Each keyword of the first sentence is matched with every keyword of the second
sentence to find the word with maximum similarity to it. Then the similarity score of individual words are
averaged to represent the sentence similarity. To find the word similarity- Path Similarity and Wu-Palmer (WUP)
Similarity is used. Path similarity computes shortest number of edges from one word sense to another word
sense, assuming a hierarchical structure like WordNet. In general, word senses which have a longer path distance
are less similar than those with a very short path distance, e.g. man, dog versus man, tree (expectation is that
man is more similar to dog than it is to tree). The Wu-Palmer metric weights the edges based on distance in the
hierarchy
CONCLUSION
CONCLUSION:
It is often impossible to get all the data on a single interface without the complications of
going through multiple forms and windows. The college chatbot aims to remove this difficulty by providing a
common and user-friendly interface to solve queries of college students and teachers. The purpose of a chatbot
system is to simulate a human conversation. Its architecture integrates a language model and computational
algorithm to emulate information online communication between a human and a computer using natural
language. The college student and employees can freely upload their queries. The chatbot provides fast and
efficient search for answers to the queries and gets the relevant links to their question. A background research
took place, which included an overview of the conversation procedure and tries to find out the relevant
keywords related to that query to provide the proper link. The database storage includes information about
questions, answers, keywords, and logs. We have also developed an interface. The interface developed will
have two parts, one for users and the other for the administrator. he Chabot improves customer services,
because of this improvement the benefits of the Chatbot are increasing day by day. In today’s world messaging
has become one of the popular means of communication, whether it is a text message or through messaging
apps. The Chabot’s are used in different fields for different purposes, because of these different types of
businesses are being developed Chabot’s.