Professional Documents
Culture Documents
Omar Major Project Report
Omar Major Project Report
MAJOR PROJECT
TML08071
on
DESKTOP ASSISTANT
Supervisor:
Resp.Shan E Fatima Ma’am
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.
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.
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.
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
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.
Chapter-1
Introduction
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 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:
4. System Control: Allowing users to control system settings, launch applications, and
manage files and folders through voice commands or text input.
6. Integration: Integrating with other applications and services such as calendar apps,
email clients, task managers, and smart home devices to provide seamless functionality.
The scope may vary depending on the specific goals and target audience of the desktop
assistant project.
9
Chapter-2
Literature Review
- 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.
- 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.
- 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.
- 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.
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
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.:-
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.
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
import pyttsx3
import datetime
13
import
pywin32_system32
import os
import random
import tkinter
Chapter-4
4.1 Output
Chapter-5
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.
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.
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.