Anjana's update on FinBERT: Why General AI Fails to Understand the Language of Money

General-purpose models like BERT read everyday English well but stumble on financial language, where the same word can mean opposite things depending on context and what it sits next to.

2:45 video2 min readWatch on YouTube

BERT reads context beautifully right up until you hand it an earnings call. Anjana's update on the FinBERT project explains why financial language breaks a general-purpose model like BERT, and what it actually takes to fix that gap.

Why financial English isn't everyday English

BERT is one of the most widely used language models in the world, built to read text and understand context. But financial language doesn't behave like normal English. In everyday language, "exceeded expectations" reads as clearly positive and "significant loss" reads as clearly negative, straightforward stuff. In finance, though, "beat estimates by a narrow margin" is actually cautious language, not celebratory. "Headwinds" has nothing to do with weather. "Adjusted" usually signals that something was removed from a number to make it look better than it otherwise would. The same words carry different weight once money is on the line, and a model trained mainly on general text won't automatically know that.

Fine-tuning the same architecture on new data

FinBERT's fix isn't a new architecture, it's the same BERT architecture fine-tuned on 50,000 financial sentences pulled from earnings calls, analyst reports, and financial news. The structure of the model stays identical; what changes is the weights. Through this fine-tuning, FinBERT learns that the word "decline" sitting next to "revenue" is negative, but the same word next to "expenses" is positive. It learns the difference between what a word means generally and what it means specifically when money is involved.

What happens inside the model

Under the hood, a sentence fed into FinBERT gets split into tokens, and each token becomes an embedding, a vector capturing its meaning. The transformer layers then process all of these tokens in parallel: every token attends to every other token at once, rather than reading strictly left to right. The classification head at the end outputs three probabilities. One sentence goes in, three numbers come out, in about ten milliseconds. Same architecture as general BERT, different training data, and as a result, a genuinely different understanding of what the text means.

Key takeaways

  • Financial language redefines ordinary words: "narrow margin," "headwinds," and "adjusted" all carry meanings that diverge from everyday English.
  • FinBERT keeps BERT's original architecture and fine-tunes it on 50,000 financial sentences from earnings calls, analyst reports, and financial news.
  • The model learns context-dependent meaning, such as "decline" being negative next to revenue but positive next to expenses.
  • Tokens become embeddings, and transformer attention lets every token see every other token at once rather than processing left to right.
  • FinBERT outputs three probabilities per sentence in about ten milliseconds.

Try it yourself

Anjana's closing challenge is worth running for your own field: list five phrases where everyday meaning and specialized meaning genuinely diverge, ask honestly whether the gap is wide enough that a general-purpose AI model would get it wrong, and if so, sketch what a small fine-tuning pass or a sharper prompt would need to cover. This kind of financial NLP work is part of the ongoing Mycroft Financial AI project from Humanitarians AI.

Chapters

  1. 0:00The Context Gap: Why earnings calls break general-purpose BERT.
  2. 0:25Financial Linguistics: Redefining "headwinds," "adjusted," and "narrow margins."
  3. 0:45The Fine-Tuning Process: Same architecture, 50,000 new financial weights.
  4. 1:10Under the Hood: Tokens, embeddings, and parallel attention.
  5. 1:35The Output: Three probabilities in 10 milliseconds.
  6. 1:55Recap: Teaching AI to stop reading words and start reading money.
  7. 2:20Your Turn: Audit your own field for "specialized meaning" gaps with Claude.
Full transcript(auto-generated, with timestamps)

The Context Gap: Why earnings calls break general-purpose BERT.

[0:00]BERT reads context beautifully until you hand it an earnings call. I'm Anjana. Here's why financial language breaks a general-purpose model and what it actually takes to fix it. BERT is one of the most widely used language models in the world. It reads text and understands context, but hand it an earnings call and it gets confused. Financial language does not work like normal English. In

Financial Linguistics: Redefining "headwinds," "adjusted," and "narrow margins."

[0:25]Everyday language, exceeded expectations is positive and significant loss is negative. Straightforward, but in finance, beat estimates by a narrow margin is cautious. Headwinds is not about weather. Adjusted usually means something was removed to make the numbers look better. The same words carry different weight when money is on

The Fine-Tuning Process: Same architecture, 50,000 new financial weights.

[0:46]The line. FinBERT takes the original BERT model and fine-tunes it on 50,000 financial sentences from earnings calls, analyst reports, and financial news. The architecture stays the same. The weights change. It learns that decline next to revenue is negative, but next to expenses is positive. It learns the difference between what words mean in general and what they mean when money is

Under the Hood: Tokens, embeddings, and parallel attention.

[1:10]Involved. Here is what happens when FinBERT reads a sentence. The text splits into tokens. Each one becomes an embedding, a vector that captures its meaning. The transformer layers process these in parallel. Every token attends to every other token at once, not left to right. The classification head outputs three probabilities. One sentence in, three numbers out in about 10 milliseconds. Same architecture,

The Output: Three probabilities in 10 milliseconds.

[1:37]Different training data, different understanding. That is what happens when you teach BERT to read financial statements. It stops reading words. It starts reading money. Let's recap with Claude. Same architecture as BERT, the weights are what changed. Fine-tuned on 50,000 financial sentences.

Recap: Teaching AI to stop reading words and start reading money.

[1:56]Attention lets every token see every other token all at once. One sentence in, three probabilities out in about 10 milliseconds. Your turn. I use a general purpose AI for a task in my field where the everyday meaning of a word and the specialized meaning genuinely diverge. The way narrow margin means something different in finance than it does in conversation. Can you help me? One, list five phrases

Your Turn: Audit your own field for "specialized meaning" gaps with Claude.

[2:21]In my own field where that gap exists. Two, tell me honestly whether the gap is wide enough that a general model would actually get it wrong. And three, if it is, sketch what a small fine-tuning or even just a better prompt would need to cover. Paste that into Claude and find out if your own field has a narrow margin problem hiding in it. Same architecture, sharper reading. That's in Jona.

More from Mycroft Financial AI

Humanitarians AI Lyrical Literacy Project