CoolFace
Modelpublic

michaelmanurung/finbert-indonesia

sourceHugging Facemitupdated 5mo agoView on Hugging Face
0likes613downloads
Model Card

๐Ÿ‡ฎ๐Ÿ‡ฉ FinBERT Indonesia โ€” Sentiment Classification for Financial News in Bahasa Indonesia

This model is a fine-tuned version of `ProsusAI/finbert` on a custom dataset of ~500 financial news headlines written in Bahasa Indonesia. The task is 3-class sentiment classification: positive, neutral, and negative.


๐Ÿš€ Live Demo

Try it here: https://huggingface.co/spaces/michaelmanurung/finbert-indonesia-demo

๐Ÿ—๏ธ Model Architecture

The base model is FinBERT, which itself is a BERT model pre-trained on financial texts. It has been fine-tuned using the Hugging Face transformers library with the following modifications:

  • โ€”Multilingual financial context adaptation via custom labeled data in Bahasa Indonesia
  • โ€”Classification head for 3 sentiment labels

๐Ÿงพ Dataset

The training dataset consists of 500 manually labeled financial news titles from Indonesian sources. Each entry is categorized as:

  • โ€”positive โ€“ bullish or growth-related headlines
  • โ€”neutral โ€“ factual or event-based reporting
  • โ€”negative โ€“ bearish or risk-indicative headlines

Example:

TitleLabel
IHSG diperkirakan rebound minggu inipositive
BI umumkan suku bunga tetapneutral
Rupiah melemah terhadap dolar ASnegative

๐Ÿงช Evaluation

Evaluation was conducted on the intanm/indonesian-financial-sentiment-analysis benchmark dataset using accuracy, F1 score, precision, and recall metrics.

The benchmark compares:

  • โ€”michaelmanurung/finbert-indonesia (Indonesian financial sentiment model)
  • โ€”ProsusAI/finbert (English financial sentiment model)
  • โ€”ayameRushia/bert-base-indonesian-1.5G-sentiment-analysis-smsa (general Indonesian sentiment model)
ModelAccuracyF1 ScorePrecisionRecall
michaelmanurung/finbert-indonesia0.2990.2760.3470.299
ProsusAI/finbert0.2850.1340.5600.285
ayameRushia/bert-base-indonesian-1.5G-sentiment-analysis-smsa0.3340.2380.6690.334
Metrics are reported using weighted averaging.

๐Ÿงช Usage

python
from transformers import pipeline

classifier = pipeline(
    "text-classification",
    model="michaelmanurung/finbert-indonesia",
    tokenizer="michaelmanurung/finbert-indonesia"
)

result = classifier("IHSG turun tipis karena aksi ambil untung investor.")
print(result)
# Output: [{'label': 'LABEL_2', 'score': 0.89}] -> e.g. 'positive'