Nothing Special   »   [go: up one dir, main page]

0% found this document useful (0 votes)
54 views30 pages

Aa Iqbal

The document is a project report for a virtual assistant called "Ask Anything" created by Mohd Iqbal Ansari. It includes an abstract, introduction, objectives, existing systems and advantages of the proposed system. It also covers the hardware, software and languages required as well as diagrams for the system design such as ER diagrams and UML diagrams. The project aims to build a program that can serve as a personal assistant to perform tasks using voice commands.

Uploaded by

Iqbal Ansari
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views30 pages

Aa Iqbal

The document is a project report for a virtual assistant called "Ask Anything" created by Mohd Iqbal Ansari. It includes an abstract, introduction, objectives, existing systems and advantages of the proposed system. It also covers the hardware, software and languages required as well as diagrams for the system design such as ER diagrams and UML diagrams. The project aims to build a program that can serve as a personal assistant to perform tasks using voice commands.

Uploaded by

Iqbal Ansari
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

ASK ANYTHING

A PROJECT REPORT

BACHELOR OF SCIENCE (INFORMATION TECHNOLOGY)


By

Mr. Mohd Iqbal Ansari


Seat No: 2020897
Under the esteemed guidance of

Prof. Ruchi Dubey

DEPARTMENT OF INFORMATION TECHNOLOGY

SHRI RAJASTHANI SEVA SANGH’S


Smt. PARMESHWARIDEVI DURGADUTT TIBREWALA LIONS
JUHU COLLEGE OF ARTS, COMMERCE & SCIENCE
(Affiliated to University of Mumbai)
JB NAGAR, ANDHERI EAST, MUMBAI 400059 MAHARASHTRA
2023-2024
CERTIFICATE
This is to certify that the project entitled, “ASK ANYTHING”, is bonafied work of
Mr. Mohd Iqbal Ansari bearing Seat No: 2020897 submitted in partial fulfillment
of the requirements for the award of degree of BACHELOR OF SCIENCE IN
INFORMATION TECHNOLOGY from University of Mumbai.

---------------------------- -----------------------------

INTERNAL EXAMINER EXTERNAL EXAMINER

-------------------------- -------------------

PROJECT GUIDE CO-ORDINATOR

--------------------------

COLLEGE STAMP
PROFORMA FOR THE APPROVAL PROJECT PROPOSAL
PRN NO: 2020016401826734

Seat No: 2020897

1. Name of the Students:

Mr. Mohd Iqbal Ansari

2. Title of the Project:

Ask Anything

3. Name of the Guide:

Mrs. Prof. Ruchi Dubey

4. Teaching experience of the Guide: 6 Years

5. Is this your first submission?

YES NO

Signature of the Student Signature of the Guide

Date: ______________ Date: _____________

Signature of the Coordinator

Date: _________________
ABSTRACT
In modern times, everyday life has become smarter and more sophisticated. We
already know some voice services like google, and Siri. etc. Now in our voice support
system, it can work like automatic chrome, open a social media website in a web
browser, tell you the time and you can ask him to tell you from Wikipedia, etc. This
project works by entering voice and rendering voice output and displaying text on the
screen. Our main voice help agenda makes people smarter and deliver faster results
with a computer. Voice Help captures voice input with our microphone and
transforms our voice into understandable computer language providing the
necessary solutions and answers that the user asks. This service is linked to the World
Wide Web to provide the results the user has requested. The Natural Language
Processing algorithm enables computer systems to engage in communication using
the natural human language in many ways.

Keywords: Virtual Personal Assistant, Natural Human Language, Speech to

text, Artificial Intelligence, Natural Language Processing, Machine Learning.


ACKNOWLEDGEMENT

Before we get into the thick of things we would like to add a few heartfelt words
For the people who were part of this project in numerous ways, people who gave
unending Support right from the stage the project idea was conceived. A project
report is such a Comprehensive coverage; it would not have been materialized without
the help of many. The four things that go on to make a successful endeavor are
dedication, hard Word patience and correct guidance. Able and timely guidance not
only helps in making an effort fruitful but also transforms the whole process of
learning and implementing into an enjoyable experience.

In particular, I would like to thanks our principal "Dr. (Mrs.) Trishla Mehta"
For her blessing and for being a constant source of inspiration to us and also grateful
thank to our co-ordinator "Prof. Mukesh Sharma” With immense gratitude, I would
to give a very special honor and respect to our teachers, "Prof. Ruchi Dubey" who
kept taking interest in checking the minute details of project work and guidance us
throughout the Same.

A sincere quote of thanks to the non-caching for providing us with all the
Information we needed for this project, without which the successful completion of
this Project would not have been possible. I appreciate the outstanding cooperation by
the Non-teaching staff, especially for the long lab timing that could be received.
Last but not least I wish to avail myself of this opportunity. Express a sense of
Gratitude and love to my friend and my parents for their manual support, strength and
Help for everything.
DECLARATION

I hereby declare that the project entitled, “Virtual Assistant” done at SMT.
PARMESHWARIDEVI DURGADUTT TIBREWALA LIONS JUHU
COLLEGE OF ARTS COMMERCE & SCIENCE of Information Technology, for
the Academic year 2023- 2024, has not been in any case duplicated to submit to any
other universities for the award of any degree. To the best of my knowledge other
than me, no one has submitted to any other university.
The project is done in partial fulfillment of the requirements for the award of degree
of BACHELOR OF SCIENCE (INFORMATION TECHNOLOGY) to be
submitted as fifth semester project as part of our curriculum.

-----------------------------------------------

Name and Signature of the Students


TABLE OF CONTENTS
CHAPTER NO TITLE

1 INTRODUCTION

1.1. OBJECTIVES OF THE PROJECT


1.2. MOTIVATION
1.3. SCOPE OF THE PROJECT
1.4. APPLICABILITY

2 PRELIMINARIES

2.1 EXISTING SYSTEM


2.1.1 DISADVANTAGES
2.2 PROPOSED SYSTEM
2.2.2 ADVANTAGES

3 SURVEY OF TECHNOLOGY

3.1 HARDWARE REQUIREMENT


3.2 SOFTWARE REQUIREMENTS
3.3 LANGUAGES USED

4 REQUIREMENT ANALYSIS AND SYSTEM DESIGNS

4.1 PLANINING AND SCHEDULING


4.2 COST AND BENEFITS ANALYSIS
4.3 CONCEPTUAL MODEL
4.4 ER DIAGRAM
4.5 ACTIVITY DIAGRAM
4.6 CLASS DIAGRAM
4.7 USE CASE DIAGRAM
4.8 SEQUENCE DIAGRAM
4.9 DATA FLOW DIAGRAM
4.10 COMPONENT DIAGRAM
4.11 DEPLOYMENT DIAGRAM
CHAPTER 1
INTRODUCTION
1.1 OBJECTIVE OF THE PROJECT

The development of technology allows introducing more advanced solutions in


everyday life. This makes work less exhausting for employees, and also increases the
work safety. As the technology is developing day by day people are becoming more
dependent on it, one of the mostly used platform is computer. We all want to make the
use of these computers more comfortable, traditional way to give a command to the
computer is through keyboard but a more convenient way is to input the command
through voice. Giving input through voice is not only beneficial for the normal people
but also for those who are visually impaired who are not able to give the input by
using a keyboard. For this purpose, there is a need of a virtual assistant which can not
only take command through voice but also execute the desired instructions and give
output either in the form of voice or any other means.

A Virtual Assistant is the software that can perform task and provide different
services to the individual as per the individual's dictated commands. This is done
through a synchronous process involving recognition of speech patterns and then.
responding via synthetic speech. Through these assistants a user can automate tasks
ranging from but not limited to mailing, tasks management and media playback. It
understands natural language voice commands and complete the tasks for the user. It
is typically a cloud-based program that requires internet connected devices and/or
applications to work. The technologies that power virtual assistants are machine
learning, natural language processing and speech recognition platforms. It uses
sophisticated algorithms to learn from data input and become better at predicting the
end user's needs.CHAPTER 1 INTRODUCTION

1.2 MOTIVATION

The main purpose of this project is to build a program that will be able to service to
humans like a personal assistant. This is an interesting concept and many people
around the globe are working it. Today, time and security are the two main things to
which people are more sensitive, no one has the time to spoil; nobody would like their
security breach, and this project is mainly for those kinds of people.

This system is designed to be used efficiently on desktops. Virtual Assistants software


improves user productivity by managing routine tasks of the user and by providing
information from an online source to the user. This project was started on the premise
that there is a sufficient amount of openly available data and information on the web
that can be utilized to build a virtual assistant that has access to making intelligent
decisions for routine user activities.
1.3 SCOPE OF THE PROJECT

Virtual Assistants will continue to offer more individualized experiences as they get
better at differentiating between voices. However, it's not just developers that need to
address the complexity of developing for voice as brands also need to understand the
capabilities of cach device and integration and if it makes sense for their specific
brand. They will also need to focus on maintaining a user experience that is consistent
within the coming years as complexity becomes more of a concern. This is because
the visual interface with virtual assistants is missing. Users simply cannot see or touch
a voice interface. Virtual Assistants are software programs that help you ease your
day-to-day tasks, such as showing weather report, playing music etc. They can take
commands via text (online chat bots) or by voice.

1.4 APPLICABILITY

The mass adoption of artificial intelligence in users' everyday lives is also fuelling the
shift towards voice. The number of loT devices such as smart thermostats and
speakers are giving voice assistants more utility in a connected user's life. Smart
speakers are the number one way we are seeing voice being used.

Many industry experts even predict that nearly every application will integrate voice

technology in some way in the next 5 years. The use of virtual assistants can also

enhance the system of loT (Internet


of Things). Twenty years from now, Microsoft

and its competitors will be offering personal digital assistants that will offer the

services of a full-time employee usually reserved for the rich and famous.
CHAPTER 2
PRELIMINARIES
2.1 EXISTING SYSTEM

This project describes one of the most efficient ways for voice recognition. It
overcomes many of the drawbacks in the existing solutions to make the Virtual
Assistant more efficient. It uses natural language processing to carry out the specified
tasks. It has various functionalities like network connection and managing activities
by just voice commands. It reduces the utilization of input devices like keyboard.

This project describes the method to implement a virtual assistant for desktop using
the APIs. In this module, the voice commands are converted to text through Google
Speech API. Text input is just stored in the database for further process. It is
recognized and matched with the commands available in database. Once the
command is found, its respective task is executed as voice, text or through user
interface as output.

2.1.1 DISADVANTAGES

They propose a new detection scheme that gets two similar results which could cause
confusions to the user on deciding the actual/desired output.

⚫ Though the efficiency is high of the proposed module, the time consumption for
catch task to complete is higher and also the complexity of the algorithms would
make it very tough to tweak
it if needed in the future.

2.2 PROPOSED SYSTEM

2.21 QUERIES FROM THE WEB:

Making queries is an essential part of one's life. We have addressed the essential part
of a netizen's life by enabling our voice assistant to search the web. Virtual Assistant
supports a plethora of search engine like Google displays the result by scraping the
searched queries.

2. ACCESSING NEWS:
plays a big crucial role in keeping ourselves updated. News keeps you informed and
also helps in spBeing up-to-date in this modern world is very much important. In that
way news reading knowledge.

3. TO SEARCH SOMETHING ON WIKIPEDIA:

Wikipedia's purpose is to benefit readers by acting as a widely accessible and free


encyclopaedia: a comprehensive written compendium that contains information on all
branches of knowledge.

4. ACCESSING MUSIC PLAYLIST:

Music have remained as a main source of entertainment, one of the most prioritized
tasks of virtual assistants, you can play any song of your choice. However, you can
also play a random song with the help of a random module. Every time you command
to play music, the Virtual Assistant will play any random song from the song
directory.

5. OPENING CODE EDITOR:

Virtual Assistant is capable of opening your code editor or IDE with a single voice
command.

2.2.1 ADVANTAGES

1. Platform independence

2. Increased flexibility

3. Saves time by automating repetitive tasks

4. Accessibility options for Mobility and the visually impaired

5. Reducing our dependence on screens

6. Adding personality to our daily lives

7. More human touch

8. Coordination of loT devices

9. Accessible and inclusive

10. Aids hands free operation


CHAPTER 3
HARDWARE AND SOFTWARE REQUIREMENTS

The software is designed to be light-weighted so that it doesn’t be a burden


on the machine running it. This system is being build keeping in mind the generally
available hardware and software compatibility. Here are the minimum hardware
and software requirement for virtual assistant.

Hardware:

11. Pentium-pro processor or later.


12. RAM 512MB or more.

Software:
13. Windows 7(32-bit) or above.
14. Python 2.7 or later
15. Chrome Drive
16. Selenium Web Automation
17. SQLite








Language used

1. Python

Python is an oops (Object Oriented Programming) based, high level,


interpreted programming language. It is a robust, highly useful language
focused on rapid application development (RAD). Python helps in easy writing
and execution of codes. Python can implement the same logic with as much as
1/5th code as compared to other oopslanguages.

Python provides a huge list of benefits to all. The usage of Python is such
that it cannotbe limited to only one activity. Its growing popularity has allowed it
to enter into some of the most popular and complex processes like Artificial
Intelligence (AI), Machine Learning (ML), natural language processing, data
science etc. Python has a lot of libraries for every need of this project. For JIA,
libraries used are speechrecognition to recognize voice, Pyttsx for text to speech,
selenium for web automation etc.

Python is reasonably efficient. Efficiency is usually not a problem for small


examples. If your Python code is not efficient enough, a general procedure to
improve it is to find out what is taking most the time, and implement just that part
more efficiently in some lower-level language. This will result in much less
programming and more efficient code (because you will have more time to
optimize) than writing everything in a low-level language.
2. Dbpedia

Knowledge bases are playing an increasingly important role in enhancing


the intelligence of Web and enterprise search and in supporting information
integration. The dbpedia leverages this gigantic source of knowledge by extracting
structured information from Wikipedia and by making this information accessible
on the Web. The dbpedia knowledge base has several advantages over existing
knowledge bases: it covers many domains; it represents real community
agreement; it automatically evolves as Wikipedia changes, and it is truly
multilingual.

The dbpedia knowledge base allows you to ask quite surprising queries
against Wikipedia for instance “Give me all cities in New Jersey with more than
10,000 inhabitants” or “Give me all Italian musicians from the 18th century”.
3. Quepy

Quepy is a python framework to transform natural language questions to queries in a


database query language. It can be easily customized to different kinds of questions in natural
language and database queries. So, with little coding you can build your own system for natural
language access to your database.

Pyttsx

Pyttsx stands for Python Text to Speech. It is a cross-platform Python wrapper for text-
to-speech synthesis. It is a Python package supporting common text-to-speech engines on Mac
OS X, Windows, and Linux. It works for both Python2.x and 3.x versions. Its main advantage
is that it works offline.Quepy

Speech Recognition

This is a library for performing speech recognition, with support for several engines
and APIs, online and offline. It supports APIs like Google Cloud Speech API, IBM Speech to
Text, Microsoft Bing Voice Recognition etc.

SQLite

SQLite is a capable library, providing an in-process relational database for efficient


storage of small-to-medium-sized data sets. It supports most of the common features of SQL
with few exceptions. Best of all, most Python users do not need to install anything to get started
working with SQLite, as the standard library in most distributions ships with the sqlite3module.

SQLite runs embedded in memory alongside your application, allowing you to easily
extend SQLite with your own Python code. SQLite provides quite a few hooks, a reasonable
subset of which are implemented by the standard library database driver.
CHAPTER 4

REQUIREMENT AND SYSTEM ANALYSIS


4.1 PLANNING AND SCHEDULING:
Activities and considerations included in planning and scheduling a project are
intended toThe provide the Project Manager and the project team members with a
systematic approach to organizing, defining, scheduling, tracking and managing a
project.

SDLC (Software Development Life cycle):

SDLC stands for "Software Development Life Cycle".


SDLC is a collection of processes which are followed to develop a software.

SDLC is a methodology that defines some processes which are followed to develop a high-
quality software.

It covers the detailed plan for building, deploying and maintaining the software.
The main aim of SDLC is to define all the tasks required for developing and maint
1. Planning:
This is the first phase in the systems development process. It identifies whether or not there is
the need for a new system to achieve a business's strategic objectives. This is a preliminary plan
(or a feasibility study) for a company's business initiative to acquire the resources to build on an
infrastructure to modify or improve a service. The company might be trying to meet or exceed
expectations for their employees, customers and stakeholders too. The purpose of this step is to
find out the scope of the problem and determine solutions.

Resources, costs, time, benefits and other items should be considered at this stage.
2. Systems Analysis and Requirements:

The second phase is where businesses will work on the source of their problem or the need for
a change. In the event of a problem, possible solutions are submitted and analyzed to identify
the best fit for the ultimate goal(s) of the project. This is where teams consider the functional
requirements of the project or solution. It is also where system analysis takes place--or analyzing
the needs of the endusers to ensure the new system can meet their expectations. Systems analysis
is vital in determining what a business's needs are, as well as how they can be met, who will be
responsible for individual pieces of the project, and what sort of timeline should be expected.

There are several tools businesses can use that are specific to the second phase. They include:

* CASE (Computer Aided Systems/Software Engineering)

* Requirements gathering
* Structured analysis systems Analysis and Requirements:

* The second phase is where businesses will work on the source of their problem or the need for a
change. In the event of a problem, possible solutions are submitted and analyzed to identify the
best fit for the ultimate goal(s) of the project. This is where teams consider the functional
requirements of the project or solution. It is also where system analysis takes place--or analyzing
the needs of the endusers to ensure the new system can meet their expectations. Systems analysis
is vital in determining what a business's needs are, as well as how they can be met, who will be
responsible for individual pieces of the project, and what sort of timeline should be expected.

3. Systems Design;

The third phase describes, in detail, the necessary specifications, features and operations that
will satisfy the functional requirements of the proposed system which will be in place. This is
the step for end users to discuss and determine their specific business information needs for the
proposed system. It’s during this phase that they will consider the essential components
(hardware and/or software) structure (networking capabilities), processing and procedures for
the system to accomplish itsobjectives.

4. Implementation:

The fourth phase is when the majority of the code for the program is written. Additionally, this
phase involves the actual installation of the newly-developed system. This step puts the project
intoproduction by moving the data and components from the old system and placing them in the
new system via a direct cutover. While this can be a risky (and complicated) move, the cutover
typically happens during off-peak hours, thus minimizing the risk. Both system analysts and
end-users should now see the realization of the project that has implemented changes.

5. Integration and Testing:

The fifth phase involves systems integration and system testing (of programs and procedures)--
normally carried out by a Quality Assurance (QA) professional--to determine if the proposed
design meets the initial set of business goals. Testing may be repeated, specifically to check for
errors, bugs and interoperability. This testing will be performed until the end user finds it
acceptable. Another part of this phase is verification and validation, both of which will help
ensure the program's successful completion.

6. Operations and Maintenance:

The sixth and final phase involves maintenance and regular required updates. This step is when
end users can fine-tune the system, if they wish, to boost performance, add new capabilities or
meet additional user requirements.

4.2 COST AND BENEFIT ANALYSIS:

Cost Benefit Analysis (CBA) is an economic tool to aid social decision making. CBA is a term
that refers both to-

A formal discipline used to help appraise, or assess, the case for a project or proposal,
which itself is a process known as project appraisal. An informal approach to making economic
decisions of any kind.

Benefits & costs are often expressed in money terns, and adjusted for the time value of
money, so that all flows of benefits & flows of project cost overtime (which tend to occur at
different points in time) are expressed on common basis in terms of their „present value‟.
Closely related, but slightly, but different formal techniques include cost-effectiveness analysis,
fiscal impact analysis & Social Return on Investment (SROI) analysis.

The latter builds upon the logic of cost-benefit analysis, but differs in that it is explicitly
designed to inform the practical decision-making of enterprise managers & investors focused on
optimizing their social & environment impacts. The process involves monetary value of initial
&ongoing expenses versus expected return. In practice, analysts try to estimate costs & benefit
eitherby surveys methods or by drawing inferences from market behavior.

4.3 CONCEPTUAL MODEL:

SPIRAL MODEL:

The spiral model combines the idea of iterative development with the systematic, controlled aspects
of the waterfall model. This Spiral model is a combination of iterative development process model
and sequential linear development model i.e. the waterfall model with a very high emphasis on risk
analysis. It allows incremental releases of the product or incremental refinement through each
iteration around the spiral.

The advantages of the Spiral SDLC Model are as follows −


 Changing requirements can be accommodated.
 Allows extensive use of prototypes.
 Requirements can be captured more accurately.
 Users see the system early.

The disadvantages of the Spiral SDLC Model are as follows −


 Management is more complex.
 End of the project may not be known early.
 Not suitable for small or low risk projects and could be expensive for small projects.
 Process is complex
 Spiral may go on indefinitely.
 Large number of intermediate stages requires excessive documentation.
SYSTEM DESIGN

4.4 ER DIAGRAM

The above diagram shows entities and their relationship for a virtual assistant system. We have
a user of a system who can have their keys and values. It can be used to store any information
about the user. Say, for key “name” value can be “Jim”. For some keys user might like to keep
secure. There he can enable lock and set a password (voice clip).

Single user can ask multiple questions. Each question will be given ID to get recognized
along with the query and its corresponding answer. User can also be having n number of tasks.
These should have their own unique id and status i.e. their current state. A task should also have
a priority value and its category whether it is a parent task or child task of an older task.
4.5 ACTIVITY DIAGRAM

Initially, the system is in idle mode. As it receives any wake up cal it begins execution.
4.6 CLASS DIAGRAM
The received command is identified whether it is a questionnaire or a task to be performed.

Specific action is taken accordingly. After the Question is being answered or the task is being
performed, the system waits for another command. This loop continues unless it receives quit
command. At that moment, it goes back to sleep.
The class user has 2 attributes command that it sends in audio and the response it receives which
is also audio. It performs function to listen the user command. Interpret it and then reply or sends
back response accordingly. Question class has the command in string form as it is interpreted
by interpret class. It sends it to general or about or search function based on its identification.

The task class also has interpreted command in string format. It has various functions
like reminder, note, mimic, research and reader.
4.7 USE CASE DIAGRAM

In this project there is only one user. The user queries command to the system. Systemthen
interprets it and fetches answer. The response is sent back to the user.
4.8 SEQUENCE DIAGRAM

Sequence diagram for Query-Response

The user sends command to virtual assistant in audio form. The command is passed to
the interpreter. It identifies what the user has asked and directs it to task executer. If the task is
missing some info, the virtual assistant asks user back about it. The received information is sent
back to task and it is accomplished. After execution feedback is sent back to user.
The user sends command to virtual assistant in audio form. The command is passed to
the interpreter. It identifies what the user has asked and directs it to task executer. If the task is
missing some info, the virtual assistant asks user back about it. The received information is sent
back to task and it is accomplished. After execution feedback is sent back to user.

4.9 DATA FLOW DIAGRAM

 DFD Level 0 (Context Level Diagram)

 DFD Level 1
 DFD Level 2

Data Flow in Assistance


 MANAGING USER DATA

Data Flow in Kid Zone

Settings of virtual
Assistant
4.10 COMPONENT DIAGRAM

The main component here is the Virtual Assistant. It provides two specific
service,executing Task or Answering your question.
4.11 DEPLOYMENT DIAGRAM

The user interacts with SQLite database using SQLite connection in Python code. The
knowledge database DBPedia must be accessed via internet connection. This requires LAN or
WLAN / Ethernet network.

You might also like