| model_card_content = """ | |
| # **FinBERT Fine-Tuned on Financial Sentiment (Financial PhraseBank + GitHub Dataset)** | |
| --- | |
| language: "en" | |
| tags: | |
| - deep-learning | |
| - transformers | |
| - huggingface | |
| license: "mit" | |
| datasets: | |
| - my_dataset | |
| model-name: "my_model" | |
| --- | |
| ## **📌 Model Description** | |
| This model is a fine-tuned version of **FinBERT** (`ProsusAI/finbert`) trained for **financial sentiment classification**. | |
| It can classify financial text into **three categories**: | |
| - **Negative (0)** | |
| - **Neutral (1)** | |
| - **Positive (2)** | |
| ## **📂 Dataset Used** | |
| This model was trained on: | |
| ✅ **Financial PhraseBank (All Agree)** - A widely used financial sentiment dataset. | |
| ✅ **GitHub Generated Sentiment Dataset** - An additional dataset to improve generalization. | |
| ## **⚙️ Training Parameters** | |
| | Parameter | Value | | |
| |---------------------|--------| | |
| | Model Architecture | FinBERT (based on BERT) | | |
| | Batch Size | 8 | | |
| | Learning Rate | 2e-5 | | |
| | Epochs | 3 | | |
| | Optimizer | AdamW | | |
| | Evaluation Metric | F1-Score, Accuracy | | |
| ## **📊 Model Performance** | |
| | Dataset | Accuracy | F1 (Weighted) | Precision | Recall | | |
| |-----------------|----------|--------------|------------|---------| | |
| | Financial PhraseBank (Train) | 95.21% | 95.23% | 95.32% | 95.21% | | |
| | GitHub Test Set | 64.42% | 64.34% | 70.52% | 64.42% | | |
| ## **🚀 Intended Use** | |
| This model is designed for: | |
| ✅ **Financial Analysts & Investors** to assess sentiment in earnings reports, news, and stock discussions. | |
| ✅ **Financial Institutions** for NLP-based sentiment analysis in automated trading. | |
| ✅ **AI Researchers** exploring financial NLP models. | |
| ## **⚠️ Limitations** | |
| ⚠️ **May not generalize well to datasets with very different financial language.** | |
| ⚠️ **Might require fine-tuning for specific financial domains (crypto, banking, startups).** | |
| ## **📥 Usage Example** | |
| You can use the model via Hugging Face Transformers: | |
| ```python | |
| from transformers import AutoModelForSequenceClassification, AutoTokenizer | |
| model_name = "your-username/finbert-finetuned-github" | |
| # Load model and tokenizer | |
| model = AutoModelForSequenceClassification.from_pretrained(model_name) | |
| tokenizer = AutoTokenizer.from_pretrained(model_name) | |
| # Example input | |
| text = "The company's stock has seen significant growth this quarter." | |
| # Tokenize and predict | |
| inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True, max_length=128) | |
| outputs = model(**inputs) | |
| # Get predicted class | |
| predicted_class = outputs.logits.argmax().item() | |
| print(f"Predicted Sentiment: {['Negative', 'Neutral', 'Positive'][predicted_class]}") | |