Professional Documents
Culture Documents
1.INTRODUCTION
1.1 Purpose
The purpose is creating a chatbot that receives questions from users,matches it with
pairs in its database and provides appropriate answers.
1.2 Project Scope
The goal is to provide people a quick and easy way to have their questions answered.
1.3 Terminologies
a) Chatbot : A chatbot is a service, powered by rules and sometimes artificial
intelligence, that you interact with via a chat interface..
b) URL : Uniform Resource Locator, an address to a resource on the Internet.
1.4 References
a) www.vogella.com/tutorials/My SQLJava /article.html
b) https:// docs.oracle.com / java se/7/docs/api/ java/sql /package
c) https://lecturenotes.in/subject/268/object-oriented-system-design-oosd
d) engineering.purdue.edu › Engineering
1.5 Overview of Document
A chat bot will be used to give information or answers to any question asked by a user.
According to input, the system will process the query and give response to the user. In
case the question asked by the user is not present in the database then it will store that
question in a file which will later on be seen by the administrator of software and all the
questions would be provided with the answers.
2.General Description
2.1 Product Perspective
Most of the search engines, like Google, use a system to rank different web pages. When
a user enters a query, the query is interpreted as keywords and the system returns a list
of highest ranked web pages which may have the answer to the query. Lexi, however, will
just match the query with the existing queries in the database and return the answer.
2.2 Product functions
Lexi is a chatbot that receives questions from users, matches it with pairs in its
database and provides appropriate answers.Some of the main functions are
1) Chatting
2) Learning
3) Searching
4) Reminders
2.3 User Characteristics
● Web app users
These users consist of non-technical users who want to get answers for their questions.
These users ask questions and get answers for those questions.
●Administrator
These users are administrators or managers of the software.They are responsible for
making any changes to the software, providing answers to the queries etc.
2.4 General Constraints
A) Limited Question Scope :
Creating a chatbot able to answer every single question is not possible to
implement.
B) Language :
The system will only support questions in standard English.
2.5 Assumptions and Dependencies
If the Google server is down then it is not possible to search the net.
3. Specific Requirements
3.1 External Interface Requirements
3.1.1 User Interface
Lexi only supports web-app based interfaces.
3.1.2 Software Interfaces
The app works in all popular web browsers.
3.1.3 Communication Interfaces
1) LAN
2) Internet
3.2 Functional Requirements
3.2.1 Chatting : Provides user experience of as if chatting with a human being by
providing suitable answers for his questions.User will feel as if he is chatting to
some human and not a robot.
● INPUT : Here the input would be the user query/question in standard
English.
● OUTPUT : Output will be the result/answer to the user query that too will
be in the standard English.
● PROCESSING : Our software accepts the user query in the form of string
of characters and then compares that query with the queries that are
present in the app database using string matching algorithms and returns
the answer.
● ERROR HANDLING : If the answer to the user query is not present in the
database, then the default statement “Sorry unable to process your
request” would be returned.
3.2.2 Learning : In case any question that’s asked by the user is not present in
our software database then it records such statements and gets its answers
from the admin which can later be provided to the user when the same question
repeats.
● INPUT : Here the input would be the user query/question in standard
English whose answer is not present in the database.
● OUTPUT : Statement saying “Sorry unable to process your request”. In
addition to this the question is being recorded in the file that is specially
maintained for such questions and answer to these questions is taken
from admin.
● PROCESSING : Whenever such a query is encountered which does not
match with any of the query in the database then the query is being
copied and recorded in the file specially maintained for such questions
and answer to these questions is provided by the admin later on.
● ERROR HANDLING : In case the answer provided by the admin is not
stored in the database, then admin is again required to provide ans and
make sure that now it's present in the database for use.
3.2.3 Searching : When a user wants to know anything about trending topics or
news or if he wants to know weather etc then our software can search for that
thing on the net and provide the user with an answer.
● INPUT : Any user query in standard English form.
● OUTPUT : Provides search result for the query searched.
● PROCESSING : Accepts user string and searches the same on net, or
directly redirects the user to the website.
● ERROR HANDLING : In case of any errors like poor net connection or no
connection it displays a message ”Please check your connection and try
again.”.
3.2.4 Reminders : Our software is capable of reminding us of certain events by
alarming us at that time.We just need to set an alarm for a particular day or time
and at that moment our software will remind us of our event.
● INPUT : User sets the date and time of the event.
● OUTPUT : An alarm to remind the user of a particular event.
● PROCESSING : Software accepts the date and time from the user and
saves that value in the reminder app of mobile.
● ERROR HANDLING : In case the input provided by the user is not correct
then the message “Invalid input” will be displayed.
3.3 Non-Functional Requirements
3.3.1 Performance
The average time for the server to respond, over the question testing set, will be
less than or equal to 2 seconds.
3.3.2 Reliability
Since our software has the ability to learn so it is highly reliable in case of
answering questions.
3.3.3 Security
The connection between the Web API and the programs will use HTTPS, for
security reasons.
3.3.4 Maintainability
The system is designed in such a way that the algorithms for the main units will
be able to be easily swapped out.In case any module is not functioning properly
or causing other modules to crash then they can be removed easily.
3.3.5 Portability
Since our software is mainly based on portable languages such as javascript and
SQL, therefore it can easily be installed to any system in future.
3.4 Design Constraints
Exhaustive searches of the entire set of combinations of queries will not be done.
Heuristics will be developed for this problem. Only people who know English will be able
to use this application. It doesn’t support any other languages.
4. Other requirements
4.1 Apportioning Of Requirements
We use an external agency to promote our product.
4.2 Database Requirements
Lexi uses MySQL for database purposes.