# Cross-Lingual Transfer Learning-Based Sentiment Analysis for Low-Resource Languages
## đź“‹ Overview
This project implements a sophisticated **cross-lingual transfer learning approach** for sentiment analysis that leverages high-resource languages (English, Spanish, French, Hindi, German, Arabic) to perform sentiment analysis on low-resource languages including Bengali, Odia, Afrikaans, Malay, and Urdu.
The system uses **language similarity graphs** to intelligently select the most linguistically similar high-resource language for each low-resource language input, ensuring optimal transfer learning performance.
## ✨ Key Features
- **Multi-Language Support**: Analyzes sentiment for 11+ languages across multiple scripts
- **Intelligent Language Matching**: Uses NetworkX-based language similarity graphs to find optimal high-resource language matches
- **Automatic Language Detection**: FastText-based language identification
- **Multi-Model Architecture**: Specialized BERT-based sentiment models for different languages
- **Web Interface**: Flask-based application with user authentication and sentiment logging
- **Translation Pipeline**: Automatic translation to matched high-resource languages using Google Translate
- **Database Logging**: Tracks all sentiment analysis results with timestamps and user information
## 🗣️ Supported Languages
### High-Resource Languages (Primary Models)
- **English** (en)
- **Spanish** (es)
- **French** (fr)
- **Hindi** (hi)
- **German** (de)
- **Arabic** (ar)
### Low-Resource Languages (Transfer Learning)
- **Bengali** (bn)
- **Odia** (or)
- **Afrikaans** (af)
- **Malay** (ms)
- **Urdu** (ur)
## 🏗️ Architecture
```
Low-Resource Input (e.g., Odia)
↓
[Language Detection] (FastText)
↓
[Language Similarity Graph]
↓
[Find Optimal High-Resource Match]
↓
[Automatic Translation]
↓
[Language-Specific BERT Model]
↓
[Sentiment Classification] (Positive/Negative/Neutral)
↓
[Database Logging & Result Display]
```
## 📊 Sentiment Classification …