All Projects → ahmetozlu → aipa

ahmetozlu / aipa

Licence: MIT license
AIPA (A.I. Personal Assistant): Speech, Vision, Machine Learning and IoT based intelligent personal assistant for Ubuntu based Linux distributions.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to aipa

Jarvis
Jarvis.sh is a simple configurable multi-lang assistant.
Stars: ✭ 701 (+1697.44%)
Mutual labels:  personal-assistant
Friday
An open-source virtual assistant.
Stars: ✭ 88 (+125.64%)
Mutual labels:  personal-assistant
Jarvis-personal-assistant
Comfort of a personal assistant for Linux systems. Currently features native google, yahoo, bing searches, weather conditions, videos from youtube and looking up for images as well, all in a very reliable structure and UI.
Stars: ✭ 45 (+15.38%)
Mutual labels:  personal-assistant
Jarvis
🤖 "Perhaps, if you intend to visit other planets, we should improve the exosystems."
Stars: ✭ 17 (-56.41%)
Mutual labels:  personal-assistant
Dragonfire
the open-source virtual assistant for Ubuntu based Linux distributions
Stars: ✭ 1,120 (+2771.79%)
Mutual labels:  personal-assistant
Quantified Self
Self-knowledge through numbers
Stars: ✭ 118 (+202.56%)
Mutual labels:  personal-assistant
Enclosure Picroft
Mycroft interface for Raspberry Pi environment
Stars: ✭ 649 (+1564.1%)
Mutual labels:  personal-assistant
sepia-assist-server
Core server of the SEPIA Framework responsible for NLU, conversation, smart-service integration, user-accounts and more.
Stars: ✭ 81 (+107.69%)
Mutual labels:  personal-assistant
Openvoiceos
OpenVoiceOS is a minimalistic linux OS bringing the open source voice assistant Mycroft A.I. to embbeded, low-spec headless and/or small (touch)screen devices.
Stars: ✭ 64 (+64.1%)
Mutual labels:  personal-assistant
Projectalice
Main repository of Project Alice, contains main unit source code
Stars: ✭ 189 (+384.62%)
Mutual labels:  personal-assistant
Moe Serifu Agent
Anime-themed personal assistant and goal-oriented intelligent agent
Stars: ✭ 25 (-35.9%)
Mutual labels:  personal-assistant
Messenger Maid Chan
[Deprecated] Maid-chan feat Facebook Messenger bot to accompany personal daily life
Stars: ✭ 59 (+51.28%)
Mutual labels:  personal-assistant
Jarvis
Personal Assistant for Linux and macOS
Stars: ✭ 2,160 (+5438.46%)
Mutual labels:  personal-assistant
Stephanie Va
Stephanie is an open-source platform built specifically for voice-controlled applications as well as to automate daily tasks imitating much of an virtual assistant's work.
Stars: ✭ 772 (+1879.49%)
Mutual labels:  personal-assistant
xiaoai-patch
Patching for XiaoAi Speakers, add custom binaries and open source software. Tested on LX06, LX01, LX05, L09A
Stars: ✭ 58 (+48.72%)
Mutual labels:  personal-assistant
Yoda
Wise and powerful personal assistant, available in your nearest terminal
Stars: ✭ 674 (+1628.21%)
Mutual labels:  personal-assistant
Kalliope
Kalliope is a framework that will help you to create your own personal assistant.
Stars: ✭ 1,509 (+3769.23%)
Mutual labels:  personal-assistant
jobs-to-mail
Your personal job-search assistant
Stars: ✭ 92 (+135.9%)
Mutual labels:  personal-assistant
chatbot-samples
🤖 聊天机器人,对话模板
Stars: ✭ 110 (+182.05%)
Mutual labels:  personal-assistant
Naomi
The Naomi Project is an open source, technology agnostic platform for developing always-on, voice-controlled applications!
Stars: ✭ 171 (+338.46%)
Mutual labels:  personal-assistant

ARTIFICIAL INTELLIGENCE PERSONAL ASSISTANT (AIPA)

UNDER CONSTRUCTION... DEVELOPMENT IS ON PROGRESS... MORE INFORMATION WILL BE AVAILABLE SOON!!!

AIPA (A.I. Personal Assistant) is Speech, Vision and IoT Based Intelligent Personal Assistant.

AIPA is a speech, vision and iot based intelligent personal assistant inspired by JARVIS. The project is released under MIT license, I would love to have your help on improving AIPA, and see CONTRIBUTING for more details.

Please contact if you need professional AI based chat-bot project.

The Personal Assistant Framework is available under module folder.


What are the capabilities of AIPA?

  1. You can speak(AIPA can answer you with a voice, AIPA has a femala voice) or chat with AIPA.

  2. You can command AIPA by speaking or texting, for example you can play your favorite music, wikipedia or youtube searches or you can want to turn on/off the light from AIPA which can have communicate with the another devices via IoT (MQTT based).

  3. You can teach to AIPA(Tensorflow based) whatever you want! The more context an AI has, the better it can handle open-ended requests so AIPA tries to learn new things every time. It is the stateless system (i.e. AIPA can remember what the user said and respond accordingly).

  4. You can ask to AIPA, who is ringing the door? AIPA has Multi-View Face Recognition!


UserName-Password Authentication

Intelligent Messenger Bot (TensorFlow based)

THEORY

System Design

Here are 4 main modules in AIPA;

1.) Security Module

Security Module has 2 layers to provide high secure system. First layer is traditionalUSerName-Password Authentication, the second layer is Multi-View Face Recognition Authentication.

a.) UserName-Password Authentication: It is traditional login system. You should set the username and password for user types, and there are 2 types for users which are ADMIN and GUEST. ADMIN has full access of the AIPA abilities but GUEST has restricted access of the APIA abilities. User has to enter right UserName-Password to pass the first security layer. After the passing for the UserName-Password Authentication, Face Recognition Authentication will be started.

b.) Multi-View Face Recognition Authentication: It is security system which is Face Recognition based. It is multi-view face recognition system so it provides so high security. User who claims that I am ADMIN have to proof it via showing his/her face for approximately 10 seconds the web camera to proof that he/she is ADMIN. The accuracy of this recognition system above than 97% right now, and the developing of the accuracy is in progress.

2.) Brain Module

Brain Module is the coolest part of this AI application. In this module, AIPA learn new things from its experiences and what you teach. The more context an AI has, the better it can handle open-ended requests so AIPA tries to learn new things every time. AIPA reacts accross the users requestments by using it's knowledge. The stateless system (i.e. AIPA can remember what the user said and respond accordingly) is provided using this Brain Module.

Only ADMIN can teach to AIPA by speaking or entering text as his/her choise. This module is based Machine Learning and it was developed via TensorFlow.

Brain Module designed through 3 steps:

  1. I transformed conversational intent definitions to a Tensorflow model

  2. Next, I built a chatbot framework to process responses

  3. Lastly, I showed how basic context can be incorporated into our response processor

3.) Interaction Module

Interaction Module consists of the Human-Computer Interaction systems. It has Speech Recognition so users can have communicate with AIPA or command their requestmens via speaking. Moreover, it also has Messenger Bot so users can have communicate with AIPA or command via entering text.

4.) IoT Module

ADMIN can manage home remotely or onsite;

  1. Turn on/off the lights

  2. See who is ringing the bell

  3. Check the rooms temperature

  4. Run the air conditions

This module provides the home automation, and it uses a light-weighted protocol which is MQTT.

SYSTEM REQUIREMENTS

Operating Systems Linux
Languages English
System Requirements Minimally 1 core , 3GB free RAM

INSTALLATION

1.) Python and pip

Python is automatically installed on Ubuntu. Take a moment to confirm (by issuing a python -V command) that one of the following Python versions is already installed on your system:

  • Python 2.7
  • Python 3.3+

The pip or pip3 package manager is usually installed on Ubuntu. Take a moment to confirm (by issuing a pip -V or pip3 -V command) that pip or pip3 is installed. We strongly recommend version 8.1 or higher of pip or pip3. If Version 8.1 or later is not installed, issue the following command, which will either install or upgrade to the latest pip version:

$ sudo apt-get install python-pip python-dev   # for Python 2.7
$ sudo apt-get install python3-pip python3-dev # for Python 3.n

2.) SpeechRecognition 2.1.3

pip install SpeechRecognition

3.) face_recognition 0.1.6

You can install this module from pypi using pip3 (or pip2 for Python 2):

$ pip3 install face_recognition

It’s very likely that you will run into problems when pip tries to compile the dlib dependency. If that happens, check out this guide to installing dlib from source instead to fix the error:

How to install dlib from source

After manually installing dlib, try running pip3 install face_recognition again.

3.) Tensorflow

Install TensorFlow by invoking one of the following commands:

$ pip install tensorflow      # Python 2.7; CPU support (no GPU support)
$ pip3 install tensorflow     # Python 3.n; CPU support (no GPU support)
$ pip install tensorflow-gpu  # Python 2.7;  GPU support
$ pip3 install tensorflow-gpu # Python 3.n; GPU support

4.) dlib

Install dlib prerequisites

The dlib library only has four primary prerequisites: Boost Boost.Python CMake X11/XQuartx

Installing CMake, Boost, Boost.Python, and X11 can be accomplished easily with apt-get :

$ sudo apt-get install build-essential cmake
$ sudo apt-get install libgtk-3-dev
$ sudo apt-get install libboost-all-dev

$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py

Install dlib with Python bindings

The dlib library doesn’t have any real Python prerequisites, but if you plan on using dlib for any type of computer vision or image processing, I would recommend installing:

  • NumPy
  • SciPy
  • scikit-image

These packages can be installed via pip :

$ pip install numpy
$ pip install scipy
$ pip install scikit-image

Years ago, we had to compile dlib manually from source (similar to how we install OpenCV). However, we can now use pip to install dlib as well:

$ pip install dlib

Citation

If you use this code for your publications, please cite it as:

@ONLINE{vdtc,
    author = "Ahmet Özlü",
    title  = "AIPA (A.I. Personal Assistant)",
    year   = "2017",
    url    = "https://github.com/ahmetozlu/aipa"
}

Author

Ahmet Özlü

License

This system is available under the MIT license. See the LICENSE file for more info.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].