Welcome to the Arabic Sentiment Analysis project powered by AraBERT! This repository contains an end-to-end Natural Language Processing (NLP) project that focuses on analyzing sentiment in Arabic text. Leveraging the power of AraBERT, a state-of-the-art language model for the Arabic language, we have built a robust sentiment analysis system capable of understanding and classifying emotions within Arabic text.
Sentiment analysis is a fascinating area of NLP that involves understanding and classifying the emotions expressed in a given text. It allows us to determine whether a piece of text conveys a positive, negative, or neutral sentiment, providing valuable insights into public opinion, customer feedback, and more.
- User-friendly web interface.
- Analyze text reviews to determine sentiment.
- Outputs sentiment classification (Positive/Negative) and confidence percentage.
We have implemented data ingestion functionalities to fetch Arabic text data from MongoDB, making it easy to work with large datasets efficiently.
Prior to model training, we perform data validation and transformation to ensure the dataset is clean, balanced, and suitable for training the sentiment analysis model.
We fine-tuned the ARBERT model using a large dataset of labeled Arabic text for sentiment analysis. This ensures that the model can accurately capture the nuances of sentiment in Arabic language content.
The fine-tuned model undergoes extensive training using the prepared dataset. We evaluate the model's performance using various metrics to assess its accuracy and generalization capabilities.
Once the model training and evaluation are complete, we implement a model pusher component that allows for easy deployment of the trained model to the web application.
We have developed a FastAPI web service that serves as the backbone of our sentiment analysis application. The web app interacts with the sentiment analysis model and allows users to input Arabic text to obtain sentiment analysis results in real time.
- Clone the Repository
git clone https://github.com/AhmedRabie01/Arabic-Sentiment-Analysis-using-Arabic-BERT.git
- Set Up Virtual Environment
conda create --name myenv -c conda-forge python=3.11
- Activate your Environment
Conda activate -name of your Environment-
- Install Dependencies
pip install -r requirements.txt
- Start the Application
uvicorn main:app --reload
- If you need to train the model you should set up MongoDB and provide the necessary connection details in the configuration files to enable data ingestion if you need to trian the model
I welcome contributions from the community!
Let's unlock the power of Arabic BERT for sentiment analysis together! Happy analyzing! 🚀
Disclaimer: This project is for research and educational purposes only. The provided sentiment analysis results may not be 100% accurate and should be used with caution in critical applications.