Final
Final
on
          VIRTUAL ASSISTANCE AND TASK MANAGEMENT
                       Submitted by
           AKHIL KUMAR               221107140001
           ROUSHAN KUMAR BARI        221107140003
           RAUNAK SINGH               221107140007
           RAUSHAN KUMAR              221107140028
           Karishma Kumari            221107140048
DIPLOMA
in
who carried out the project work under my supervision. This is to further
certify to the best of my knowledge, that this project has not been carried
SIGNATURE
    Certified that the above-mentioned project has been duly carried out as
    per the norms of the college and statutes of the university.
                                    SIGNATURE
                      (Dr. PRABHAT RANJAN SAHOO)
                       PRINCIPAL OF THE DEPARTMENT
                      Professor of Computer Science and Engg
                                   DEPARTMENT SEAL
                             DECLARATION
I hereby declare that the project entitled “virtual assistance and task
in Computer Science and Engineering is my original work and the project has
not formed the basis for the award of Diploma or any other similar titles in
University.
Registration No:
Place:
Date:
                         ACKNOWLEDGEMENTS
Registration No:
Place:
  Date:
                            TABLE OF CONTENTS
CERTIFICATE i
                    DECLARATION                   ii
                    ACKNOWLEDGEMENT              iii
                    LIST OF ACRONYMS             iv
                    LIST OF TABLE                 v
1. CHAPTER – 1 INTRODUCTION
    1.1 INTRODUCTION
     VIRTUAL ASSISTANCE AND TASK MANAGEMENT
2. CHAPTER – 2
   EXISTING SYSTEM
3. CHAPTER – 3
  LITERAURE SURVERY
4. CHAPTER – 4
   SYSTEM SPECIFICATION
5. CHAPTER – 5
    SYSTEM DESIGN
6. CHAPTER - 6
   SYSTEM IMPLEMENTATION
7. CHAPTER – 7
   SYSTEM STUDY
8. CHAPTER – 8
   SOCIAL FEASIBILITY
9. CHAPTER – 9
CONCLUSION AND FUTURE WORK
                                 CHAPTER 1
INTRODUCTION
   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.
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.
APPLICABILLITY
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 IoT (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.
                        VIRTUAL ASSISTANT
                                  CHAPTER 2
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.
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 each 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.
PROPOSED SYSTEM
2. ACCESSING NEWS:
Being up-to-date in this modern world is very important. In that way, news
plays a big crucial role in keeping ourselves updated. News keeps you
informed and also helps in spreading knowledge.
ADVANTAGES
◻   Platform independence
◻   Increased flexibility
◻   Saves time by automating repetitive tasks
◻   Accessibility options for mobility and the visually impaired
◻   Reducing our dependence on screens
◻   Adding personality to our daily lives
◻   More human touch
◻   Coordination of IoT devices
◻   Accessible and inclusive
◻   Aids hands-free operation
                          CHAPTER 3
LITERAURE SURVERY
SYSTEM SPECIFICATION
HARDWARE REQUIREMENTS
SOFTWARE REQUIREMENTS
SYSTEM DESIGN
ARCHITECTURE DIAGRAM
ADVANTAGES
CLASS DIAGRAM
CLASS DIAGRAM
ACTIVITY DIAGRAM
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 question or
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 a quit command.
                              ACTIVITY DIAGRAM
SEQUENCE DIAGRAM
The below sequence diagram shows how an answer asked by the user is
being fetched from the internet. The audio query is interpreted and sent to
Web scraper. The web scraper searches and finds the answer. It is then sent
back to the speaker, where it speaks the answer to the user.
                  SEQUENCE DIAGRAM 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.
SEQUENCE DIAGRAM FOR TASK EXECUTION
                              CHAPTER 6
SYSTEM IMPLEMENTATION
      Pyttsx3
      Sapi5
      Speech recognition
      Pyaudio
      Wikipedia
      Webbrowser
MODULE DESCRIPTION
Pyttsx3 (java script Text to Speech) A java script library that will help us to
convert text to speech. It is a cross-platform java script wrapper for text-to-
speech synthesis. It is a java script package supporting common text-to-speech
engines on MacOS X, Windows, and Linux. It works for both java script2.x and
3.x versions. Its main advantage is that it works offline.
Applications that use SAPI include Microsoft Office, Microsoft Agent, and
Microsoft Speech Server. Many versions (although not all) of the speech
recognition and synthesis engines are also freely redistributable. SAPI 5
however was a completely new interface, released in 2000. Since then, several
sub-versions of this API have been released.
Speech recognition
Speech recognition is the process of converting spoken words to text. java script
supports many speech recognition engines and APIs, including Google Speech
Engine, Google Cloud Speech API, Microsoft Bing Voice Recognition, and
IBM Speech to Text.
PyAudio
Wikipedia
      Wikipedia is a java script library that makes it easy to access and parse
       data from Wikipedia.
      It gets article summaries, gets data like links and images from a page, and
       more.
      This module provides developers code-level access to the entire
       Wikipedia reference.
Webbrowser
     The webbrowser module provides a high-level interface to allow
      displaying Web-based documents to users.
     Under most circumstances, simply calling the open() function from this
      module will do the right thing.
                                   CHAPTER 7
SYSTEM STUDY
FEASIBILITY STUDY
Feasibility study can help you determine whether or not you should proceed
with your project. It is essential to evaluate cost and benefit of the proposed
system.
ECONOMICAL FEASIBILITY
Here, we find the total cost and benefit of the proposed system over current
system. For this project, the main cost is documentation cost. User also would
have to pay for microphones and speakers. Again, they are cheap and available.
TECHNICAL FEASIBILITY
It includes finding out technologies for the project, both hardware and software.
For virtual assistant, user must have microphone to convey their message and a
speaker to listen what system speaks. These are very cheap now a days and
everyone generally possess them.
SOCIAL FEASIBILITY
The aspect of study is to check the level of acceptance of the system by the user.
This includes the process of training the user to use the system efficiently. The
user must not feel threatened by the system, instead must accept it as a necessity.
The level of acceptance by the users solely depends on the methods that are
employed to educate the user about the system and to make him familiar with it.
His level of confidence must be raised so that he is also able to make some
constructive criticism, which is welcomed, as he is the final user of the system.
                                  CHAPTER 8
SYSTEM STUDY
TYPES OF TESTING
UNIT TESTING
Unit testing involves the design of test cases that validate that the internal
program logic is functioning properly, and that program inputs produce valid
outputs. It is the testing of individual software units of the application. It is done
after the completion of an individual unit before integration. This is a structural
testing that relies on knowledge of its construction and is invasive. Unit tests
perform basic tests at the component level and test a specific business process,
application, and/or system configuration.
INTEGRATION TESTING
INTEGRATION TESTING
FUNCTIONAL TESTING
SYSTEM TESTING
White Box Testing is a testing in which the software tester has knowledge of the
inner workings, structure, and language of the software, or at least its purpose. It
is used to test areas that cannot be reached from a black box level.
Black Box Testing is testing the software without any knowledge of the inner
workings, structure, or language of the module being tested. Black box tests, as
most other kinds of tests, must be written from a definitive source document,
such as specification or requirements document.
TEST RESULTS
All the test cases mentioned above have passed successfully. No defects
encountered.
                                    CHAPTER 9
FUTURE WORK
The virtual 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. The future plans include integrating our virtual
assistant with mobile using React Native to provide a synchronised experience
between the two connected devices. Further, in the long run, our virtual
assistant is planned to feature auto deployment supporting elastic beanstalk,
backup files, and all operations which a general Server Administrator does. The
future of these assistants will have the virtual assistants incorporated with
Artificial Intelligence which includes Machine Learning, Neural Networks, etc.
and IoT.
SOURCE CODE
// Select elements
const btn = document.querySelector("#btn");
const voice = document.querySelector("#voice");
const output = document.getElementById('output'); // Select the output element
const startBtn = document.getElementById('start-btn');
    switch (true) {
        case message.includes("hello") || message.includes("hi"):
            speak("Hello Guys, how can I help you?");
            break;
            case message.includes("about centurion university"):
                speak("Centurion University (CUTM) is a private university from Odisha, India. With
its main campus earlier at Parlakhemundi in Gajapati and another constituent campus located at Jatni,
on the fringes of Bhubaneswar, which is now as main campus and it was accorded the status of a
university in 2010.[2] The university has been accredited by NAAC with 'A+' Grade,[3] thereby becoming
the youngest private university to have earned the distinction.[4] In 2016, the Bhubaneswar campus of
the university was ranked 81 among the institutions offering engineering education in India by the
Ministry of Education, Government of India under the NIRF.[5]");
                window.open("https://drive.google.com/file/d/1csIPu1SooKHnkAFtFghCwE4P2JOdhin3/view?us
p=sharing", "_blank");
                break;
        case message.includes("who are you"):
            speak("I am Sophia, a virtual assistant developed by Akhil at Centurion University of
Technology and Management, Paralekhemundi.");
            break;
        case message.includes("open instagram"):
            window.open("https://www.instagram.com/", "_blank");
            break;
        case message.includes("open facebook"):
            window.open("https://www.facebook.com/", "_blank");
            break;
            case message.includes("open google"):
                window.open("https://www.google.com/", "_blank");
                break;
                case message.includes("open calculator"):
                     speak("opening caculator")
                     window.open("calculator:", "_self");
                     break;
                   case message.includes("oepn notepad"):
                     window.open("Notepad:", "_self");
                     break;
                     case message.includes("diploma office information"):
                         speak("diploma office near field");
                     case message.includes("open chrome"):
                         window.open("https://www.google.com/chrome/", "_blank");
                         break;
case message.includes("open task Maneger "):
    window.open("Task Manager:", "-self");
                function openApp(appName) {
                     switch (appName.toLowerCase())
                         { case "phone":
                             window.open("tel:", "_self");
                             break;
                         case "messages":
                             window.open("sms:", "_self");
                             break;
                         case "email":
                             window.open("mailto:", "_self");
                             break;
                         case "open camera":
                             window.open("camera:", "_self");
                             break;
                         default:
                             speak("Sorry, I cannot open that app.");
                             break;
                       }
                   }
              1        2        3         4   5   6   7    8      9      10
         LOW                                                           HIGH
   ➢ Learning Gap (if any):