← all repositories
yya518/FinBERT

When your NLP model needs an MBA

FinBERT pre-trains BERT on 4.9 billion tokens of financial text—corporate 10-K and 10-Q filings, earnings calls, and analyst reports—so it can handle sentiment, ESG, and forward-looking statement classification without choking on industry jargon.

660 stars Jupyter Notebook Language ModelsDomain Apps
FinBERT
Not currently ranked — collecting fresh signals.
star history

What it does FinBERT is a BERT model pretrained on financial communications—specifically corporate 10-K and 10-Q filings, earnings call transcripts, and analyst reports totaling 4.9 billion tokens. The project provides both pretrained weights and several task-specific fine-tuned models (sentiment, ESG classification, and forward-looking statement detection) via Hugging Face. It is essentially a drop-in replacement for base BERT when your text is full of capitalized accounting terms and investor euphemisms.

The interesting bit Instead of simply feeding more finance text into the standard BERT vocabulary, the authors built FinVocab, a custom WordPiece vocabulary trained on their financial corpora using SentencePiece. The token counts hew surprisingly close to the original BERT vocab sizes, suggesting the financial domain is distinct enough to warrant its own dictionary but not so alien that it breaks the embedding infrastructure.

Key highlights

  • Pretrained on roughly 4.9B tokens: 2.5B from corporate reports, 1.3B from earnings calls, and 1.1B from analyst reports.
  • Four weight variants available, including both cased and uncased versions with the custom FinVocab or the standard BaseVocab.
  • Fine-tuned models hosted on Hugging Face for sentiment analysis, ESG classification, and forward-looking statement (FLS) detection.
  • Repo includes Jupyter notebooks demonstrating both inference and fine-tuning workflows.

Caveats

  • The README claims “state-of-the-art performance” across tasks but offers no specific metrics, baselines, or benchmark names to back it up.
  • The repository itself is mostly demonstration notebooks; the pretrained weights live on SharePoint and the fine-tuned models live on Hugging Face.

Verdict Worth a look if you are building NLP pipelines for finance and need a pretrained model that already understands the difference between “liquidity” and “liquidation.” Skip it if you are looking for a training framework or reproducible benchmark results, because this repo is mostly a model zoo with a notebook attached.

Frequently asked

What is yya518/FinBERT?
FinBERT pre-trains BERT on 4.9 billion tokens of financial text—corporate 10-K and 10-Q filings, earnings calls, and analyst reports—so it can handle sentiment, ESG, and forward-looking statement classification without choking on industry jargon.
Is FinBERT open source?
Yes — yya518/FinBERT is open source, released under the Apache-2.0 license.
What language is FinBERT written in?
yya518/FinBERT is primarily written in Jupyter Notebook.
How popular is FinBERT?
yya518/FinBERT has 660 stars on GitHub.
Where can I find FinBERT?
yya518/FinBERT is on GitHub at https://github.com/yya518/FinBERT.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.