/ Модель

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

Контекст
512 токенов
Параметры
15,6 млн
Архитектура
bert · dense
Опубликована
1 июл 2025

finance-sentiment-analysis

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

Компактная модель TinyBERT определяет отрицательную, нейтральную или положительную тональность финансовых новостей на английском языке.

380скачиваний за 30 дней0лайковвеса обновлены1 июл 2025

Бенчмарки

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

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

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

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

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

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

TinyBERT Financial News Sentiment Analysis — компактная модель классификации текста, опубликованная mikeysharma и дообученная на финансовых новостях. Она относит текст к одному из трёх классов: отрицательная, нейтральная или положительная тональность. Модель построена на архитектуре TinyBERT с 4 слоями и размерностью скрытого состояния 312; в метаданных указаны 15,6 млн параметров и формат ONNX. Контекст модели — до 512 токенов, а рекомендуемая длина входа в карточке — до 128 токенов.

Модель предназначена прежде всего для анализа заголовков финансовых новостей на английском языке. В README заявлены точность 89,2% и F1 0,87; это показатели из карточки, их применимость зависит от данных и условий оценки. Указана предобработка с приведением к нижнему регистру, нормализацией тикеров, удалением URL и усечением текста. Лицензия в предоставленных данных не указана.

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

  • оценка тональности заголовков финансовых новостей
  • поиск негативных сообщений о компаниях и активах
  • выявление позитивных рыночных новостей
  • сортировка новостной ленты по тональности
  • анализ тональности коротких финансовых текстов

Ограничения

Лучше всего работает на коротких финансовых заголовках; на нефинансовых текстах качество может снижаться, а сарказм и ирония могут распознаваться неверно. Не следует использовать её как единственное основание для инвестиционных решений.

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

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

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

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

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

Открыть на Hugging Face

TinyBERT Financial News Sentiment Analysis

Hugging Face License: MIT

A lightweight TinyBERT model fine-tuned for financial news sentiment analysis, achieving 89% accuracy with < 60MB model size and <50ms CPU inference latency.

Model Details

  • Model Type: Text Classification (Sentiment Analysis)
  • Architecture: TinyBERT (4-layer, 312-hidden)
  • Pretrained Base: huawei-noah/TinyBERT_General_4L_312D
  • Fine-tuned Dataset: Financial news headlines with sentiment labels
  • Input: Financial news text (max 128 tokens)
  • Output: Sentiment classification (Negative/Neutral/Positive)

Performance

MetricValue
Accuracy89.2%
F1-Score0.87
Model Size54.84MB
CPU Latency28ms
Quantized Size5.3MB

Usage

Direct Inference with Pipeline

from transformers import pipeline

classifier = pipeline(
    "text-classification", 
    model="mikeysharma/finance-sentiment-analysis"
)

result = classifier("$TSLA - Morgan Stanley upgrades Tesla to Overweight")
print(result)

Using Model & Tokenizer Directly

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch

tokenizer = AutoTokenizer.from_pretrained("mikeysharma/finance-sentiment-analysis)
model = AutoModelForSequenceClassification.from_pretrained("mikeysharma/finance-sentiment-analysis")

inputs = tokenizer(
    "$BYND - JPMorgan cuts Beyond Meat price target",
    return_tensors="pt",
    truncation=True,
    max_length=128
)

with torch.no_grad():
    outputs = model(**inputs)
    predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
    print(predictions)

ONNX Runtime (Optimal for Production)

from optimum.onnxruntime import ORTModelForSequenceClassification
from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("mikeysharma/finance-sentiment-analysis")
model = ORTModelForSequenceClassification.from_pretrained("mikeysharma/finance-sentiment-analysis")

inputs = tokenizer(
    "Cemex shares fall after Credit Suisse downgrade",
    return_tensors="pt",
    truncation=True,
    max_length=128
)

outputs = model(**inputs)

Training Data

The model was fine-tuned on a dataset of financial news headlines with three sentiment classes:

  1. Negative: Bearish sentiment, downgrades, losses
  2. Neutral: Factual reporting, no strong sentiment
  3. Positive: Bullish sentiment, upgrades, gains

Example samples:

$AAPL - Apple hits record high after earnings beat (Positive)
$TSLA - Tesla misses Q2 delivery estimates (Negative)
$MSFT - Microsoft announces new Azure features (Neutral)

Preprocessing

Text is preprocessed with:

  • Lowercasing
  • Ticker symbol normalization ($AAPL → AAPL)
  • URL removal
  • Special character cleaning
  • Truncation to 128 tokens

Deployment

For production deployment, we recommend:

  1. ONNX Runtime for CPU-optimized inference
  2. FastAPI for REST API serving
  3. Docker containerization

Example Dockerfile:

FROM python:3.8-slim

WORKDIR /app
COPY . .

RUN pip install transformers optimum[onnxruntime] fastapi uvicorn

CMD ["uvicorn", "api:app", "--host", "0.0.0.0", "--port", "8000"]

Limitations

  • Primarily trained on English financial news
  • Performance may degrade on non-financial text
  • Short-form text (headlines) works best
  • May not capture nuanced sarcasm/irony

Ethical Considerations

While useful for market analysis, this model should not be used as sole input for investment decisions. Always combine with human judgment and other data sources.

Citation

If you use this model in your research, please cite:

@misc{tinybert-fin-sentiment,
  author = {Mikey Sharma},
  title = {Lightweight Financial News Sentiment Analysis with TinyBERT},
  year = {2023},
  publisher = {Hugging Face},
  howpublished = {\url{https://huggingface.co/mikeysharma/finance-sentiment-analysis}}
}

license: mit

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

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

GPU в ailist

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

Нельзя запустить

В репозитории нет весов в формате PyTorch/safetensors.

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

0 моделей