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

A . I . J . A . R . V . I .

S
Submitted by

Sagar Sunil Das, University Roll NO – DBPECSTS1 10003889


Abhishek Mukherjee, University Roll NO – DBPECSTS6 10003856
Patit Ghosh, University Roll NO –
Rojina Khatun, University Roll NO –
Saikat Das, University Roll NO –

A Technical report presented in partial fulfilment for the degree of


Diploma in Computer Science & Technology

Department Computer Science & Technology


Bishnupur Public Institute of Engineering
Bishnupur, 722122, West Bengal, India
Dedicated to my Parents
“The moral, in one word, is that you are divine.”
The thought of God dwelling in every being and everything around us is
empowering. When you see everything including yourself as divine, you are
filled with love and belief in yourself. Love and belief are the greatest forces of
nature and there’s nothing you cannot achieve with those two in your hands.
___Swami Vivekananda

“Don't take rest after your first victory because if you fail in second, more lips
are waiting to say that your first victory was just luck.”
____A.P.J Abdul Kalam

“We get true love from God, what will happen to a person, a person cannot
love us because he does not know us, otherwise how will he do.”
____ Premanand ji Maharaj

“If you cry because the sun has gone out of your life, your tears will prevent
you from seeing the stars.”
― Rabindranath Tagore
“Talk to yourself once a day, otherwise, you may miss meeting an excellent
person in this world.”
Talking to yourself, which is a lot like checking in with yourself, should be an
everyday ritual in your life. Only when you are aware and connected with your
being can you do things that will serve you. All the answers you are looking for
are within you, but it is you who has to take the initiative.
___Swami Vivekananda
Certificate Of Approval

The forgoing project report is hereby approved as a creditable


study of Technological subject carried out and presented in a
manner satisfactory to warrant its acceptance as a prerequisite
with degree for which it has been submitted. It is to be
understood that by this approval, the undersigned do not
necessarily endorse or approve any statement made, opinion
expressed or conclusion drawn there in but approve the thesis
only for the purpose for which it has been submitted.

(Board Of Examiners)

i.
ii.
iii.
iv.
Declaration

I hereby declare that this submission is my own


work and that, to the best of my knowledge and
belief, it contains no material previously published
or written by another person nor material which
has been accepted for the award of any other
degrees or diplomas of the university or other
institutes of higher learning, except which due
acknowledgment has been made in this text.

…………………………………..
Signature
Certificate
This is certified that the work contained in this re-
port entitled, ‘Artificial Intelligence Just Another
Rather Very Intelligent’ System by
Patit Ghosh, Sagar Sunil Das, Abhishek Mukherjee,
Rojina Khatun, and Saikat Das, has been carried out
under the supervision of the undersign and this
work has not been submitted elsewhere for any
other degree.

Mr. Rahul Rudra


Department of CST
Bishnupur Public Institute Engineering
Bishnupur, West Bengal

Mr. Swadesh Biswas


Head of the Department of CST
Bishnupur Public Institute Engineering
Bishnupur, West Bengal
Acknowledgments

I hereby wish to express my sincere gratitude and respect to


our Mentor Mr. Rahul Rudra, Dept. of CST, Bishnupur Public
Institute Of Engineering, Bishnupur under whom I had proud
privilege to work. His valuable guidance and encouragement
have really led me to the path of completion of this project.
Any amount of thanks would not be enough for the valuable
guidance of my supervisor. I would also like to thank all the
faculty member of CST dept. for their devoted help. I also
cordially thank all laboratory assistants for their cooperation.
Finally, I would like to pen down my gratitude towards my
family members for their continuous support and
encouragement. It would have not been possible to complete
my work without their support.
Abstract

AI assistants have become increasingly popular and influential in our


daily lives. These virtual helpers, powered by artificial intelligence (AI),
are designed to understand and respond to human commands,
perform tasks, and provide relevant information. One of the most
iconic AI assistants depicted in popular culture is JARVIS (Just A Rather
Very Intelligent System), known for its appearance in the Iron Man
movies. Let's explore some key aspects of an AI assistant like JARVIS.

Voice Interaction: An AI assistant like JARVIS relies on advanced speech


recognition technology to understand and interpret human
commands. Users can interact with the assistant using natural
language, making it more intuitive and user-friendly.

Task Automation: JARVIS-like AI assistants excel at automating tasks,


simplifying daily routines, and enhancing productivity. They can
schedule appointments, set reminders, manage calendars, and
perform various other administrative tasks efficiently.

Personalization: AI assistants strive to provide personalized


experiences by learning from user interactions and preferences. They
can adapt to individual needs, such as understanding specific speech
patterns, recognizing user preferences, and offering customized
recommendations.
Information Retrieval: A JARVIS-like AI assistant can retrieve
information from a vast knowledge base in real-time. They can search
the internet, access databases, and provide users with up-to-date
information on a wide range of topics, including news, weather, sports
scores, and more.

Smart Home Integration: AI assistants can control smart home devices,


such as lights, thermostats, security systems, and entertainment
systems. They allow users to control their environment using voice
commands, creating a seamless and convenient experience.

Natural Language Processing: AI assistants leverage natural language


processing capabilities to understand and generate human-like
responses. They can analyse the context, infer meaning, and generate
appropriate and coherent replies, making conversations more
engaging and realistic.

Machine Learning: AI assistants continually improve their


performance by leveraging machine learning algorithms. They learn
from user interactions, adapt to user preferences, and refine their
responses over time, enhancing their ability to provide accurate and
relevant information.

Multi-Platform Support: An AI assistant like JARVIS can be available


across multiple platforms, such as smartphones, computers, smart
speakers, and even wearable devices. This allows users to access and
interact with the assistant wherever and whenever they need
assistance.
Security and Privacy: AI assistants handle sensitive user data, making
security and privacy crucial considerations. Measures like encryption,
authentication protocols, and user consent are implemented to
protect user information and ensure data confidentiality.

Future Potential: The development of AI assistants like JARVIS


continues to advance, with ongoing research and innovation. Future
versions may incorporate more advanced capabilities, such as emotion
recognition, contextual understanding, and improved multitasking
abilities.

In conclusion, AI assistants like JARVIS offer a glimpse into the


possibilities of human-machine interaction. With their ability to
understand natural language, automate tasks, and provide
personalized assistance, they are transforming the way we interact
with technology and enhancing our productivity and convenience in
various aspects of our lives.
Contents

1. Introduction ……………………………………………………..………. 1

2. Project Descriptions 4
2.1 Project Overview………………………………………………………....…. 4
2.2 Purpose of The Project……………………………………..……………… 5
2.3 Scop of The Work……………………….…………………….……………… 6
2.4 Project Scenario………………………….…………………..………………. 7

3. Requirements 8
3.1 Software & Hardware Requirements………………………….………..8
3.2 Functional Requirements …………………………………………………….9
3.3 Performance Requirements…………………………………………………10

4. Design 11
4.1 System Design……………………………………………………………………11
4.2 System Goals……………..………………………………………………………14

5. Test Plans
5.1 Features to be Tested…………………………………………………………….
5.1.1 Test Results…………………………………………………………………
5.2 Testing Materials…………………………………………………………………..
5.3 Test Cases……………………………………………………………………………..
Introduction
Artificial Intelligence (AI) refers to the development of
computer systems that can perform tasks that typically require
human intelligence. It involves the creation of intelligent
machines capable of learning, reasoning, problem-solving,
perceiving, and understanding natural language. AI enables
computers to analyse large amounts of data, recognize
patterns, and make informed decisions or predictions based on
that data. AI is a multidisciplinary field that draws upon various
branches of knowledge, including computer science,
mathematics, cognitive science, linguistics, and neuroscience.
It encompasses several subfields, such as machine learning,
natural language processing, computer vision, robotics, and
expert systems. Machine learning is a fundamental aspect of
AI, involving the development of algorithms that allow
machines to learn from data and improve their performance
over time without explicit programming. By training on vast
amounts of data, machine learning algorithms can recognize
complex patterns, make predictions, and identify correlations
that may not be immediately apparent to humans.
The concept of AI dates back several decades, but recent
advancements in computing power, data availability, and
algorithmic techniques have accelerated its development and
adoption across various industries and domains. AI is driven by
the goal of creating machines that can perceive their
(1)
environment, understand and interpret complex data, and
make autonomous decisions or take actions based on that
understanding.
There are different approaches to AI, including:

Narrow AI: Also known as weak AI, narrow AI focuses on


developing systems that excel in specific tasks. These AI
systems are designed to perform a single function or solve a
particular problem, such as speech recognition, image
classification, or language translation. Narrow AI is prevalent
in various applications today, from virtual assistants like Siri
and Alexa to recommendation systems in e-commerce
platforms.

General AI: General AI, also referred to as strong AI or artificial


general intelligence (AGI), aims to create machines that
possess the same level of intelligence and cognitive
capabilities as humans. These hypothetical AI systems would
be capable of understanding, learning, and performing any
intellectual task that a human can do. Achieving true general
AI remains an active area of research and development.
AI technologies encompass a range of techniques and
methodologies, including machine learning, deep learning,
natural language processing (NLP), computer vision, robotics,
and expert systems. Machine learning, in particular, has played
(2)
a significant role in the recent advancements of AI, enabling
systems to learn from data and improve their performance
without being explicitly programmed.

The potential applications of AI are vast and span various


industries, including healthcare, finance, manufacturing,
transportation, entertainment, and more. AI-powered systems
can be used to automate routine tasks, analyse and derive
insights from large datasets, enhance decision-making
processes, enable personalized experiences, and support
complex problem-solving.

While AI offers numerous benefits and opportunities, it also


raises important ethical and societal considerations. Concerns
about job displacement, privacy, biases in algorithms, and the
responsible use of AI continue to be topics of discussion and
research.

In summary, AI represents a field of study and technology that


aims to develop intelligent machines capable of perceiving,
reasoning, and acting in ways that mimic or surpass human
intelligence. Its potential to transform industries, improve
efficiency, and enhance human lives makes AI an exciting and
rapidly evolving domain of innovation.

(3)
Project Overview
An AI project typically involves designing, developing, and
implementing an artificial intelligence system to solve a specific
problem or achieve a particular goal. The project can vary widely
in scope, complexity, and application, depending on the specific
objectives and resources available. Here's an overview of the main
components involved in an AI project:
• Problem Identification: The first step is to clearly define the problem
or task that the AI system will address. This could be anything from
image recognition, natural language processing, recommendation
systems, predictive analytics, or process automation.
• Data Collection and Preparation: AI systems rely on large amounts
of data to learn and make accurate predictions. The project requires
collecting relevant data from various sources, cleaning and
preprocessing it to remove noise and inconsistencies, and organizing
it in a suitable format for training the AI algorithms.
• Algorithm Selection and Development: Choosing the appropriate
algorithms and models is crucial for the success of an AI project.
Depending on the problem, different machine learning techniques
such as supervised learning, unsupervised learning, reinforcement
learning, or a combination of these may be employed. The algorithms
need to be developed, customized, and fine-tuned to achieve the
desired results.
It's important to note that the above steps are a general overview, and
the specific details and order of implementation may vary depending
on the project requirements and constraints. Each AI project is unique
and requires careful planning, domain expertise, and collaboration
between data scientists, engineers, domain experts, and other
stakeholders to achieve successful outcomes.

(4)
Purpose of The Project
The purpose of an AI project can vary depending on the
specific goals and objectives of the project. Here are some
common purposes for AI projects:
• Problem Solving: AI projects are often undertaken to address
specific problems or challenges that require intelligent systems
to provide solutions. For example, an AI project may aim to
develop a system that can detect and prevent fraud in financial
transactions or diagnose diseases more accurately in healthcare.
• Automation: AI can be used to automate repetitive or labour-
intensive tasks, improving efficiency and reducing human effort.
AI projects with the purpose of automation may involve
developing systems that can automatically process and analyse
large volumes of data, perform routine customer service tasks,
or control autonomous vehicles.
• Decision Support: AI can provide valuable insights and
recommendations to support human decision-making
processes. Projects with this purpose focus on developing AI
systems that can analyse complex data, identify patterns and
trends, and provide recommendations or predictions to aid
decision-making in various domains, such as finance, marketing,
or supply chain management.

It's important to note that the purpose of an AI project should align


with the needs and objectives of the organization or individuals
undertaking the project. Defining a clear purpose helps guide the
project's direction, prioritize resources, and measure its success in
achieving the intended outcomes.

(5)
Scope of The Work
The scope of work in AI projects can vary significantly
depending on the specific objectives, complexity, and
resources available. However, here are some common
areas that typically fall within the scope of AI work:
• Data Collection and Preparation: This involves identifying
relevant data sources, collecting data, and preparing it for
analysis. Tasks may include data cleaning, preprocessing,
transformation, and integration from various structured and
unstructured sources.
• Algorithm Development and Model Selection: Selecting
appropriate AI algorithms and models based on the problem at
hand is a critical aspect of AI work. This includes designing,
developing, and implementing algorithms for tasks such as
classification, regression, clustering, reinforcement learning,
natural language processing, or computer vision.
• Deployment and Integration: Once the AI models are trained
and evaluated, they need to be deployed and integrated into the
target environment or system. This may involve developing APIs,
interfaces, or integration with existing software and
infrastructure.

It's important to note that the scope of work may vary based on
the project's scale, objectives, and available resources. Some
projects may be focused on a specific AI technique or application,
while others may be broader in scope, encompassing multiple AI
technologies and complex problem-solving.

(6)
Project Scenario

Objective: The objective of the project is to develop an AI-


powered chatbot that can provide efficient and personalized
customer support for a company's products or services.

Scope of Work:

• Requirements Gathering: Collaborate with the company's


stakeholders, including customer support teams and
management, to understand the specific requirements for the
chatbot. Identify the key functionalities, customer pain points,
and desired user experience.
• Data Collection and Preparation: Collect relevant data
sources such as customer queries, support tickets, and
product information. Clean and preprocess the data, ensuring
it is organized and labeled appropriately for training the
chatbot.
• Natural Language Processing (NLP) Development: Design and
develop NLP models and algorithms to enable the chatbot to
understand and interpret user queries accurately. This may
involve tasks such as intent recognition, entity extraction, and
sentiment analysis.
• Throughout the project, effective project management,
collaboration, and regular communication with stakeholders
are essential to ensure the chatbot meets the intended
objectives and aligns with the company's customer support
strategy.

(7)
3. REQUIREMENTS

3.1 Software requirements:

• Operating System: The Jarvis project can be developed


on any operating system that supports the required
programming languages and frameworks. Some popular
choices include Windows, macOS, and Linux.
• Programming Languages: The project can be
implemented using languages like Python, Java, or C++.
Python is a popular choice due to its simplicity and
availability of libraries for AI and natural language
processing.
• Development Environment: A suitable integrated
development environment (IDE) should be chosen for
coding and testing the project. Examples include
PyCharm, Eclipse, or Visual Studio Code.
• Libraries and Frameworks: Various libraries and
frameworks can be utilized to implement the AI
capabilities of Jarvis. For example, TensorFlow or
PyTorch can be used for machine learning, and NLTK or
spaCy can be used for natural language processing.

(8)
3.2 Functional requirements:

• Speech Recognition: Jarvis should be able to recognize


and understand spoken commands from the user
accurately.
• Natural Language Processing: The system should be
capable of understanding the meaning behind user
commands and queries.
• Information Retrieval: Jarvis should be able to retrieve
information from various sources, such as the internet
or a local database, based on user queries.
• Task Execution: The system should be able to perform
various tasks based on user commands, such as setting
reminders, sending emails, or controlling smart home
devices.
• Context Awareness: Jarvis should be able to remember
previous interactions and use that context to provide
more personalized and relevant responses.

(9)
Performance requirements
• Accuracy: The speech recognition component of Jarvis
should have a high accuracy rate to ensure accurate
understanding of user commands.
• Response Time: Jarvis should respond to user commands
within a reasonable time frame to provide a seamless
user experience.
• Scalability: The system should be able to handle multiple
users simultaneously without significant performance
degradation.
• Resource Usage: The project should be optimized to use
system resources efficiently, such as memory and processing
power, to ensure smooth performance even on lower-end
devices.
• Error Handling: Jarvis should be able to handle and
recover gracefully from errors or unexpected inputs to
avoid crashing or providing incorrect responses.

(10)
System Design
Designing an AI system for a Jarvis project, inspired by the fictional AI
assistant in movies, would involve several key components and
considerations. Here's a high-level overview of the system design:
• Natural Language Processing (NLP): Implement robust NLP
capabilities to understand and process user commands and
queries in natural language. This involves tasks such as speech
recognition, intent recognition, entity extraction, and sentiment
analysis.
• Speech Synthesis: Develop text-to-speech synthesis to allow the
AI system to communicate with users using natural-sounding
speech. This involves generating human-like voices and
delivering responses in an understandable and coherent manner.
• Knowledge Base: Create a comprehensive knowledge base that
encompasses various domains, including general knowledge,
news, weather, sports, entertainment, and more. This
knowledge base would serve as a repository of information that
the AI system can retrieve and provide to users upon request.
• Personalization and User Profiling: Implement mechanisms to
understand and learn from user preferences, behaviour, and
context. This allows the AI system to provide personalized
recommendations, reminders, and tailored responses based on
the user's history and preferences.
• Task Automation: Enable the AI system to automate tasks and
perform actions on behalf of the user. This could include setting
reminders, managing calendars, sending emails, making
reservations, or controlling smart home devices. Integration with
external APIs and services may be required to enable task
automation

(11)
• Contextual Understanding: Enhance the AI system's ability to
understand and maintain context in conversations. This involves
tracking the dialogue history, maintaining context of previous
interactions, and providing relevant responses based on the
ongoing conversation.

• Multimodal Interaction: Explore the integration of multimodal


input and output, allowing users to interact with the AI system
through various modalities such as voice, text, and visuals. This
can enhance the user experience and enable more versatile
communication with the AI system.

• Security and Privacy: Implement strong security measures to


protect user data and ensure privacy. Encryption, secure
authentication, and data anonymization should be considered to
safeguard user information and prevent unauthorized access.

• Continuous Learning and Improvement: Enable the AI system to


learn and improve over time through techniques such as
machine learning and reinforcement learning. This allows the
system to adapt to user preferences, enhance its performance,
and update its knowledge base with new information.

• User Interface and User Experience: Design an intuitive and


user-friendly interface for users to interact with the AI system.
Consider factors such as responsiveness, ease of use, and clear
communication to ensure a positive user experience.

(12)
It's important to note that designing a sophisticated Jarvis-like AI
system involves significant technological complexities and
considerations. The implementation and feasibility of certain features
may depend on available resources, data availability, and ethical
considerations. A step-by-step approach, starting with core
functionalities and gradually expanding the capabilities, can help in
developing a robust and user-centric AI system.

(13)
System Goals
In the context of AI, system goals refer to the desired outcomes or
objectives that an AI system is designed to achieve. These goals guide
the development and deployment of AI systems and play a crucial role
in determining their functionality, performance, and impact. Here are
some common system goals in AI:
• Task Performance: AI systems are often designed with the goal
of achieving high performance and accuracy in specific tasks. This
could include tasks such as image classification, speech
recognition, natural language processing, data analysis, or
autonomous driving. The system aims to achieve or surpass
human-level performance in these tasks.
• Efficiency: Efficiency goals focus on optimizing resource usage,
computation time, or energy consumption of AI systems.
Improving efficiency allows AI systems to process and analyse
data faster, use fewer computational resources, or operate with
reduced power requirements. This is especially important for
real-time applications or those with limited resources.
• Robustness: Robustness goals aim to ensure that AI systems
perform well even in the presence of unexpected or challenging
conditions. This includes handling noisy or incomplete data,
dealing with adversarial attacks, or adapting to changing
environments. Robust AI systems are capable of maintaining
reliable performance and avoiding catastrophic failures.
• Explain ability and Interpretability: In certain domains, such as
healthcare or finance, it is essential for AI systems to provide explanations
or interpretations of their decisions or recommendations. Explain ability
goals focus on making the decision-making process transparent and
understandable to users or stakeholders, enabling them to trust
and validate the system's outputs.

(14)
• Safety and Security: Safety and security goals aim to ensure that
AI systems operate reliably, securely, and without causing harm
to users, data, or the environment. This includes preventing
vulnerabilities, addressing privacy concerns, implementing
safeguards against misuse, and designing fail-safe mechanisms
to handle unexpected situations.
• Adaptability and Learning: Many AI systems strive to
continuously improve and adapt to changing conditions or
evolving user needs. Adaptability goals involve designing AI
systems that can learn from new data, adjust their behaviour,
and enhance their performance over time. This includes
techniques such as online learning, transfer learning, or
reinforcement learning.
• Ethical and Fairness Considerations: With the increasing
influence of AI in decision-making processes, ethical and fairness
goals are gaining significance. AI systems should be designed to
avoid biases, ensure fairness, and uphold ethical standards in
areas such as hiring, lending, criminal justice, and resource
allocation. Achieving fairness and addressing ethical concerns is
an important system goal to ensure equitable and just outcomes.

It's important to note that system goals may vary depending on the
specific application, context, and societal considerations. Defining
clear system goals is crucial for aligning AI development with
intended outcomes and promoting responsible and beneficial use of
AI technologies.

(15)
5. TEST PLANS
5.1 Features in JARVIS
1. Queries from the web:

Making queries is an essential part of one’s life, and nothing changes even for
a developer working on Linux. We have addressed the essential part of a
netizen’s life by enabling our voice assistant to search the web. Here we have
used Node JS and Selenium framework for extracting the result from the web
as well as displaying it to the user. Jarvis supports a plethora of search engines
like Google, Bing and Yahoo and displays the result by scraping the searched
queries.

In order to make queries from different search engines, the given format should
beadopted:

<search engine name> <query>

Jarvis supports Google, Bing and Yahoo, which should precede the desired query.

(16)
2. Accessing youtube videos

Videos have remained as a main source of entertainment, one of the most


prioritized tasks of virtual assistants. They are equally important for
entertainment as well as educational purposes as most teaching and research
activities in present times are done through Youtube. This helps in making the
learning process more practical and out of the four walls of the classroom.

Jarvis implements the feature through a subprocess module which is handled


by the main Golang service. This service initiates the subprocess for Node JS
which serves the Selenium WebDriver, and scraps the searched YouTube query.

In order to access videos from youtube format is:

youtube <video you want to search for>

(17)
1. Get weather for a location

Getting live weather conditions about a place remains an important task


of virtual assistants. It helps the user charter the course of their action.
Jarvis addresses thisissue with the help of Python.

In order to access the live weather condition format is:

Weather <city> <state/country>

(18)
5.1.1 Test results:
The test results for the voice recognition feature will include the accuracy of
the recognition, response time, and overall user experience. The accuracy will
be measured by comparing the recognized voice commands with the actual
commands given by the user. The response time will be measured from the
moment the user gives a command to the moment the AI assistant responds.
The overall user experience will be evaluated based on the ease of use and
effectiveness of the voice recognition feature.

(19)
5.2 Testing Materials:
The testing materials for the voice recognition feature will include a
microphone or any audio input device, a computer or mobile device with the AI
Jarvis application installed, and a sample set of voice commands to be used
during testing.

5.3 Test Cases:


1. Test Case: Basic Voice Recognition
Description: Test the basic functionality of voice recognition by giving simple
voice commands.
Steps:
1. Launch the AI Jarvis application.
2. Say "Hello" or any other simple command.
3. Verify that the AI assistant recognizes and responds to the command
accurately and in a timely manner.

2. Test Case: Voice Recognition Accuracy


Description: Test the accuracy of voice recognition by giving a set of
predefined voice commands.
Steps:
1. Launch the AI Jarvis application.
2. Say each predefined voice command one by one.
3. Verify that the AI assistant accurately recognizes and responds to each
command.
4. Record any instances of incorrect recognition or misinterpretation.

2.Test Case: Voice Recognition Response Time

(20)
Description: Test the response time of voice recognition by measuring the time
taken for the AI assistant to respond to a voice command.
Steps:
1. Launch the AI Jarvis application.
2. Say a predefined voice command.
3. Measure the time taken from the moment the command is given to the
moment the AI assistant responds.
4. Record the response time for each command and evaluate if it meets the
desired performance criteria.

4. Test Case: Voice Recognition User Experience


Description: Evaluate the overall user experience of the voice recognition
feature.
Steps:
1. Launch the AI Jarvis application.
2. Engage in a conversation with the AI assistant using voice commands.
3. Evaluate the ease of use and effectiveness of the voice recognition feature.
4. Record any difficulties or issues encountered during the interaction.

(21)
6.PROJECT ISSUES
6.1 Open Issues:
We are all well aware about Cortana, Siri, Google Assistant and many other
virtualassistants which are designed to aid the tasks of users in Windows,
Android and iOS platforms. But to our surprise, there’s no such virtual assistant
available for the paradise of Developers i.e. Linux platform.

• PURPOSE:
This Software aims at developing a personal assistant for Linux-based
systems. The main purpose of the software is to perform the tasks of the
user at certain commands, provided in either of the ways, speech or
text. It will ease most of the work of the user as a complete task can be
done on a single command. Jarvisdraws its inspiration from Virtual
assistants like Cortana for Windows and Siri for iOS. Users can interact
with the assistant either through voice commands or keyboard input.

• PRODUCT GOALS AND OBJECTIVES:Currently, the project aims to provide


the Linux Users with a Virtual Assistant that would not only aid in their
daily routine tasks like searching the web, extracting weather data,
vocabulary help and many others but also help in automation of various
activities.In the long run, we aim to develop a complete server assistant,
by automating the entire server management process - deployment,
backups, auto-scaling, logging, monitoring and make it smart enough
to act as a replacement for general server administrator.

• PRODUCT DESCRIPTION:As a personal assistant, Jarvis assists the end-user


with day-to-day activities like general human conversation, searching
queries in various search engines like Google, Bing or Yahoo, searching for
videos, retrieving images, live weather conditions, word meanings,
searching for medicine details, health recommendations based on
symptoms and reminding the user about the scheduled events and tasks.
The user statements/commands are analysed with the help of machine
learning to give an optimal solution.

(22)
6.2 Migration to new project:
Issue Description:
The migration process to the new project has encountered several challenges and obstacles,
resulting in delays and difficulties in successfully transitioning all project components.

Impact:
- Delays in project timelines: The migration process has taken longer than anticipated, causing
delays in project milestones and deliverables.
- Disruption of workflow: The migration process has disrupted the normal workflow of team
members, requiring them to allocate additional time and resources to address migration-
related issues.
- Loss of data: Some data may have been lost or corrupted during the migration process,
leading to potential data inconsistencies and inaccuracies in the new project.

Root Causes:
1. Inadequate planning: Insufficient planning and preparation for the migration process led to
unforeseen complications and challenges.
2. Technical complexities: The new project environment may have different technical
requirements and configurations, making the migration process more complex and time-
consuming.
3. Lack of expertise: The team may not have had sufficient knowledge or expertise in migrating
projects, resulting in difficulties in executing the migration smoothly.

Resolution Steps:
1. Conduct a thorough analysis: Evaluate the current status of the migration process and
identify any remaining issues or challenges that need to be addressed.
2. Develop a comprehensive plan: Create a detailed plan that outlines the necessary steps and
resources required to complete the migration successfully.
3. Seek external support: If necessary, consider engaging external experts or consultants who
specialize in project migrations to provide guidance and assistance.
4. Test and validate: Conduct rigorous testing and validation procedures to ensure that all
project components are functioning correctly in the new environment.
5. Communicate with stakeholders: Keep all relevant stakeholders informed about the
progress of the migration process, including any delays or issues encountered, and provide
regular updates on the resolution steps being taken.

(23)
Lessons Learned:
1. Proper planning and preparation are crucial for successful project
migrations.
2. Adequate expertise and resources should be allocated to ensure a
smooth transition.
3. Thorough testing and validation procedures are essential to identify
and resolve any potential issues before they impact project operations.
4. Effective communication with stakeholders is key to managing
expectations and addressing concerns during the migration process.

(24)
7. CONCLUSION
Through this voice assistant, we have automated various services using
a single line command. It eases most of the tasks of the user like
searching the web, retrieving weather forecast details, vocabulary help
and medical related queries. We aim to make this project a complete
server assistant and make it smart enough to act as a replacement for
a general server administration. The future plans include integrating
Jarvis with mobile using React Native to provide a synchronised
experience between the two connected devices. Further, in thelong
run, Jarvis is planned to feature auto deployment supporting elastic
beanstalk, backup files, and all operations which a general Server
Administrator does. The functionality would be seamless enough to
replace the Server Administrator with Jarvis.

(26)
8. FUTURE WORKS

We plan to Integrate Jarvis with mobile using react native, to provide a


synchronized experience between the two connected devices.

In future project migrations, it is important to apply the lessons learned from


this experience. This includes conducting thorough planning and preparation,
allocating sufficient expertise and resources, and implementing rigorous testing
and validation procedures. Additionally, effective communication with
stakeholders should be maintained throughout the migration process to manage
expectations and address any concerns.

To further improve the migration process, it may be beneficial to establish a


dedicated team or individual with expertise in project migrations. This would
ensure that there is a designated resource responsible for overseeing and
executing the migration smoothly.

Furthermore, documenting the entire migration process, including challenges


faced and their resolutions, can serve as a valuable reference for future
migrations. This documentation can help identify potential pitfalls and provide
guidance on how to address them effectively.

Regularly reviewing and updating the project's technical requirements and


configurations can also help minimize technical complexities during future
migrations. This ensures that the team is well-prepared and aware of any
changes or updates that may impact the migration process.

Overall, by applying these lessons learned and implementing best practices,


future project migrations can be executed more efficiently and successfully.

(27)

You might also like