Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aashrafh/anees
Multi-turn open-domain Arabic chatbot with a wide set of features.
https://github.com/aashrafh/anees
anees arabic-dialects arabic-nlp chatbot chatbots dialogue-generation gpt-2 multi-turn-dialogue natural-language-understanding nlp
Last synced: 24 days ago
JSON representation
Multi-turn open-domain Arabic chatbot with a wide set of features.
- Host: GitHub
- URL: https://github.com/aashrafh/anees
- Owner: aashrafh
- License: mit
- Created: 2022-03-05T16:41:50.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-08-29T00:20:30.000Z (about 1 year ago)
- Last Synced: 2024-10-03T12:37:28.088Z (about 1 month ago)
- Topics: anees, arabic-dialects, arabic-nlp, chatbot, chatbots, dialogue-generation, gpt-2, multi-turn-dialogue, natural-language-understanding, nlp
- Language: Jupyter Notebook
- Homepage:
- Size: 118 MB
- Stars: 37
- Watchers: 1
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
:robot: Your personal AI friend.
---
# Anees
**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.## 📝 Table of Contents
- [Demo](#demo)
- [Architecture](#arch)
- [Datasets](#datasets)
- [Installation](#install)
- [Technology](#tech)Demo 1 | Demo 2
:-: | :-:
|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](https://github.com/aashrafh/Anees/blob/rest/Anees%20Document.pdf), how they are all connected to each other, and how they represent the system architecture.
![architecture](https://user-images.githubusercontent.com/40968967/180667782-8d183eb9-ca4d-4ff2-b774-8a6afa15f2b0.png)
We used different datasets for each module that suit the purpose of the module. Some of the used datasets are [ANERcorp](https://camel.abudhabi.nyu.edu/anercorp/), [MovieLens 25M](https://grouplens.org/datasets/movielens/25m/), and [Arramooz](https://github.com/linuxscout/arramooz). You can find the datasets used to fine-tune the GPT-2 model in [this repository](https://github.com/aashrafh/anees-dataset).
To install and run the project:
- For the modules, you need to install [Docker](https://docs.docker.com/engine/install/), [Docker Compose](https://docs.docker.com/compose/install/), and
1. Build the image:
```py
docker-compose build
```
2. Run the image:
```py
docker-compose run
```
- For the client, you need to install [Node.js](https://nodejs.org/en/download/), [Expo](https://docs.expo.dev/get-started/installation/), and then:
1. Install the dependencies:
```py
npm install
```
2. Run the client:
```py
npm start
```
3. Choose between running the client through an emulator or directly on your phone. Also, you can build an APK version for Android using:
```py
expo build:android -t apk
```
or for iOS:
```py
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`](https://github.com/aashrafh/Anees/blob/main/modules/config.py) with your [OpenWeatherMap](https://openweathermap.org/) API keys.
## ⛏️ Built Using
- [Python](https://www.python.org/)
- [PyTorch](https://pytorch.org/)
- [scikit-learn](https://scikit-learn.org/stable/)
- [MongoDB](https://www.mongodb.com/)
- [Flask](https://flask.palletsprojects.com/en/2.1.x/)
- [React Native](https://reactnative.dev/)
- [Expo](https://expo.dev/)## Collaboraters
Ahmed Ashraf
Ahmed Sherif
Ahmed Magdy
Abdelrhman Fdl
## AcknowledgmentThis is our graduation project for a Bachelor of Science degree in Computer Engineering from Cairo University, in 2022.