Aa Iqbal
Aa Iqbal
A PROJECT REPORT
---------------------------- -----------------------------
-------------------------- -------------------
--------------------------
COLLEGE STAMP
PROFORMA FOR THE APPROVAL PROJECT PROPOSAL
PRN NO: 2020016401826734
Ask Anything
YES NO
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.
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.
-----------------------------------------------
1 INTRODUCTION
2 PRELIMINARIES
3 SURVEY OF TECHNOLOGY
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.
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
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.
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.
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.
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
Hardware:
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 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.
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
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 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
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:
* 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.
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.
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.
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.
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.
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
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.
DFD Level 1
DFD Level 2
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.