| # π§ SentimentClassifier-BERT-RegulatoryCompliance | |
| A **BERT-based** sentiment analysis model fine-tuned on regulatory feedback and compliance-related text. This model classifies input text into **Positive**, **Neutral**, or **Negative**, making it well-suited for analyzing complaints, formal feedback, and regulatory communication. | |
| --- | |
| ## β¨ Model Highlights | |
| - π Based on [`bert-base-uncased`](https://huggingface.co/bert-base-uncased) | |
| - π Fine-tuned on a custom dataset of labeled regulatory feedback | |
| - β‘ Supports prediction of **3 classes**: Positive, Neutral, Negative | |
| - π§ Built using **Hugging Face Transformers** and **PyTorch** | |
| --- | |
| ## π§ Intended Uses | |
| - β Regulatory and compliance feedback classification | |
| - β Complaint monitoring and triaging | |
| - β Customer sentiment analysis for compliance departments | |
| --- | |
| ## π« Limitations | |
| - β Not optimized for multi-language input (English only) | |
| - π Input longer than 128 tokens will be truncated | |
| - π€ Model may misinterpret informal or slang language | |
| - β οΈ Not intended to replace expert human judgment in legal matters | |
| --- | |
| ## ποΈββοΈ Training Details | |
| | Attribute | Value | | |
| |-------------------|------------------------------------| | |
| | Base Model | `bert-base-uncased` | | |
| | Dataset | Custom `.txt` file with feedbacks | | |
| | Labels | Negative (0), Neutral (1), Positive (2) | | |
| | Max Token Length | 128 | | |
| | Epochs | 3 | | |
| | Batch Size | 16 | | |
| | Optimizer | AdamW | | |
| | Loss Function | CrossEntropyLoss | | |
| | Framework | PyTorch + Transformers | | |
| | Hardware | CUDA-enabled GPU | | |
| --- | |
| ## π Evaluation Metrics | |
| | Metric | Score | | |
| |-----------|-------| | |
| | Accuracy | 0.84 | | |
| | Precision | 0.85 | | |
| | Recall | 0.84 | | |
| | F1 Score | 0.85 | | |
| --- | |
| ## π Label Mapping | |
| | Label ID | Sentiment | | |
| |----------|-----------| | |
| | 0 | Negative | | |
| | 1 | Neutral | | |
| | 2 | Positive | | |
| --- | |
| ## π Usage | |
| ```python | |
| from transformers import AutoTokenizer, AutoModelForSequenceClassification | |
| import torch | |
| import torch.nn.functional as F | |
| model_name = "your-username/sentiment-bert-regulatory-compliance" | |
| tokenizer = AutoTokenizer.from_pretrained(model_name) | |
| model = AutoModelForSequenceClassification.from_pretrained(model_name) | |
| model.eval() | |
| def predict(text): | |
| inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True, max_length=128) | |
| with torch.no_grad(): | |
| outputs = model(**inputs) | |
| probs = F.softmax(outputs.logits, dim=1) | |
| pred = torch.argmax(probs, dim=1).item() | |
| label_map = {0: "Negative", 1: "Neutral", 2: "Positive"} | |
| return f"Sentiment: {label_map[pred]} (Confidence: {probs[0][pred]:.2f})" | |
| # Example | |
| print(predict("The issue was resolved promptly and professionally.")) | |
| ``` | |
| ## π Repository Structure | |
| ``` | |
| bash | |
| Copy | |
| Edit | |
| . | |
| βββ model/ # Fine-tuned model files (pytorch_model.bin, config.json) | |
| βββ tokenizer/ # Tokenizer config and vocab | |
| βββ training_script.py # Training code | |
| βββ feedbacks.txt # Source dataset | |
| βββ README.md # Model card | |
| ``` | |
| ## π€ Contributing | |
| Contributions are welcome! Feel free to open an issue or pull request to improve the model or its documentation. | |