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

Final PDF 9TH Sem

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 43

Desktop Assistant Based on Natural Languages

A MINOR PROJECT REPORT

Submitted in partial fulfillment of the requirement for the award of Degree of


Master of Computer Applications

RAJIV GANDHI PRODYOGIKI VISHWAVIDYALAYA, BHOPAL (M.P.)

Submitted by:

Mr. - SANYAM JAIN


Enrollment No. – 0827CA18DD22

Under the Supervision of

Dr. Arvind Jaisawal

FACULTY OF COMPUTER APPLICATIONS ACROPOLIS


INSTITUTE OF TECHONOLOGY & RESEARCH, INDORE
Department of Computer Applications
AITR, Indore

BONAFIDE CERTIFICATE

This is to certify that Major Project entitled “Desktop Assistant Based on Natural
Languages” being submitted by Mr. Sanyam Jain (0827CA18DD22) for partial
fulfillment of the requirement for the award of degree of Master of Computer
Applications to Rajiv Gandhi Proudyogiki Vishwavidyalaya, Bhopal (M.P.)
during the academic year 2023-24 is a record of bona fide piece of work, carried
out by the student under my supervision and guidance in the Department of
Computer Applications, AITR, Indore.

(Prof. Geeta Santhosh)


Professor & HOD, MCA

(Internal Examiner) (External Examiner)


Date: Date:
ii
Report Approval

The project work “Desktop Assistant Based on Natural Languages” is hereby


approved as a creditable study of an engineering/computer application subject
carried out and presented in a manner satisfactory to warrant its acceptance as
prerequisite for the Degree for which it has been submitted.
It is to be understood that by this approval the undersigned do not endorse or
approved any statement made, opinion expressed, or conclusion drawn there in;
but approve the “Project Report” only for the purpose for which it has been
submitted.

Internal Examiner Name:


Designation
Affiliation

External Examiner Name:


Designation
Affiliation

iii

Declaration
We hereby declare that the project entitled “Desktop Assistant Based on
Natural Languages” submitted in partial fulfillment for the award of the degree
of Bachelor of Technology in ‘Information Technology’ completed under the
supervision of Mr.Anil Kumar Professor Department of Computer
application Faculty of Engineering, Acropolis institute of technology and
research Indore is an authentic work.
Further, we declare that the content of this Project work, in full or in parts, have
neither been taken from any other source nor have been submitted to any other
Institute or University for the award of any degree or diploma.

Signature and name of the student(s) with date

iv
Acknowledgement

I would like to express my deepest gratitude to Honorable Head of the department Mrs. Geeta
Santosh, who has provided me with every facility to successfully carry out this project, and my
profound indebtedness to Dr. Arvind Jaiswal , Acropolis Institute Of Technology And Research,
whose unfailing support and enthusiasm has always boosted up my morale.

I express my heartfelt gratitude to my Guide, Mr. Arvind Jaiswal Professor Department of


Computer Application without whose continuous help and support, this project would ever have
reached to the completion.

It is their help and support, due to which I was able to complete the design and technical report.

Without their support this report would not have been possible.

Sanyam Jain
DDMCA IX SEMESTER
Department of Information Technology
Faculty of Engineering
Acropolis Institute of Technology and Research, Indore

vi
Abstract

Who doesn't want to have the luxury to own an assistant who always listens for your call,
anticipates your every need, and takes action when necessary? That luxury is now available
thanks to artificial intelligence-based Desktop Assistants.
Desktop Assistants come in somewhat small packages and can perform a variety of actions after
hearing your command. They can turn on lights, answer questions, play music, place online
orders and do all kinds of AI-based stuff. They are not to be confused with Voice assistants, which
are people who work remotely and can, therefore, handle all kinds of tasks. Rather, Desktop
Assistants are technology based. As Desktop Assistants become more robust, their utility in both
the personal and business realms will grow as well. The advancement in technology over time has
been unmeasurable. From the first digital computer built by Eniac having a clock speed of
100KHz to Summit developed by the US Department of Energy has a performance of 148.6
petaFlops, we have come a long way in technological advancement. In such an era of
advancement if people are still struggling to interact with their machine using various input
devices then its not worth it. For this reason, many voice assistants were developed and are still
being improved for better performance and efficiency. The main task of a voice assistant is to
minimize the use of input devices like keyboard, mouse, touch pens, etc. This will reduce both
the hardware cost and space taken by it.
Voice assistants are programs on digital devices that listen and respond to verbal commands. A
user can say, ―What’s the weather?‖ and the voice assistant will answer with the weather report
for that day and location. They could say, ―Tell me a joke,‖ and the assistant will jump into a
tale. The user could even say, ―play music,‖ and song will be played ! Voice assistants are so
easy to use that many people forget to stop and WONDER how they work. It takes voice an input.
The system is being designed in such a way that all the services provided by the mobile devices
are accessible by the end user on the user's voice command.

vii
Table of Contents
Page
No.
Certificate ii
Report Approval iii
Declaration iv
Acknowledgement V
Abstract vi
Table of Contents vii
Chapter 1 Introduction 9
1.1 Rationale 10
1.2 Goal 10
1.3 Objectives 11
1.4 Overview 13
1.5 Contribution of Project 13
1.6 Report Organization 14

Chapter 2 Project Plan 15


2.1 Risk Management 15
2.2 Process Model Adopted 16

Chapter 3 Requirement Engineering 17


3.1 User Roles & Responsibilities 17
3.2 Requirements 18
3.2.1 Functional requirements 18
3.2.2 Non-Fun Requirements 18
3.3 Use case Diagram 19

Chapter 4 Analysis & conceptual design & technical architecture 21

4.1 Technical Architecture 21


4.2 Sequence Diagrams 22
4.3 Class Diagrams 23
4.4 Activity Diagram 24
4.5 Data design 25
4.5.1 Requirement Traceability 25
4.4.2 Reports 25

Chapter 5 Methodology 26
5.1 Proposed Algorithm 26
5.2 Tools Required 27

Chapter 6 Testing 29

viii
6.1 Testing Objectives 29

6.2 Testing Scope 30

6.3 Testing Principles 31


6.4 Testing Methods 31

Chapter 7 Snapshots 34
1 Problem Domain 38
2 Solution Domain 40
3 System Domain 41
References 43

ix
CHAPTER 1
INTRODUCTION
A voice assistant or intelligent personal assistant is a software agent that can perform tasks or
services for an individual based on verbal commands i.e., by interpreting human speech and
respond via synthesized voices. Users can ask their assistant questions, control and media
playback via voice, and manage other basic tasks such as email, to-do lists, open or close any
application etc with verbal commands. Who doesn't want to have the luxury to own an assistant
who always listens for your call, anticipates your every need, and takes action when necessary?
That luxury is now available thanks to artificial intelligence-based voice assistant. Voice assistant
come in somewhat small packages and can perform a variety of actions after hearing your
command. They can answer questions, play music, place online orders and do all kinds of
AIbased stuff. Voice assistant are not to be confused with Voice assistants, which are people who
work remotely and can, therefore, handle all kinds of tasks. Rather. Voice Assistants are
technology based. You can use voice commands instead of performing tasks manually by tapping
your finger on the screen a gazillion times ―Jarvis‖ is smart and very well integrated with
windows. It can open apps, send messages, make calls, play a specific song on YouTube Music,
check the weather, control smart devices, set timers, grab general information, and many other
things. To use this on your desktop you first have to enable it. The process is so simple even your
anyone can do it who have a basic knowledge about computer, and it won’t take more than a
minute or two of your time. As Voice Assistants become more robust, their utility in both the
personal and business realms will grow as well. Speech recognition is an alternative to keyboard
typing. Simply put, you're talking to the machine and your words show on the screen. It has been
developed to provide a simple way to write on a computer and can support people with a range of
disabilities. It is helpful for users with hand disabilities who often find it though, impossible or
painful to type. Voice-recognition apps can also support people with spelling problems, including
those with dyslexia, since well-recognized words are almost always pronounced correctly.
Scientists have used text generated online by people to train voice assistants to listen and respond
to our requests in a more natural and meaningful way. Voice assistants will

x
decipher questions that have been phrased in a variety of different ways and interpret what the
user is most likely to want.

1.1 Rationale:

1. Siri by Apple became the first digital Voice assistant to be standard on a smartphone when the
iPhone 4s came out on October 4, 2011. Siri moved into the smart speaker world when the
HomePod debuted in February 2018.
2. Google Now (which became Google Assistant) on the Android platform followed. It also works
on Apple’s iOS, but has limited functionality.
3. Then the smart speakers came along, and ―Alexa‖ and ―Hey Google‖ became a part of many
household conversations. Alexa by Amazon is part of the Echo and the Dot. Google Assistant is
part of the Google Home.
4. Samsung has Bixby. IBM has Watson. Microsoft has Cortana on its Windows 10, Xbox One
machines, and Windows phones, and Nuance has Nina. Facebook used to have M, but its usage in
the Facebook Messenger app ended in January 2018.

1.2 Goal: -

1.1.1 Assistant for your home

New voice assistant devices like Amazon’s Alexa, Google voice assistant helps in dealing with
the daily work of your home. These devices are connected to all other electronic devices and
instruct them to do the work on your place. They instantly carry out the functions of the devices.

1.1.2 Voice assistants in hospitality

The voice assistants are taking the hospitality market by storm. From carrying out customer
feedback work to analyzing the trends for employee productivity, the voice assistants are
providing a favorable experience to hospitality segment.

xi
Few of the functions which are carried out by voice assistants are

• Helps in managing hotels reservations and bookings.

• Carry out Itinerary, see local events, sigh seeing ideas.

• Enable help in housekeeping, room service and other requests.

Provide financial work solutions

These smart voice assistants also provide a huge help when it comes to handling your banking
and finance. They make your work easier and allow tackling the financial matters at ease. The

functions performed by Voice assistants are:


• Make payments, transfer money as directed

• Give details to you for your savings required for a month.

• Pay your bills on time if directed.

• Provide you the information of best investment plans by comparing others.

• Make a saving plan for retirement

1.3 Objective: -

To make a desktop assistant that can be operational in multiple languages. To make a desktop
assistant that can-
1. Open the subreddit in the browser.
2. Open any website in the browser.
3. Send an email to your contacts.
4. Launch any system application.

xii
5. Tells you the current weather and temperature of almost any city
6. Tells you the current time.
7. Greetings
8. Play you a song on VLC media player (of course you need to have VLC media player installed in
your laptop/desktop)
10. Tells you latest news feeds.
11. Tells you about almost anything you ask.

xiii
1.4 Overview: -
In our project, we mainly use voice as communication means, so the basically the Speech
recognition application. Same kind of application is also developed by the Google that is
―Google Voice Search‖ which is used for in Android Phones. But this Application mostly works
with Internet Connections. A Desktop voice assistant (DVA) is a software agent that can perform
tasks or services for an individual based on commands or questions. Desktop voice assistants are
able to interpret human speech and respond via synthesized voices. In addition, this proposed
system can change the way of interactions between end user and the mobile devices. The system
is being designed in such a way that all the services provided by the computer devices are
accessible by the end user on the user's voice commands

.
1.5 Contribution of project:

1.5.1 Market Potential: The concept of Voice Assistant is already well


accomplished and highly valued project in the market. This project has quit a good potential in
future country is heading towards digitalization.

1.5.2 Innovativeness: The Voice assistants which are currently available are fast and
responsive but we still have to go a long way. The understanding and reliability of the current
systems need to be improved a lot. The assistants available nowadays are still not reliable in
critical scenarios. With the incorporation of these technologies, we will be able to achieve new
heights. What the Voice assistants can achieve is much beyond what we

have achieved till now. Most of us have seen Jarvis, that is a Voice assistant developed by iron
man which is although fictional but this has set new standards of what we can achieve using
voice-activated Voice assistants.

1.5.3 Usefulness: Voice assistants are becoming a must-have item users have a wealth of
knowledge at their fingertips (or lips?) and can automate many mundane, time- consuming
activities with just a sentence or two. The Voice assistant Saves Time, Hands- Free Operation,

xiv
Ease of Use, Offers Convenience. People – particularly younger people – genuinely enjoy
speaking to home assistants, showing the bond that can be created through voice.

1.6 Report Organization:

• Introduction – In this chapter we explained the background of the project along with
purpose, goal and objective behind it.
• Requirement Engineering – In this chapter we discussed the functional and non-
functional requirements of the project
• Analysis and Conceptual Design and Technical Architecture – In this chapter we
discussed the basic technicality that goes in the making of the Project.
• Methodology– In this chapter we discussed the complete methodology used in the project,
also it includes brief description of various tools, technologies and modules that were used to
implement the project.

CHAPTER – 2 PROJECT PLAN


2.1. Risk Management
(a) In project management, risk management is the practice of identifying, evaluating, and
preventing or mitigating risks to a project that have the potential to impact the desired outcomes.
Project managers are typically responsible for overseeing the risk management process

throughout the duration of a given project.

2.1.1. Project Risk


There are several types of risks that occur frequently, regardless of the specifics of the project.
xv
These common types of risk include:
• Cost: The risk of events that impact the budget, especially those that cause the project to be
completed over budget. Errors in cost estimation commonly generate risk in addition to external
factors.
• Schedule: The risk of unplanned scheduling conflicts, such as events that cause the project to be
delayed. Scope creep is a common reason for scheduling issues and project delays.
• Performance: The risk of events that cause the project to produce results that are inconsistent with
the project specifications.

2.2 Process model adopted

A software process model is an abstraction of the actual process, which is being described. This
project includes the functions and services of: calling services, text message transformation, mail
exchange, alarm, event handler, location services, music player service, checking weather,
Google searching engine, Wikipedia searching engine and much more.
This project is originated from a popular application from Apple called ―Siri‖ [1]. This
application was released on the date when the iPhone4S was published. This application is very
interesting, easy going and convenient, with wide real world usage and large developing
potential. This application is not limited by different generations and occupations, and can be
applied to many industries that we have in the real world.

xvi
CHAPTER-3.
REQUIREMENT ENGINEERING

The first step of the project is to understand user requirements for building project. Requirements
of a system can be defined as descriptions of what services it could provide and the constraints on
its operation. These requirements directly address user needs in term of using the system to
achieve their business operation – or process. The process of understanding requirements, known
as Requirement Engineering, involves abroad spectrum of processes, tasks and techniques to
collect, analyze, document, and verify the requirements. The requirements themselves are the
description of the system services and constraints that are generated during the requirements
engineering process. Requirements may serve a dual function. It may be the basis for a bid for a
contract; therefore, must be open to interpretation.

3.1 User Roles & Responsibilities


The assistant, on starting, will initially wait for the input to be given from user. If the user gives
input command, via voice, the assistant will capture it, and searches for the keyword present in
the input command. If the assistant was able to find a key word, then it will perform the task
accordingly, and returns the output back to user, in voice. If not, the assistant will again start
waiting for the user to give input.Each of these functionalities are having their own importance in
the whole system working.
User Input—The assistant will wait for the user to give voice command for further processing.
Introducing to user—The user who is asking assistant to introduce itself.
Showing Note—If the user asks the assistant to display the note, and to speak out the note, the
assistant will do so.
Opening Applications—If the user asks the assistant to open an application, like MS Word, or any
other, the assistant will do so immediately. And also, it will speak that it opens the application.

3.2 Requirements
When it comes to any type of project, requirement collection plays a key role. Requirements
collection is not only important for the project, but it is also important for the project
management function. For the project, understanding what the project will eventually deliver is

xvii
critical for its success. Through requirements, the project management can determine the end
deliveries of the project and how the end deliveries should address client's specific requirements.

3.2.1 Functional Requirements


Functional requirements are features that allow the system to function as it was intended. Put
another way, if the functional requirements are not met, the system will not work. Functional
requirements are product features and focus on user requirements.It may cover certainbusiness
processes and procedures that the software must follow and perform to achieve usergoals –
sometimes termed business logic. Voice Assistant functional requirements are as follow-
• accepting an audio signal,
• deciding whether the audio signal is addressed to the software agent,
• attempting to map a relevant signal onto a word sequence,
• determining the rover action request associated with the understood word sequence,
• and providing appropriate feedback to the user.

3.2.2 Non-Functional Requirements


Non-functional requirements refer to characteristics and constraints with which the system must
comply. It is concerned with quality aspects of software system and good user experience such as
performance, security, availability. Unlike functional requirement, Non- functional requirement
isnot usually related to functionality that yields operation results directly. However, non-
functional requirement do affect the experience or result quality when the user using the system.
This is pointed out by: ―Non- functional requirement may affect the overall architecture of a
system rather than the individual components‖. The author further claimed that Non-functional
requirement might also generate Functional requirement given that the example of implementing
Security features could introduce new system services. There are several concerns with respect to
Non-functional requirement in E-Restaurant, especially usability – or usability analysis. Users
should feel comfortable navigating the system using mobile. The user interface should provide
clear indication

of navigation path, and the menu, color and layout should look consistent to the users. Security is
also a major consideration when developing the system. Access control should be implemented to
prevent destructive actions. Non-Functional requirement in our system are as follow:

xviii
• Security - The system is equipped with security to protect its data and maintain its functionality
as intended.
• User friendly - The proponent must ensure that the intended user of the system can carry out the
intended tasks efficiently, effectively and satisfactorily. System should be easily used by the user.
• Performance -Site should load within 3 seconds i.e. performance should be fast.
• Efficiency: System won’t hang even in more customer traffic.
• Usability: The proponent ensured that the intended user of the system can carry out the intended
tasks efficiently, effectively and satisfactorily.
• Reliability: The proponent tested the reliability of the system by conducting some tests that
helped discover many problems in the software design and functionality.
• Privacy- Personal data of the system should not be disclosed to anyone.

3.3 Use Case Diagram


Once the requirements of the project are established, the design phase will be followed. This
chapter intends to identify the design needs, investigate the relevant techniques and propose
design solutions. It starts by identifying the design principles of agile development and taking
them into heart of design activity. The project will then establish a high-level vision of the
developing system through architectural design. It moves on to system modelling to create design
models to understand characteristics and constraints of the system.
The use case diagram is a graphic depiction of the interactions among the elements of Voice
Assistant. Major elements of the UML Use Case diagram of Voice Assistant are shown below:

The relationship between and among all the actors and the use case of Voice Assistant-
• In this project there is only one user. The user queries command to the system. System then
interprets it and fetches answer. The response is sent back to the users.
Fig -3.3

xix
xx
CHAPTER-4 ANALYSIS & CONCEPTUAL
DESIGN & TECHNICAL ARCHITECTURE

4.1 Technical Architecture

Technical Architecture (TA) is a form of IT architecture that is used to design computer systems.
It involves the development of a technical blueprint with regard to the arrangement, interaction,
and interdependence of all elements so that system-relevant requirements are met.

This Assistant consists of three modules. First is, assistant accepting voice input from user.
Secondly, analysing the input given by the user, and mapping it to the respective intent and
function. And the third is, the assistant giving user the result all along with voice

4.2 Sequence Diagrams

xxi
A sequence diagram or system sequence diagram (SSD) shows object interactions arranged in
time sequence in the field of software engineering. It depicts the objects involved in the scenario
and the sequence of messages exchanged between the objects needed to carry out the
functionality of scenario.

xxii
4.3 Class Diagrams

Class diagram is a static diagram. The class diagrams are widely used in the modeling of object
oriented systems because they are the only UML diagrams, which can be mapped directly with
object-oriented languages. Class diagram shows a collection of classes, interfaces, associations,
collaborations, and constraints.

4.4 Activity Diagram

An activity diagram is a behavioral diagram i.e. it depicts the behavior of a system. An activity
diagram portrays the control flow from a start point to a finish point showing the various decision
paths that exist while the activity is being executed.

xxiii
Initially, the system is in idle mode. As it receives any wakeup call it begins execution. 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.

4.5 Data Design

Data for AI based voice assistant varies from person to person, it depends on how a person uses
his system and it is desirable to feed in those features for voice commands that are most
frequently used by the user

4.5.1 Requirement Traceability

Requirements traceability is the tracking of requirements throughout the product development lifecycle. It is a
documented thread that provides forward and backward visibility into all activity surrounding each requirement
(including design, development, testing, and support). Requirements traceability helps minimize the risk of
negative outcomes and maximize productivity. Its benefits include greater team efficiency, easier regulatory
compliance, and higher-quality products.

xxiv
CHAPTER -5 METHODOLOGY
A systems methodology, then, is fundamentally a process incorporating system- scientific
methods, supported by system thinking and simulation tools, undertaken by people with suitable
systems and applied science and engineering skills.
1. Open the assistant

2. User speaks the query

3. Processing of the query

4. Keyword classification

5. Assistance speaks the result

6. Printing of the result

5.1 Proposed Algorithm

The proposed system will have the following functionality:

a. The system will keep listening for commands and the time for listening is variable
which can be changed according to user requirements.
b. If the system is not able to gather information from the user input it will keep asking
again to repeat till the desired no. of times.
c. The system can have both male and female voices according to user requirements.

d. Features supported in the current version include playing music, emails, texts,
search on Wikipedia, or opening system installed applications, opening anything on
the web browser, etc.

The overall design of our system consists of the following phases:


xxv
(a) Taking input from the user in the form of voice.
(b) Converting the speech into text to be processed by the assistant.
(c) The converted text is now processed to get the required results.
(d) The text contains one or two keywords that determine what query is to be executed. If the
keyword doesn’t match any of the queries in the code, then the assistant asks the user to speak
again.
(e) The result which is in the form of text is converted to speech again to give results to the user.

xxvi
5.2 Tools Required

Various tools and technologies required in the project are-

- Google Language API


- Microsoft in-built voices
- Speech Recognition Module - Wikipedia Module

Imported Modules
A. PYTTSX3
The pyttsx3 is an offline module that is used for text to speech conversion in Python and it is
supported by both Python 2 & 3. The run and wait functionality is also in this module only.
B. DATETIME
The DateTime module is imported to support the functionality of the date and time. For example,
the user wants to know the current date and time or the user wants to schedule a task at a certain
time. In short this module supports classes to manipulate date and time and perform operations
according to it only
C. WEBBROWSER
This module allows the system to display web-based information to users. For example, the user
wants to open any website and he gives input as ―Open Google‖.
D. WIKIPEDIA
Wikipedia is a library in python which it possible for the Voice assistant to process the queries
regarding Wikipedia and display the results to users.
This is an online library and needs an internet connection to fetch the results.
E. OS MODULE
OS Module provides an operating system dependent functionalities. If we want to perform
operations on files like reading, writing, or manipulate paths, all these types of functionalities are
available in an OS module. All the operations available raise an error ―OSError‖ in case of any
error like invalid names, paths, or arguments which may be incorrect or correct but just no
accepted by the operating system.

xxvii
F. SMTPLIB
Python has this module for in the standard library for working with emails & email servers. The
SMTPLIB defines an object known as ―SMTP client session object‖ which is used to send mails
by the user. There are 3 steps involved - initialize, sendmail(), quit.

xxviii
CHAPTER-6 TESTING
Testing is the major quality control that can be used during software development. Its basic
function is to detect the errors in the software. During requirement analysis and design, the output
is a document that is usually textual and non-executable. After the coding phase, computer
program is available that can be executed for testing purposes. This implies that testing not only
has to uncover errors introduced during coding, but also errors introduced during previous
phases. Thus, the goal of the testing is to uncover requirement, design and coding errors in the
program.

An elaborate testing of data is prepared and the system is tested using that test date. Errors noted
and corrections made during the testing. The corrections areal so noted for future use. The users
are trained to operate the developed system. Both hardware and software securities are made to
run the developed system successfully in future. System testing is the stage of implementation,
which is aimed at ensuring that the system works accurately before live operation commences.
Testing is vital to the success of any system. System testing makes a logical assumption that if all
the parts of the system are correct, the goal will be successfully achieved.

6.1 Testing Objectives


• Testing is a process of executing a program with the intent of finding an error

• A good test case is one that has a high probability of finding an undiscovered error

• A successful test is one that uncovers an as-yet undiscovered error

6.2 Testing Scope

We need to ensure that the assistants deliver information correctly and quickly, while behaving as
naturally as possible. Due to the syntactic diversity of natural languages, both language training
and verifying language ability, as well as the correct reproduction of information, pose a major
challenge. In addition, the suitability of the application for everyday use is central – written input
with spelling or grammar errors must lead to the same results as error-free input. User also expect
to be understood by a language assistant when they speak with a dialect or a cold, or when
background noise occurs, such as traffic sounds or children shouting.

xxvii
Assistant Testing under crowded condition offers the advantage that the language capability of the
application is tested under everyday conditions and with the right target group. The test not only
reveals weaknesses in the language ability and information processing, but also directly delivers
hundreds of training data sets that can be used to address weaknesses and close language gaps.
The perfect everyday test where you can only win!

6.3 Testing Principles:

• All tests should be traceable to customer requirements

• Tests should be planned long before testing begins

• Testing should begin ―in the small‖ and progress toward testing ―in the large‖

• Exhaustive testing is not completely possible

• To be most effective, testing should be conducted by an independent third party

6.4 Testing Methods

A strategy for software testing integrates software test case design methods into a well-planned
series of steps that result in the successful construction of software. As important, a software
testing strategy provides a road map. Testing is a set of activities that can be planned in advance
and conducted systematically.

Various strategies are given below:

• Unit Testing

• Integration Testing

• Validation Testing

xxvii
• User Acceptance Testing

• System Testing

xxvii
Unit Testing:
Unit testing focuses verification efforts on the smallest unit of software design of module. This is also
known as ―Module Testing‖. Acceptance of package is used for computerization of module.
Machine Utilization was prepared and approved by the project leader. In this testing step, each module is
found to be working satisfactory as regards to the expected output from the module. The suggested
changes were incorporated into the system. Here each module in the Machine Utilization has been tested.

Integration Testing:
After the package is integrated, the user test version of the software was released. This testing consists of
testing with live data and various stress tests and result were noted down. Then the corrections were made
based on the user’s feedback. Integration testing is systematic testing for constructing the program
structure, while at the same time conducting tests to uncover errors associated within the interface. The
objective is to take unit tested modules and build a program structure. All the modules are combined and
tested as a whole. Here correction is difficult because the vast expenses of the entire program complicate
the isolation of causes. Thus, the integration testing step, all the errors uncovered are corrected for the next
steps.
Validation Testing: At the culmination of integration testing, software is completely assembled as a
package; interfacing errors have been uncovered and corrected, and a final series of software tests -
Validation testing - may begin.
User Acceptance: Testing User acceptance of a system is the key factor for the success of any system.
The system under consideration is tested for user acceptance by constantly keeping in touch with
prospective system users at time of development and making changes wherever required. This is done in
regard to the following points:
• Input Screen Design
• Online Messages to guide the user
• Format of reports and other outputs

After performing all the above tests, the system was found to be running successfully according
to the user requirements i.e., (constraints).

System Testing: Software is only one element of a larger computer-based system. Ultimately,
software is incorporated with other system elements and a series of system integration and
xxxii validation tests are conducted. The various types of system testing are:
• Recovery Testing: Many computer-based systems must recover from faults and resume
processing within a pre specified time.
• Security Testing: Security testing attempts to verify that protection mechanism built into a
system will in fact protect it from improper penetration.
• Stress Testing: Stress tests are designed to confront programs with abnormal situations.
• Performance Testing: Performance testing is designed to test run-time performance of software
within the context of an integrated system.
• Black Box Testing: Black box testing is carried out to check the functionality of the various
modules. Although they are designed to uncover errors, black-box tests are used to demonstrate
that software functions are operational; that input is properly accepted and output is correctly
produced; and that the integrity of external information is maintained. A black-box test examines
some fundamental aspect of the system with little regard for the internal logical structure of the
software.
• White Box Testing: White-box testing of software is predicated on close examination of
procedural detail providing the test cases that exercise specific sets of conditions and, loops tests
logical paths through the software. White-box testing, sometimes called glass-box testing is a test
case design method that uses the control structure of the procedural design to drive test cases.
Using white-box testing methods, following test cases can be derived.
• Guarantee that all independent paths within a module have been exercised at least once
• Exercise all logical decisions on their true and false sides.
• Execute all loops at their boundaries and within their operational bounds.
• Exercise internal data structures to assure their validity.
• The errors that can be encountered while conducting white-box testing are Logic errors and
incorrect assumptions.
• Typographical error
xxxiv

CHAPTER-7
SNAPSHOTS
1)

xxxii 2)
xxxii

3)
xxxi
4)

xxxv
1. Problem Domain
• Problem Identification
➢ With the increase in innovation in the computer’s business people are getting more curious and are keenly
waiting for any new way of interacting with the machine.
➢ Undoubtedly the future would involve people interacting with the machines in a more natural way.

➢ Microsoft developed its desktop assistant Cortana. But Cortana has some disadvantages which our model
overcomes in an efficient manner. Disadvantages such as unable to send email through voice, unable to
play random songs rom the music library etc. and many more .

• Problem in Existing System


Since Amazon Echo shipped in late 2014, smart speakers and voice assistants have been
advertised as the next big thing. Nearly four years later, despite the millions of devices sold, it’s
clear that like many other visions of the tech industry, that perception was an overstatement.
Testament to the fact: Most people aren’t using Alexa to make purchases, one of the main
advertised use cases of Amazon’s AI-powered voice assistant. Voice assistants have existed
before the Echo. Apple released Siri in 2011 for iOS devices. But Eco was the first device where
voice was the only user input medium. And the years have made the limits of voice more
prominent. To be clear, voice assistants are very useful and their application will continue to
expand and become integrated into an increasing number of domains in our daily lives, but not in
the omnipresent way that an AI assistant implies. The future of voice is the integration of artificial
intelligence in plenty of narrow settings and tasks instead of a broad, general purpose AI assistant
that can fulfill anything and everything you can think of. The problem with integrating too many
commands into smart speakers Voice recognition is a relatively narrow field. This means given
enough samples, you can create a model that can recognize and

transcribe voice commands under different circumstances and with different background noises
and accents.

2. Solution Domain
• Suggested Solutions
➢ We thus bring to you our AI based voice assistant model.

xxxv
➢ This model can send texts for you when you have your hands full or are simply on the go.

➢ It will remember tasks for you.

➢ Through this model you can quickly check facts on Google or Wikipedia.

➢ It will do anything and everything you instruct it to do.

• Purpose of the project / innovativeness and usefulness


➢ We thus bring to you our AI based voice assistant model.
➢ This model can send texts for you when you have your hands full or are simply on the go.
➢ It will remember tasks for you.
➢ Through this model you can quickly check facts on Google or Wikipedia.
➢ It will do anything and everything you instruct it to do.

• An improvement over the existing system


➢ Purpose of voice assistant is to being capable of voice interaction. Through the following
commands:- ➢ Send e-mail ➢ Google/Wikipedia search ➢ Covid-19 Update ➢ Take
screenshot ➢ Tell me a joke(:p) ➢ Weather update

3) System Domain

The system is being build keeping in mind the generally available hardware and
software compatibility. Here are the minimum requirement for Voice Assistant

Hardware Requirement:

➢ Intel pentium or later


➢ 2GB RAM – 8GB RAM
➢ Memory : 512 MB or more

xxxv
Software Requirement

➢ Windows 7 or above
➢ Python 2.7 or later
➢ IDE-Visual Studio

➢ Application Domain

4) The scope of project :-The mass adoption of artificial intelligence in users’ everyday lives
is also fueling the shift towards voice. The number of IoT devices such as smart 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.

5) Impact of the work in real world :-

Purpose of voice assistant is to being capable of voice interaction, music playback, making to-do
lists, setting alarms, streaming podcasts, playing audiobooks, and providing weather, traffic,
sports, and other real-time information, such as news. Virtual assistant enable users to speak
natural language voice commands in order to operate the device and its apps.

6) Expected Outcomes/ Benefits

• Saves time
• Easy to use
• Hands free operation
• Controls various application of device

xxxv
References:
International Journal of Engineering Research and Technology. ISSN 0974-3154 Volume 10,
Number 1 (2017) © International Research Publication House :

http://www.ijstr.org/final-print/dec2019/Advanced-Desktop-Assistant-With-Voice-Recognition-
Security-And-Voice-Email-Capability-Using-Aritificial-Intelligence.
xxxi
xl

You might also like