Chapter 2: THE PROJECT

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

CONTENTS

Chapter 1: INTRODUCTION
1.1 Introduction to Training
1.2 Background of the company
1.2.1Main activities/business organization
1.2.2Organization details
Chapter 2: THE PROJECT

2.1 Project definition


2.1.1 Objective
2.1.2 Project scope

Chapter 3: REQUIREMENTS ANALYSIS (Depends on the project kind)


3.1 Functional Requirements
3.2 Non Functional Requirements
3.3 Use-Case specification
3.3.1 Find actors
3.3.2 Documents actors
3.3.3 Find Use Cases
3.3.4 Use Case Diagrams

Chapter 4: DESIGN (Depends on the project kind)


4.1 Database Design
4.1.1 ER Diagram
4.2.2 Design Tables and Normalization
4.2 Class diagrams
4.3 Activity diagrams
4.4 Sequence diagrams

Chapter 5: EXPERIMENT AND TESTING


5.1 Test cases developed
5.2 Testing used in our project

Chapter 6: DAILY DAIRY (record of daily tasks completion during the internship)
Chapter 7: CONCLUSION (Anticipatory approach)
7.1 Problems and Issues in currents system
7.2 Future extension

APPENDIX: (as applicable)

BIBLIOGRAPHY AND REFERENCE (as applicable)

vii
Chapter-1: Introduction

1.1. Introduction

A Desktop 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 assistants’ questions,
control home automation devices, 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 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.
Desktop Assistants are not to be confused with virtual 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.

1
1.2. Literature Survey

Siri by Apple became the first digital virtual 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.

Google Now (which became Google Assistant) on the Android platform followed. It
also works on Apple’s iOS, but has limited functionality.

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.

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.

2
1.3. Objectives

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.

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)

9. Change desktop wallpaper.

10. Tells you latest news feeds.

11. Tells you about almost anything you ask.

3
1.4. Scope

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.

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.

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

• Helps in managing hotels reservations and bookings.

• Works as a personal assistant in the room to the customer

• 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 virtual 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

4
1.5. 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.

5
Chapter-2: System Requirement Analysis
2.1. Information Gathering

Voice assistants have become a routine part of everyday life for many people. Think
about Siri, Cortana and Google Assistant. When they first arrived, however, they weren’t
making much of a difference. For example, when people tried tools like Siri and Cortana on
their smartphones, they discovered they weren’t delivering much value to them, for the most
part due to their error rate and the narrowness of their AI.

Voice assistants were nothing more than a joke when they first arrived due to their
inability to provide helpful, rich and contextually-influenced answers. But their developers
knew they still had a bright future because, like any other technology, voice recognition needed
some more time to evolve.

Fast forward to 2019, and we see that time, more data and better tuned AI algorithms,
are what these voice assistants needed. Voice assistants are popular and functional for
relatively narrow tasks (like calling or texting people), but they still have a long way to go.
Moreover, voice search is slowly but surely overtaking traditional internet search, which means
the convenience of voice is something that people appreciate.

6
2.2. Feasibility Study

2.2.1. Economic Feasibility

The methodology for this feasibility study was a development and evaluation model.
This required a market analysis, development of the voice system and instructional course
ware, testing the system using a sample population from the Armor School at Ft. Knox,
Kentucky, and making required alterations. The data collection approach was multifaceted.
There were surveys to be completed by each subject: a student profile survey, a pretest, a
posttest, and an opinion survey about how well the instruction met expectations. Data was also
collected concerning how often the recognition system recognized, did not recognize, or
misrecognized the voice of each subject. The information gathered was analyzed to determine
how well the voice recognition system performs in a training delivery application.

2.2.2. Technical Feasibility

The findings of this feasibility study indicated that an effective voice-based training
delivery system could be developed by integrating an IBM clone personal computer with a
graphics board and supporting software, signal processing board and supporting software for
audio output and input, and instructional authoring software. Training was delivered
successfully since all students completed the course, 85% performed better on the posttest than
on the pretest, and the mean gain scores more than satisfied the expected criterion for the
training course. The misrecognition factor was 12%.

7
2.3. Platform Specification

2.3.1. Hardware

Minimum system requirement: -

• Processors: Intel Atom® processor or Intel®Core™ i3 processor

• Disk space: 5 GB

2.3.2. Software

• Operating systems: Windows* 7 or later

Tools: -

• Visual Studio Code

• Jupyter notebook

• Spyder

• Tkinter

Technology used: -

- Google Language API

- Microsoft in-built voices

- Speech Recognition Module

- Wikipedia Module

Implementation Language

Programming language:

- Python

8
Chapter-3: System Analysis
3.1. Information flow Representation

3.1.1. Activity Diagram

9
3.1.2. Use case Diagram

10
3.1.3. Class Diagram

11
3.1.4. Sequence Diagram

12
Chapter-5: 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.

13
5.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

5.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.
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!

14
5.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

15
5.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

• User Acceptance Testing

• System Testing

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.

16
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

17
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 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.

18
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 errors

19
5.5. Sample Test Data and Results

Test case: 1

Test Case: 2

20
Test Case: 3

Test Case: 4

21
Chapter-6: Limitations

1. Mozo works well, but you should speak clearly in order for Mozo to understand you & do
what you want.

2. If you speak too fast, or with a strong accent, Mozo won’t understand you, there are listening
problems with Mozo’s ability to understand your queries.

3. Mozo has trouble with background noise and low-quality audio from some headsets.

4.Mozo needs Wi-Fi If you’re on a patchy connection or your 3G goes down.

5. The location was only translated in English so; you have to speak in English else it will not
find location.

22
Chapter -7: Future Scope
Individualized Experiences

Voice assistants will also continue to offer more individualized experiences as they get better at

differentiating between voices. Google Home is able to support up to six user accounts and

detect unique voices, which allows Google Home users to customize many features. Users can

ask “What’s on my calendar today?” or “tell me about my day?” and the assistant will dictate

commute times, weather, and news information for individual users. Security Will Be a Focus

Forty-one percent of voice assistant users are concerned about trust and privacy according to a

report from Microsoft. With news from Google I/O and Amazon’s remark conferences

announcing that assistants will essentially be able to plan an entire evening, for example, find

local movie times, buy tickets, book a restaurant reservation and schedule an Uber, concerns

regarding payments and sensitive information are valid.

Voice User Interface (VUI) Will Continue to Advance

Even with just that handful of simple scenarios, it’s easy to see why voice assistants are

shaping up to become the hubs of our connected homes and increasingly connected lives.

Voice technology is becoming increasingly accessible to developers

Voice Is the Future of Brand Interaction and Customer Experience

Advancements in a number of industries are helping digital voice assistants become more

sophisticated and useful for everyday use. Voice has now established itself as the ultimate

mobile experience. A lack of skills and knowledge make it particularly hard for companies to

adopt a voice strategy. There is a lot of opportunity for much deeper and much more

conversational experiences with customers. The question is, is your brand willing to jump on

this opportunity?

23
Chapter-8: Conclusion

Voice Assistants are very effective way to organize your schedule. Now there are many Smart

Personal Digital Assistants applications avaiable in market for various device platforms. These

new software Applications are performing really well than PDA devices as they provided with

all resources of your smartphone. Voice assistant are also reliable than Human Personal

Assistant because, voice assistants are more portable and you can use than anytime. They also

have lot of information than any assistant as they connect with internet.

Chapter-9: Bibliography and References

 https://medium.com/@sundarstyles89/create-your-own-google-assistant-voice-based-

assistant-using-python-94b577d724f9

 https://www.analyticsvidhya.com/blog/2019/07/learn-build-first-speech-to-text-model-

python/

 https://realpython.com/python-speech-recognition/

24

You might also like