Assamese Sentiment Analysis — SVM Baseline
This repository contains a classic Support Vector Machine (SVM) model optimized for binary sentiment analysis on Assamese textual reviews. It serves as a foundational machine learning baseline to benchmark and assess the performance improvements offered by custom deep learning architectures and pre-trained transformer language models.
Model Summary
- Model Architecture: Linear Support Vector Classification (
LinearSVCwrapped inCalibratedClassifierCV) - Task: Binary Sentiment Classification
- Language: Assamese (
as) - Developer: Avinabh Dutta
- Primary Framework: scikit-learn
- Top Performance: 85.04% Accuracy | 0.8366 Macro F1
Architecture & Configuration
The baseline pipeline relies on traditional machine learning text representation techniques:
- Feature Extraction: TF-IDF Vectorization (maps unstructured Assamese text sequences into numerical feature arrays based on corpus-wide statistical weighting).
- Classifier Engine:
LinearSVCfromscikit-learnusing a Linear Kernel. - Probability Calibration: The core SVM classifier is wrapped inside a
CalibratedClassifierCVblock to generate calibrated posterior probabilities, enabling accurate ROC-AUC continuous curve assessments. - Persistence Format: The pipeline components are serialized and saved via joblib.
Performance & Evaluation Metrics
As a baseline, the model demonstrated solid foundational accuracy, completing the evaluation phase with the following exact metrics:
| Metric | Score | Percentage |
|---|---|---|
| Accuracy | 0.850389 |
85.04% |
| Macro F1-Score | 0.836560 |
83.66% |
| Macro Precision | 0.843188 |
84.32% |
| Macro Recall | 0.831493 |
83.15% |
| ROC-AUC | 0.931350 |
93.14% |
| Cohen's Kappa | 0.673386 |
67.34% |
Dataset Overview
The dataset consists of localized social media commentaries, media assessments, and audience reviews covering drama (নাটক) and cultural content in Assamese.
- Target Classes: Binary Classification (
0: Negative,1: Positive).
How to Use
Because this is a classic machine learning pipeline saved with joblib, you can load and run inference natively using Python and scikit-learn:
import joblib
# Load the saved SVM model pipeline (including the TF-IDF vectorizer)
model_pipeline = joblib.load("assamese_sentiment_svm.joblib")
# Example Assamese text
sample_text = ["চলচ্চিত্ৰখনৰ কাহিনী আৰু অভিনয় অতি সুন্দৰ হৈছে।"]
# Predict sentiment class and probabilities
prediction = model_pipeline.predict(sample_text)
probabilities = model_pipeline.predict_proba(sample_text)
print(f"Prediction: {prediction}")
print(f"Probabilities: {probabilities}")
Limitations & Comparative Context
This SVM baseline model provides essential comparative context for evaluating more advanced neural architectures. However, it suffers from several structural limitations inherent to classic machine learning techniques:
- Strict Bag-of-Words Reliance: Because the TF-IDF vectorizer maps tokens into static, frequency-based vector coordinates, the model is completely blind to word order, long-range semantic syntax, and spatial discourse transitions.
- Vulnerability to Morphological Shifts: The architecture struggles significantly with Assamese language variations, structural morphology shifts, and implicit sentiment alterations—nuances that deep learning layers and transformer attention mechanisms process natively.
Citation & Contact
If you use this model or refer to this work in your research, please link back to this Hugging Face repository or the GitHub project repository. If you use this model, please cite the associated preprint:
Dev, C., Baishya, B., Dey, N., Dutta, A., & Dutta, S. (2026). Sentiment Analysis of Assamese Reviews using Transfer Learning Models. Preprint. https://doi.org/10.2139/ssrn.6357982
Evaluation results
- Accuracy on Assamese Movie & Media Reviewsself-reported0.850
- Macro F1 on Assamese Movie & Media Reviewsself-reported0.837
- Macro Precision on Assamese Movie & Media Reviewsself-reported0.843
- Macro Recall on Assamese Movie & Media Reviewsself-reported0.831
- ROC-AUC on Assamese Movie & Media Reviewsself-reported0.931