Back to featured work
Arabic NLP · Sentiment SystemsDeployed

JorSenti-LoRA

Handle Jordanian and Levantine sentiment analysis where slang, sarcasm, and neutral sentiment routinely break generic Arabic classifiers.

Jordanian ArabicMARBERTv2LoRA / PEFTWeighted lossMLflowDockerizedHugging Face Spaces

Local project explainer

Ask about this system

A local, predefined assistant for the documented details in JorSenti-LoRA.

Problem

What this project had to solve

Generic Arabic sentiment models struggle with Jordanian slang, sarcasm, and class imbalance, especially when the neutral class gets ignored. This project focuses on making sentiment classification behave better on local Talabat-style language.

Role / contribution

What I owned in the system

Project author responsible for the adaptation strategy, training setup, experiment tracking, and deployment packaging described in the repository.

Technical implementation

How the system is built

The model stack adapts MARBERTv2 with PEFT/LoRA so the training path stays practical on local hardware while remaining specialized for the task.

A weighted cross-entropy loss is used to push the model to respect the neutral class instead of collapsing toward majority sentiment behavior.

The repository documents experiment tracking with MLflow and packages the live interface for deployment on Hugging Face Spaces.

Architecture flow

System flow from input to output

Step 01

Review pipeline

What happens

Talabat-style review data is prepared to expose dialect-heavy customer language.

Why it matters

The input pipeline determines whether the model actually sees the slang-heavy language the project is trying to handle.

Related tools

No explicit tool is called out for this step in the shared project data.

Engineering decisions

Tradeoffs that shaped the build

Use LoRA instead of full fine-tuning

Parameter-efficient adaptation keeps the training path practical while still specializing the model.

Bias optimization toward neutral recall

Weighted loss is a targeted fix for the exact failure mode the README calls out.

Treat deployment as part of the project

The repo goes beyond training by packaging a live interface and MLOps workflow.

Stack

Core tools and system layers

PythonPyTorchMARBERTv2LoRA / PEFTMLflowDockerStreamlitHugging Face Spaces