Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

1

MAJOR PROJECT
TML08071
on
DESKTOP ASSISTANT

Submitted in partial fulfilment of the requirements of the degree of


(Bachelor of Technology)
By

Mohd Omar Saeed


RollNo.-
2108243007

Supervisor:
Resp.Shan E Fatima Ma’am

COMPUTER SCIENCE & ENGINEERING(ARTIFICAL INTELLIGENCE &


MACHINE LEARNING)

(FACULTY OF ENGINEERING AND TECHNOLOGY)

KHWAJA MOINUDDIN CHISHTI LANGUAGE UNIVERSITY


2023-24
2

DECLARATION
I declare that this written submission represents my ideas in my ownwords and where others'
ideas or words have been included, I have adequately cited and referenced the original
sources. I also declare that I have adhered to all principles of academic honesty and integrity
and have not misrepresented or fabricated or falsified any idea/data/fact/source in my
submission. I understand that any violation of the above will be cause for disciplinary action
by the Institute and can also evoke penal action from the sources which have thus not been
properly cited or from whom proper permission has not been taken when needed.

Name:-Mohd Omar Saeed


Roll No.:-2108243007
Date:
3

ABSTRACT

In recent years, desktop assistants have become increasingly popular due to their ability to
enhance productivity and streamline tasks for users. This project aims to develop a desktop
assistant using Python programming language, leveraging its rich ecosystem of libraries and
frameworks.

The desktop assistant will be capable of performing various tasks, including but not limited
to:

1. Voice commands: Implementing speech recognition to enable users to interact with the
assistant using natural language commands.

2. Task automation: Automating repetitive tasks such as sending emails, scheduling


appointments, or managing files.

3. Information retrieval: Utilizing web scraping techniques to fetch real-time information like
weather updates, news headlines, or stock prices.

4. Reminder system: Allowing users to set reminders and notifications for important events or
deadlines.

5. Personalization: Providing customizable features to tailor the assistant's behavior and


preferences according to individual user needs.

The implementation will involve integrating Python libraries such as speech_recognition,


pyttsx3, tkinter, Beautiful Soup, and others to enable various functionalities. Additionally, the
Graphical User Interface (GUI) will be developed using frameworks like Tkinter or PyQt to
provide a user-friendly interface for interaction.

By developing this desktop assistant, users can benefit from increased efficiency, improved
organization, and a more seamless computing experience. This project contributes to the
advancement of personal assistant technology, making it accessible and customizable for
users across different domains and use cases.
4

CONTENTS

1. Introduction… ................................................................................. (7-8)


1.1. Aim......................................................................................... 7
1.2. Scope ...................................................................................... 8
2. Literature Review .......................................................................... (9-10)
2.1. Siri: An Intelligent Personal Assistant (2011) ..................... 9
2.2. Cortana: Evolution of Personal Assistant (2015) ................ 9
2.3. Google Assistant: New Generation Assistant (2016) ........... 9
2.4. Alexa: Building a Personal Voice Assistant (2017) ............. 10
2.5. Towards an Intelligent Desktop Assistant Survey.......................10
2.6. Desktop Assistant Using Machine Learning...................................10
3. Report on the present investigation.............................................(11-14)
3.1. Background for the investigation ........................................ 11
3.2. SystemRequirements ............................................................ 12
3.3. Programming of the model .................................................. 12
3.3.1. Function of pyttsx3. .................................................... 13
3.3.2. Function of datetime ................................................. 15
3.3.3. Function of os ............................................................ 15
4. Results and Discussions.............................................................. (15-16)
4.1. Output .................................................................................. 15
4.2. Comments on the output.................................................... (16)
5. Summaries and Conclusions .......................................................... (17)
6. Literature Cited .............................................................................(18)
7. Acknowledgements ......................................................................... (19)
5

LIST OF TABLES AND FIGURES

Tab.3.1 Hardware Requirements ..............................................................(8)


Tab.3.2 Software Requirements ............................................................... (8)
Fig.3.1 Sample1 Function of pyttsx3 ........................................................ (9)
Fig.3.2 Sample2 Function of datetime ..................................................... (10)
Fig.3.3 Sample3 Function of os................................................................. (10)
6

CERTIFICATE
This is to certify that the project work entitled “Desktop Assistant” is a bonafide record of
work carried out by “Mr. Mohd Omar Saeed (Roll No.-2108243007)“, submitted to the
“Faculty of Engineering Department”, in partial fulfilment of the requirements for the award
of the degree of Bachelor of Technology in “Computer Science & Engineering (Artificial
Intelligence & Machine Learning)” at Khwaja Moinuddin Chishti Language University,
Lucknow during the academic year 2023-24.

Resp.Suman Kumar Mishra Sir Resp.Shan E Fatima Ma’am


Subject In-charge (Mentor/Guide)
Department of CSE Associate Professor
KMC Language University DepartmentofCSE
7

Chapter-1

Introduction

Desktop assistants have emerged as indispensable tools in modern computing environments,


offering users a seamless way to interact with their devices and accomplish tasks efficiently.
This paper introduces the concept of desktop assistants and explores their role in enhancing
productivity and user experience.

The introduction provides an overview of desktop assistants, highlighting their evolution


from simple command-line interfaces to sophisticated AI-powered systems capable of
understanding natural language and performing complex tasks. It discusses the growing
demand for personalized and context-aware computing solutions, driving the adoption of
desktop assistants across various domains.

Furthermore, the introduction discusses the benefits of using desktop assistants, including
improved task management, time efficiency, and reduced cognitive load on users. It also
outlines the challenges associated with developing desktop assistants, such as speech
recognition accuracy, natural language understanding, and privacy concerns.

A desktop assistant is a software program designed to help users perform various tasks on
their computers. It typically employs natural language processing and artificial intelligence to
understand and respond to user commands or inquiries.

Desktop assistants can perform tasks such as managing calendars, setting reminders,
searching the web, sending emails, controlling smart home devices, and much more, all with
voice commands or text input. Popular examples include Siri for Apple devices, Cortana for
Windows, and Google Assistant for Google platforms.

1.1 Aim

The main of a desktop assistant project is to develop and implement a software


application that serves as a virtual assistant on a computer. This project typically involves
designing an interface for users to interact with the assistant, integrating natural language
processing and machine learning algorithms to understand user queries and commands,
and enabling the assistant to perform various tasks such as managing schedules,
retrieving information, sending emails, and controlling other applications.

The ultimate goal is to create a tool that enhances user productivity and convenience in
the desktop computing environment. It aims to streamline user interactions with their
computer and other devices, ultimately saving time and improving the overall user
experience.

Additionally, desktop assistants often aim to evolve over time, learning from user
interactions to better anticipate and fulfill their needs.

1.2 Scope
8

The scope of a desktop assistant encompasses a wide range of functionalities and features
aimed at improving user interaction and productivity on a computer. Some common
aspects of the scope include:

1. Task Automation: Allowing users to automate routine tasks such as scheduling


appointments, setting reminders, and organizing files.

2. Information Retrieval: Providing quick access to information by searching the web,


fetching weather updates, news, and other relevant data.

3. Communication: Facilitating communication tasks such as sending emails, making


calls, and managing contacts.

4. System Control: Allowing users to control system settings, launch applications, and
manage files and folders through voice commands or text input.

5. Personalization: Tailoring the assistant's responses and suggestions based on user


preferences, habits, and past interactions.

6. Integration: Integrating with other applications and services such as calendar apps,
email clients, task managers, and smart home devices to provide seamless functionality.

7. Continuous Learning: Improving over time by learning from user interactions,


feedback, and updates to provide more accurate and relevant assistance.

The scope may vary depending on the specific goals and target audience of the desktop
assistant project.
9

Chapter-2

Literature Review

Certainly! Here's a brief literature review on desktop assistant projects:

1. "Siri: An Intelligent Personal Assistant" (2011)

- This seminal paper introduced Siri, one of the first mainstream virtual assistants,
developed by Siri Inc. (later acquired by Apple). It discusses the architecture, natural
language processing techniques, and functionalities of Siri, setting the stage for subsequent
desktop assistant projects.

2. "Cortana: The Evolution of an Intelligent Personal Assistant" (2015)

- This paper explores the development of Cortana, Microsoft's virtual assistant for Windows
devices. It discusses Cortana's integration into the Windows ecosystem, its capabilities, and
its impact on user experience and productivity.

3. "Google Assistant: A New Assistant for a New Generation" (2016)

- Focusing on Google Assistant, this paper delves into the natural language understanding
and machine learning algorithms used to power Google's virtual assistant. It also discusses
Google Assistant's integration with various Google services and third-party applications.

4. "Alexa: Building a Personal Voice Assistant" (2017)

- This paper provides insights into the development of Amazon's Alexa, highlighting its
speech recognition, natural language understanding, and conversational abilities. It discusses
the Alexa Skills Kit, which allows developers to extend Alexa's functionality through third-
party integrations.

5. "Towards an Intelligent Desktop Assistant: A Survey" (2020)


10

- This survey paper provides an overview of recent advancements in desktop assistant


technologies. It discusses various approaches to natural language processing, task automation,
and user interaction, as well as challenges and future research directions in the field.

6. "Design and Implementation of a Desktop Assistant Application Using Machine


Learning Techniques" (2019)

- This paper presents a specific implementation of a desktop assistant using machine


learning techniques. It discusses the system architecture, algorithms used for natural language
understanding, and the integration of various features such as task automation, information
retrieval, and communication.

These papers offer valuable insights into the development, capabilities, and impact of desktop
assistant projects, serving as references for researchers, developers, and enthusiasts in the
field.
11

Chapter-3

Report on the present investigation

3.1 Background for the investigation

The background workings of a desktop assistant project involve a combination of advanced


technologies, including speech recognition, natural language processing, task automation,
integration with external services, and a focus on user experience, privacy, and security.

User Input Recognition: The assistant must be able to recognize user input, which can be in
the form of voice commands, text input, or other types of interactions. For voice input, this
typically involves speech recognition techniques to convert spoken words into text that the
assistant can understand.

Natural Language Understanding (NLU): Once the user input is captured, the assistant
needs to understand the user's intent and extract relevant information from the input. This
involves natural language processing (NLP) techniques such as parsing, semantic analysis,
and entity recognition to interpret the user's request accurately.

Task Execution: After understanding the user's intent, the assistant executes the
corresponding task or action. This could involve performing operations on the local system,
retrieving information from external sources (e.g., web search APIs), interacting with other
applications, or controlling connected devices (e.g., smart home devices).

Response Generation: Once the task is executed, the assistant generates a response to
provide feedback to the user. This could be in the form of spoken words, text displayed on the
screen, or other visual or auditory cues. The response should be informative, relevant, and
tailored to the user's query.

Feedback and Learning: Desktop assistants often incorporate mechanisms for gathering
feedback from users to improve their performance over time. This could include analyzing
user interactions, monitoring user satisfaction, and incorporating user feedback to update and
refine the assistant's capabilities.

Integration with External Services: Many desktop assistants rely on integration with
external services and APIs to provide additional functionalities. This could include accessing
calendar and email services, fetching weather updates, retrieving news articles, or interfacing
with third-party applications and platforms.

Privacy and Security: Desktop assistants often handle sensitive information and user data,
so ensuring privacy and security is crucial. This involves implementing measures such as data
encryption, access control, and compliance with relevant privacy regulations to protect user
information.

In background we have used multiple libraries of python for creating the model viz.:-

 Pyttsx3- Pyttsx3 is a Python library for text-to-speech (TTS) conversion. It allows


12

developers to easily convert text strings into spoken audio. Pyttsx3 supports features
like saving speech output to an audio file, pausing/resuming speech, and handling
events asynchronously.

 Datetime -The datetime module in Python provides classes for manipulating dates and
times in both simple and complex ways. You can obtain the current date and time
using the datetime.today() method or the datetime.now() method.

 Os-The os module in Python provides a way to interact with the operating system. It
offers functions for working with files and directories, manipulating paths, accessing
environment variables, and executing system commands. The os module allows you
to create, delete, and modify files and directories, check file existence, get file sizes,
and perform various file-related operations. It also provides functionality for
traversing directory structures, listing directory contents, and handling file
permissions. The os module is useful for file and directory management tasks in data
processing, data loading, and model training workflows.

 Tkinter- Tkinter is a standard GUI (Graphical User Interface) toolkit in Python for creating
desktop applications. It provides a set of tools and widgets for building user interfaces, such
as buttons, labels, text entry fields, and more.

3.2 System Requirements

HardwareTools MinimumRequirements
Processor Intel core i5 or AMD Ryzen 5
Storage 128GB SSD
RAM 8GB
Mouse OpticalMouse
Monitor 15.6 inches
Keyboard 122 keys
Tab3.1-HardwareRequirements forsystem

SoftwareTools MinimumRequirements
Platform Windows or Linux
Scripting Language Python
Technology Machine Learning
OS Windows or Linux
Tab3.2-SoftwareRequirementsfor system

3.3 Programming of the model

import pyttsx3

import datetime
13

import
pywin32_system32

import os

import random

import tkinter

3.3.1 Image for showing functions of models

Fig 3.1 Sample1 Showing function of


pyttsx3 module
14

Fig 3.2 Sample2 Showing function of


datetime module

Fig 3.3 Sample3 Showing function of


os module
15

Chapter-4

Results and Discussions

4.1 Output

Output for youtube—

Output for Google—


16

4.2 Comment on Output

 In the first output the youtube is being accessed.


 In the second output the Google is being accessed.
 We can also check for the real time data.
17

Chapter-5

Summaries and Conclusions

 Summary: The desktop assistant project developed using Python aimed to create a
virtual assistant to perform various tasks and assist users with daily activities.
Leveraging libraries such as speech recognition, text-to-speech, and natural language
processing, the assistant could interact with users through voice commands or text
input.

Key features included setting reminders, searching the web, providing weather
updates, managing calendars, and controlling basic system functions. Through
continuous development and refinement, the assistant achieved a level of usability and
efficiency in aiding users with their tasks.

 Conclusion: The desktop assistant project demonstrated the feasibility and utility of
creating a virtual assistant using Python. By integrating various libraries and
technologies, the assistant provided users with a convenient and hands-free way to
perform tasks and access information.

Future improvements could focus on enhancing the assistant's natural language


understanding, expanding its capabilities through additional APIs and services, and
improving its overall user experience. Overall, the project showcased the potential of
Python for developing intelligent desktop assistants and highlighted opportunities for
further innovation in this field.
18

Chapter-6

Literature Cited

 Datast

https://www.kaggle.com/datasets/lextoumbourou/plantvillageapplecolor?resource=downl
oad

 Online Supports
 Code with Harry from YouTube to get some deeper knowledge on this project
of Desktop Assistant.

 Github
19

Chapter-7

Acknowledgements

I (Mohd Omar Saeed) extend my deepest gratitude to my mentor, Resp Shan Ma'am, for their
unwavering support, insightful guidance, and exceptional mentorship throughout the course
of this project. Their dedication to nurturing my intellectual curiosity, providing constructive
feedback, and sharing their wealth of knowledge have been pivotal in shaping my research
journey andfosteringmypersonaland professionaldevelopment.I am profoundly grateful for
their mentorship, which has not only enriched my understanding of the subject matter but also
instilled in me a sense of confidence and resilience.

I am indebted to Resp Saima Ma'am, our esteemed subject incharge, for their steadfast
encouragement, visionary leadership, and unwavering commitment to fostering a culture of
excellence inacademia.Their mentorship and guidance have been instrumental in providinga
conducive learning environment and fostering a spirit of innovation and collaboration among
students. I am immensely grateful for their invaluable support and dedication to nurturing the
academic aspirations of students like myself.

Furthermore, I would like to express my sincere appreciation to edureka expert, whose


contributions, whether through technical assistance, resources, or collaborative efforts, have
enriched the scope and impact of this project. Their willingness to lend a helping hand and
share their expertise have been integral to the successful completion of this endeavor.

In addition, I wish to extend my heartfelt thanks to my family and friends for their
unwavering support, understanding, and encouragement throughout this journey. Their
steadfast belief in my abilities and unwavering encouragement have been a constant source of
inspiration and motivation, propelling me forward in times of doubt and uncertainty.

Finally, I would like to express my gratitude to the academic institution Khwaja Moinuddin
Chishti Language University, for providing the necessary infrastructure, resources, and
opportunities that haveenabledmetopursuemyacademicendeavors and realize my research
aspirations. I am truly grateful for the invaluable learning experiences and growth
opportunities that this institution has afforded me.

In conclusion, this project would not have been possible without the collective support,
guidance, and encouragement of all those who have contributed to its success. I am deeply
thankful for their unwavering belief in my potential and their steadfast commitment to
nurturing my academic and professional aspirations.

You might also like