🤖 Your personal AI friend.
Anees is an Arabic chatbot that can speak to users on different topics or an open-domain multi-turn conversation rather than a specific domain. Anees is your personal AI friend that you can express and witness yourself through a helpful and empathetic conversation.
Demo 1 | Demo 2 |
---|---|
demo.1.mp4 |
demo.2.mp4 |
Anees consists of 6 major modules that need to be understood before implementing such a thing. The modules are natural language understanding, emotion classification, intent classification, weather/schedule, recommendation, and natural language generation. Apart from that, there is a connection between each module and the other. Each of these modules is described in detail in the project documentation, how they are all connected to each other, and how they represent the system architecture.
We used different datasets for each module that suit the purpose of the module. Some of the used datasets are ANERcorp, MovieLens 25M, and Arramooz. You can find the datasets used to fine-tune the GPT-2 model in this repository.
To install and run the project:
-
For the modules, you need to install Docker, Docker Compose, and
- Build the image:
docker-compose build
- Run the image:
docker-compose run
-
For the client, you need to install Node.js, Expo, and then:
- Install the dependencies:
npm install
- Run the client:
npm start
- Choose between running the client through an emulator or directly on your phone. Also, you can build an APK version for Android using:
expo build:android -t apk
or for iOS:
expo build:ios -t archive
-
Alos, we provided interactive notebooks for each module that you can use to train, visualize, or have an idea of the implementation details.
Remember to update
config.py
with your OpenWeatherMap API keys.
Ahmed Ashraf |
Ahmed Sherif |
Ahmed Magdy |
Abdelrhman Fdl |
This is our graduation project for a Bachelor of Science degree in Computer Engineering from Cairo University, in 2022.