AI Mini Project Report
AI Mini Project Report
AI Mini Project Report
Submitted by
Ashish Kamble
Nitesh Gawade
Sanjit Maji
Guided by
UNIVERSITY OF MUMBAI
2019-2020
DEPARTMENT OF INFORMATION TECHNOLOGY
CERTIFICATE
Date: ____________
This is to certify that, the project work embodied in this report entitled, “AI
CHATBOT FOR BOOK SHOP ASSISTANT” submitted by “Ashish Kamble bearing Roll
No. 724”, “Nitesh Gawade bearing Roll No. 719”, “Sanjit Maji bearing Roll No. 730” for
the award of Fourth year of Engineering (B.E.) degree in the subject of Intelligence System
Lab, is a work carried out by them under my guidance and supervision within the institute.
The work described in this project report is carried out by the concerned students and has
not been submitted for the award of any other degree of the University of Mumbai.
Further, it is certify that the students were regular during the academic year 2019-
2020 and have worked under the guidance of concerned faculty until the submission of this
project work at Rajiv Gandhi Institute of Technology, Mumbai.
Submitted by:
Internal Examiner
External Examiner
Date:
Place:
Declaration
I declare that this written submission represents my ideas in my own words and
where others' ideas or words have been included, I have adequately cited and referenced
the original sources. I also declare that I have adhered to all principles of academic hone
sty and integrity and have not misrepresented or fabricated or falsified any
idea/data/fact/source in my submission. I understand that any violation of the above will
be cause for disciplinary action by the Institute and can also evoke penal action from the
sources which have thus not been properly cited or from whom proper permission has not
been taken when needed.
Date:
Place:
Acknowledgement
With all reverence, we take the opportunity to express our deep sense of gratitude
and wholehearted indebtedness to our respected guide, Prof. Nilesh Rathod, Department
of Information Technology, Rajiv Gandhi Institute of Technology, Mumbai. From the
day of conception of this project his active involvement and motivating guidance on day-
to-day basis has made it possible for us to complete this challenging work in time.
We would like to express a deep sense of gratitude to our respected Head of the
Department, Dr. Sunil B. Wankhade who went all the way out to help us in all genuine
cases during the course of doing this project. We wish to express our sincere thanks to
Dr. Sanjay U. Bokade, Principal, Rajiv Gandhi Institute of Technology, Mumbai and
would to like to acknowledge specifically for giving guidance, encouragement and
inspiration throughout the academics.
We would like to thank all the staff of Information Technology Department who
continuously supported and motivated during our work. Also, we would like to thank our
colleagues for their continuous support and motivation during the project work. Finally,
we would like to express our gratitude to our family for their eternal belief in us. We
would not be where we are today without their support and encouragement.
Ashish Kamble
Nitesh Gawade
Sanjit Maji
Date:
Place:
Abstract
Choosing what book to read next has always been a question for many. Even for
students, deciding which textbook or reference book to read on a topic unknown to them
is a big question.
There are two common approaches for providing recommendations, they are collaborative
filtering and content based filtering.
In this report we try to present a model for a personalized recommendation system for
books that uses hybrid recommendation approach which is combination of content
based and collaborative filtering.
The proposed recommendation system tries to learn the user’s preferences and
recommends the books to the user based on their preferences. The system also
recommends the books to the user based on the user’s demographic parameters like age
and location. The system also tries to understand the user’s favorite author and
recommends accordingly.
Table of Contents
1. Introduction 1
3. Literature Survey 4
4. Problem Statement 5
5. Proposed System 6
7. References 11
Chapter 1: Introduction
A chatbot is a computer program that uses AI to have a conversation with humans. Users can
ask questions, make requests and respond to chatbot questions and statements using natural
language. A chatbot could support text input, audio input, or both.
The terms chatbot, virtual assistant, and conversational agent are sometimes used
interchangeably, but chatbots tend to support simpler conversations and more singular tasks.
A chatbot could tell you whether it will rain tomorrow, but a conversational agent might
determine that what you really need to know is what you should wear.
A chatbot can help you provide a strong user experience in a number of ways:
1. Respond immediately: By using a chatbot, you can help many users avoid long wait
times for phone-based customer support agents or even longer wait times for email-
and form-based support. A chatbot can be available immediately.
2. Stay open 24x7: Staffing a customer support center around the clock can be
extremely expensive. For some departments—such as HR—it might not be possible.
A chatbot, however, can answer questions 24x7, even on holidays.
3. Keep it conversational: Chatbots help make it easy for users to find the information
they need. Users can ask questions in a conversational way, and the chatbots can help
them refine their searches through their responses and follow-up questions. Having
had substantial experience with personal assistants on their smartphones and
elsewhere, users today expect this level of informal interaction. When chatbot users
are happy, the organizations employing the chatbots benefit.
1
4. Reduce costs: The potential to reduce costs is one of the clearest benefits of using a
chatbot. A chatbot can provide a new first line of support, supplement support during
peak periods or offer an additional support option. In all of these cases, employing a
chatbot can help reduce the number of users who need to speak with a human. You
can avoid scaling up your staff or offering human support around the clock.
2
Chapter 2: Aims & Objectives
3. Customer Satisfaction:
Chatbot is bound by some rules and obey them as long as they’re programmed to.
They will always treat a customer in the perfect way no matter how rough the person
is or how foul language the person uses.
3
Chapter 3: Literature Survey
1.Emanuela Haller and Traian Rebedea, “Designing a Chat-bot that Simulates an Historical
Figure”, IEEE Conference Publications, July 2017.
There are many applications that are incorporating a human appearance and intending to
simulate human dialog, but in most of the cases the knowledge of the conversational bot is
stored in a database created by a human experts. However, very few researches have
investigated the idea of creating a chat-bot with an artificial character and personality
starting from web pages or plain text about a certain person. This paper describes an
approach to the idea of identifying the most important facts in texts describing the life
(including the personality) of an historical figure for building a conversational agent that
could be used in middle-school CSCL scenarios.
2. Maja Pantic, Reinier Zwitserloot, and Robbert Jan Grootjans, “Teaching Introductory
Artificial Intelligence Using Asimple Agent Framework”, IEEE Transactions On
Education, Vol. 48, No. 3, August 20018.
This paper describes a flexible method of teaching introductory artificial intelligence (AI)
using a novel, Java-implemented, simple agent framework developed specifically for the
purposes of this course. Although numerous agent frameworks have been proposed in the
vast body of literature, none of these available frameworks proved to be simple enough to
be used by first-year students of computer science. Hence, the authors set out to create a
novel framework that would be suitable for the aims of the course, for the level of
computing skills of the intended group of students, and for the size of this group of
students.
4
Chapter 4: Problem Statement
The idea of the system is built, deploy, and optimize chatbots quickly and efficiently with
IBM Watson Assistant for book shop assistance. This chatbot will help the user on the
website of book store to give information about the location details, Timing of store as well
as books which are available at the book store. The main purpose of chatbots is to support
business teams in their relations with customers, by offering precision, personalization,
efficiency and scalability. Chatbots are meant to help and deliver immediate actions where
humans can’t reach due to timing or budget.
5
Chapter 5: Proposed System
As a good example of a powerful cloud service for building an intelligent chatbot, IBM
Watson Assistant delivers a robust, interactive experience through API endpoints. It
streamlines development and helps enhance your solution by offering easy-to-use tools,
ways to simplify dialog, pre-built content, analytics capabilities, and more.
Watson Assistant runs on the IBM Cloud, which also hosts a wide range of other Watson
services that can be helpful for creating chatbots, virtual assistants and conversational
agents. Natural language understanding, speech to text, text to speech, tone analyzer, and
conversation services could all play roles in your project.
After you have your intents, the next step is to add utterances. Utterances in the
Conversation API refer to the different questions your end users ask your bot. Under each
intent, add questions that would pertain to them. Under the “where” intent you would add
phrases like “where did you go to college” and “where do you live.”
6
Not only would you want to add as many “where did you [insert noun and/or action here]”
as you can, but you would want to add the different ways each of these questions could be
phrased. So, not only would you want to create the utterance “where did you go to college”
but you would also want to add “did you graduate from a school in the U.S.”, “in what state
did you go to university” etc. The more utterances you add the better.
Under each entity, you will also want to add values. Values are sub-subjects of entities. So,
under college, you would have things like major, YOG, and classes, along
with synonyms for each of these. The more synonyms you add for each entity value the
better. That way someone can ask “what was your major” and “what did you study” and get
the same correct answer.
Another tip here is to add descriptive words before certain entity values that could have
more than one meaning. In this example “study” could be the verb or the noun. So, to help
7
clarify the meaning in the context that it’s being used, you could add “you study” as a
synonym for major, and “a study” as a synonym for home library.
You’ve got intents, you’ve got utterances, you’ve got entities, and you’ve got entity values
and synonyms. Now it’s time to build exactly how your bot is going to interact with users.
In the Watson Conversation API this part is your dialog.
Setting up your dialog flow is all about logic. The dialog in the Conversation API is set up
like a logic tree with many “if then” conditions. Each intent begins a node on the left and
the logic flows from the top down through your intents. If a certain intent is triggered by an
utterance, its node is opened and the logic continues to entities.
The logic within each node (i.e. through entities) also flows from top to bottom. A specific
combination of #Intent and @Entity:value triggers a certain response to a question – this
combination is referred to as the response condition. So, for “what was your major” the
“what” intent would be triggered and then the response associated with the response
condition #what and @college:major would be returned.
After you set up each “#what and @Entity:value” response condition, you can start having
fun with responses. Here is where you can give your bot a personality. You can make your
bot of yourself sassy, sarcastic, or whatever attitude the REAL you has. Zach and Nathan
really went wild here with Adam the Chatbot which made him a lot more fun for people to
play with.
You can also get clever with how you craft your responses so that single responses can
answer multiple question. So, for “where did you go to college” you could have a response
that says “I went to x, where I studied y, before I graduating in z”. This way you can nail
“where” “what” and “when” in a single response.
8
After your bot has gotten a healthy amount of utterances from end users, you can use
the Improve section of the Conversation API to improve and train your bot. For questions
that didn’t trigger the correct intent you can add them so that they do. More importantly,
you can start to see what types of questions are being asked that you may not have thought
of. For example, with our bot, we didn’t anticipate how many questions we were going to
get about my “favorite” color, book, sport etc. until after we deployed it.
After you’ve deployed the bot and improved on the results, re-deploy to even more people
and improve again. Repeat this process as many times as you’d like. Through each iteration
the bot will continue to improve as you train it to better answer questions.
9
Chapter 6: Conclusion And Future Scope
CONCLUSION:
This system is built, deploy, and optimize chatbots quickly and efficiently with IBM Watson
Assistant for book shop assistance. This chatbot helps the user on the website of book store
to give information about the location details, Timing of store as well as books which are
available at the book store. The main purpose of chatbots is to support business teams in their
relations with customers, by offering precision, personalization, efficiency and scalability.
FUTURE SCOPE:
This system can be extended to give out information about books which are not available
now in the stock but when they will be made available. This chatbot currently only tells the
information of one book shop but in future it will be able to give out information about other
branches as well.
10
Chapter 7: References
[1] Maja Pantic, Reinier Zwitserloot, and Robbert Jan Grootjans, “Teaching
Introductory Artificial Intelligence Using Asimple Agent Framework”, IEEE
Transactions On Education, Vol. 48, No. 3, August 20018
[2] Beatriz Consciencia, Simao Santos, ˜Martins, Steven Abrantes, " Natural
Language Processing in IBM Watson Assistant, an Automatic Verification
Process ", CENTRIC 2018 : The Eleventh International Conference on
Advances in Human-oriented and Personalized Mechanisms
[5] Emanuela Haller and Traian Rebedea, “Designing a Chat-bot that Simulates an
Historical Figure”, IEEE Conference Publications, July 2017.
11