/ Модель

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

Контекст
512 токенов
Параметры
137 млн
Лицензия
MIT
Архитектура
bert · dense
Опубликована
25 мая 2024

Trading-Hero-LLM

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

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

353скачиваний за 30 дней62лайкавеса обновлены25 мая 2024

Бенчмарки

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

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

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

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

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

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

Trading Hero Financial Sentiment Analysis — дообученная модель семейства BERT, созданная на основе FinBERT для анализа тональности финансовых текстов. Она классифицирует финансовые сообщения на нейтральные, положительные и отрицательные и предназначена для финансовых аналитиков, исследователей NLP и разработчиков систем анализа финансовых данных.

Модель содержит 137 млн параметров, использует архитектуру BertForSequenceClassification и принимает текстовые последовательности длиной до 512 токенов. В README указано дообучение на пользовательском наборе финансовых коммуникаций; для тестовой выборки приведены accuracy 0,908 и F1 0,913. Базовый FinBERT предварительно обучался на финансовых отчетах, стенограммах звонков о доходах и аналитических отчетах.

Модель распространяется под лицензией MIT. Карточка не указывает языки текстов, поэтому область языковой поддержки определить нельзя; результаты оценки относятся к описанной в README тестовой выборке.

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

  • Определение тональности финансовых новостей
  • Классификация комментариев инвесторов по тональности
  • Анализ стенограмм звонков о доходах
  • Разметка финансовых сообщений для последующего анализа

Ограничения

Контекст ограничен 512 токенами. Языки обучающих текстов и переносимость приведённых метрик на другие финансовые источники в карточке не уточняются.

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

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

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

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

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

Открыть на Hugging Face

Trading Hero Financial Sentiment Analysis

Model Description: This model is a fine-tuned version of FinBERT, a BERT model pre-trained on financial texts. The fine-tuning process was conducted to adapt the model to specific financial NLP tasks, enhancing its performance on domain-specific applications for sentiment analysis.

Model Use

Primary Users: Financial analysts, NLP researchers, and developers working on financial data.

Training Data

Training Dataset: The model was fine-tuned on a custom dataset of financial communication texts. The dataset was split into training, validation, and test sets as follows:

Training Set: 10,918,272 tokens

Validation Set: 1,213,184 tokens

Test Set: 1,347,968 tokens

Pre-training Dataset: FinBERT was pre-trained on a large financial corpus totaling 4.9 billion tokens, including:

Corporate Reports (10-K & 10-Q): 2.5 billion tokens

Earnings Call Transcripts: 1.3 billion tokens

Analyst Reports: 1.1 billion tokens

Evaluation

  • Test Accuracy = 0.908469
  • Test Precision = 0.927788
  • Test Recall = 0.908469
  • Test F1 = 0.913267
  • Labels: 0 -> Neutral; 1 -> Positive; 2 -> Negative

Usage

import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification, pipeline
tokenizer = AutoTokenizer.from_pretrained("fuchenru/Trading-Hero-LLM")
model = AutoModelForSequenceClassification.from_pretrained("fuchenru/Trading-Hero-LLM")
nlp = pipeline("text-classification", model=model, tokenizer=tokenizer)
# Preprocess the input text
def preprocess(text, tokenizer, max_length=128):
    inputs = tokenizer(text, truncation=True, padding='max_length', max_length=max_length, return_tensors='pt')
    return inputs

# Function to perform prediction
def predict_sentiment(input_text):
    # Tokenize the input text
    inputs = tokenizer(input_text, return_tensors="pt", truncation=True, padding=True)

    # Perform inference
    with torch.no_grad():
        outputs = model(**inputs)

    # Get predicted label
    predicted_label = torch.argmax(outputs.logits, dim=1).item()

    # Map the predicted label to the original labels
    label_map = {0: 'neutral', 1: 'positive', 2: 'negative'}
    predicted_sentiment = label_map[predicted_label]

    return predicted_sentiment

stock_news = [
    "Market analysts predict a stable outlook for the coming weeks.",
    "The market remained relatively flat today, with minimal movement in stock prices.",
    "Investor sentiment improved following news of a potential trade deal.",
.......
]


for i in stock_news:
    predicted_sentiment = predict_sentiment(i)
    print("Predicted Sentiment:", predicted_sentiment)
Predicted Sentiment: neutral
Predicted Sentiment: neutral
Predicted Sentiment: positive

Citation

@misc{yang2020finbert,
    title={FinBERT: A Pretrained Language Model for Financial Communications},
    author={Yi Yang and Mark Christopher Siy UY and Allen Huang},
    year={2020},
    eprint={2006.08097},
    archivePrefix={arXiv},
    }

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей