/ Модель

Характеристики

Контекст
512 токенов
Параметры
137 млн
Лицензия
MIT
Архитектура
bert · dense
Базовая модель
finbert
Опубликована
11 апр 2026

finbert-sentfin

Классификация текстаТекст → label3 профессии

Дообученный FinBERT классифицирует тональность англоязычных заголовков индийских финансовых новостей как положительную, отрицательную или нейтральную.

125скачиваний за 30 дней0лайковвеса обновлены11 апр 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Модель tahp0604/finbert-sentfin — англоязычный классификатор тональности финансовых новостных заголовков Индии, созданный дообучением ProsusAI/finbert на наборе SEntFiN 1.0. Это плотная BERT-модель для классификации последовательностей с 136,7 млн параметров и контекстом до 512 токенов; на практике она оптимизирована для коротких заголовков длиной до 128 токенов. Модель присваивает тексту одну из трёх меток: положительную, отрицательную или нейтральную.

Она предназначена для оценки тональности новостей об индийских компаниях и акциях NSE/BSE, а также для использования в контурах анализа финансовых сигналов. По данным карточки, на отложенной выборке индийских финансовых заголовков модель достигла F1 0,873. Репозиторий содержит веса в формате safetensors; лицензия — MIT.

Обучающие примеры — заголовки Economic Times и Moneycontrol за 2002–2017 годы, связанные с компаниями NSE500. Модель может хуже работать с новыми финансовыми инструментами и регуляторной терминологией, полными статьями, товарами, валютами и глобальными рынками; её оценки не следует считать самостоятельной основой для инвестиционных решений.

Сценарии применения

  • оценка тональности заголовков новостей об индийских акциях
  • анализ новостей о компаниях NSE500
  • сопоставление финансовых новостей с сигналами по акциям NSE и BSE
  • подготовка меток тональности для финансовой аналитики

Ограничения

Модель обучена на заголовках 2002–2017 годов и может хуже справляться с современной терминологией, полными статьями, товарами, валютами и глобальными рынками. Её оценки не предназначены для самостоятельного принятия инвестиционных решений.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

finbert-sentfin

FinBERT fine-tuned on SEntFiN 1.0 — Indian financial news sentiment classification.

Fine-tuned from ProsusAI/finbert on the SEntFiN 1.0 dataset of human-annotated Indian financial news headlines sourced from the Economic Times and Moneycontrol, covering NSE500-listed companies.

Why This Model

ProsusAI/finbert was trained primarily on US/EU financial text (SEC filings, financial news wire). On Indian financial headlines it scores approximately F1 = 0.76. This model addresses that domain gap by fine-tuning on 9,514 expert-annotated Indian financial headlines, achieving F1 = 0.873 on a held-out validation set — a +11% improvement on Indian financial text.

Model Details

PropertyValue
Base modelProsusAI/finbert
ArchitectureBERT-base (110M parameters)
Task3-class sentiment classification
Labelspositive (0), negative (1), neutral (2)
Training dataSEntFiN 1.0 — 8,086 samples
Validation dataSEntFiN 1.0 — 1,428 samples
Best epoch3 / 4
F1 weighted0.873
Accuracy0.873
Training hardwareKaggle T4 GPU (fp16)

Training Configuration

TrainingArguments(
    num_train_epochs=4,
    per_device_train_batch_size=32,
    learning_rate=2e-5,
    warmup_steps=100,
    weight_decay=0.01,
    fp16=True,
    load_best_model_at_end=True,
    metric_for_best_model="f1_weighted",
)

Per-Class Results (Validation Set)

ClassPrecisionRecallF1Support
positive0.910.860.89504
negative0.870.890.88407
neutral0.840.870.86517
weighted avg0.870.870.871428

Dataset

SEntFiN 1.0 (paper, GitHub) is a human-annotated dataset of 10,753 financial news headlines with entity-sentiment annotations, covering 920 companies in the NSE500 index (2002–2017). Headlines were sourced from the Economic Times and Moneycontrol.

Preprocessing applied:

  • Headlines with multiple entities having conflicting sentiments were dropped (1,239 rows)
  • Remaining 9,514 rows used for training
  • Stratified 85/15 train/validation split

Usage

from transformers import pipeline

pipe = pipeline(
    "text-classification",
    model="tahp0604/finbert-sentfin",
)

headlines = [
    "Reliance Industries posts record quarterly profit",
    "HDFC Bank shares fall 4% after RBI penalty",
    "TCS Q4 results in line with analyst estimates",
]

for h in headlines:
    result = pipe(h)[0]
    print(f"[{result['label'].upper():8s} {result['score']:.2f}]  {h}")

Output:

[POSITIVE 0.94]  Reliance Industries posts record quarterly profit
[NEGATIVE 0.91]  HDFC Bank shares fall 4% after RBI penalty
[NEUTRAL  0.83]  TCS Q4 results in line with analyst estimates

Direct inference

import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification

tokenizer = AutoTokenizer.from_pretrained("tahp0604/finbert-sentfin")
model     = AutoModelForSequenceClassification.from_pretrained("tahp0604/finbert-sentfin")
model.eval()

def predict(text):
    inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=128)
    with torch.no_grad():
        probs = torch.softmax(model(**inputs).logits, dim=-1)[0]
    idx   = int(probs.argmax())
    label = model.config.id2label[idx]
    return label, float(probs[idx])

label, confidence = predict("Infosys raises revenue guidance for FY26")
print(f"{label} ({confidence:.2f})")  # positive (0.89)

Label Mapping

id2label = {0: "positive", 1: "negative", 2: "neutral"}
label2id = {"positive": 0, "negative": 1, "neutral": 2}

This is identical to ProsusAI/finbert — the model is a drop-in replacement.

Intended Use

  • Sentiment scoring of Indian financial news headlines
  • NSE/BSE stock news sentiment analysis
  • Component in financial signal fusion pipelines

Limitations

  • Trained on headlines from 2002–2017 — may not capture terminology from newer financial instruments or recent regulatory changes
  • Optimised for short headlines (≤ 128 tokens) — performance may degrade on full article text
  • Covers Indian equities (NSE500) — may underperform on commodities, currencies, or global markets
  • Not intended for investment decisions

Citation

If you use this model, please cite the SEntFiN dataset:

@article{sinha2022sentfin,
  title={SEntFiN 1.0: Entity-Aware Sentiment Analysis for Financial News},
  author={Sinha, Ankur and Kedas, Satishwar and Kumar, Rishu and Malo, Pekka},
  journal={Journal of the Association for Information Science and Technology},
  volume={73},
  number={9},
  pages={1314--1335},
  year={2022}
}

@article{araci2019finbert,
  title={FinBERT: Financial Sentiment Analysis with Pre-Trained Language Models},
  author={Araci, Dogu},
  journal={arXiv preprint arXiv:1908.10063},
  year={2019}
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · text-classification

Можно запустить

Подбираем GPU…

Класс архитектуры
BertForSequenceClassification
Ревизия весов
2e1df5c

0 моделей