This model classifies financial headlines and tweets into four aspect categories: Corporate, Economy, Market, and Stock.
ABSA-FinBERT is a fine-tuned version of
ProsusAI/finbert for Level-1 aspect classification on the FiQA dataset. The model was trained with class-weighted cross-entropy loss to address extreme class imbalance in the training data.
This work is motivated by
Yang et al. (2018), "Financial Aspect-Based Sentiment Analysis using Deep Representations," which demonstrated that financial text often contains multi-dimensional information requiring aspect-level analysis.
Trained on the
FiQA dataset (WWW'18 Open Challenge), with Level-1 aspect labels extracted from hierarchical annotations.
Due to extreme imbalance, inverse frequency weights were used: Corporate (0.65), Economy (59.94), Market (9.22), Stock (0.43).
1from transformers import AutoTokenizer, AutoModelForSequenceClassification
2import torch
3
4tokenizer = AutoTokenizer.from_pretrained("your-username/absa-finbert")
5model = AutoModelForSequenceClassification.from_pretrained("your-username/absa-finbert")
6
7# Label mapping
8id2label = {0: "Corporate", 1: "Economy", 2: "Market", 3: "Stock"}
9
10# Example inference
11text = "How Kraft-Heinz Merger Came Together in Speedy 10 Weeks"
12inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=128)
13outputs = model(**inputs)
14prediction = torch.argmax(outputs.logits, dim=-1).item()
15
16print(f"Aspect: {id2label[prediction]}") # Output: Corporate
1@misc{absa-finbert-2025,
2 title={ABSA-FinBERT: Aspect Classification for Financial Text},
3 author={Cirillo, Nick and Memon, Suha and Truong, Kalen and Zhang, Bruce},
4 year={2025},
5 howpublished={\url{https://huggingface.co/your-username/absa-finbert}}
6}