/ Модель

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

Контекст
512 токенов
Параметры
137 млн
Архитектура
bert · dense

FinancialBERT-Sentiment-Analysis

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

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

148 тыс.скачиваний за 30 дней101лайквеса обновлены7 фев 2022

Бенчмарки

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

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

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

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

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

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

FinancialBERT-Sentiment-Analysis — модель на архитектуре BERT, разработанная для анализа тональности финансовых текстов. Она предварительно обучена на большом корпусе финансовых материалов, а затем дообучена для классификации тональности на наборе Financial PhraseBank из 4 840 финансовых новостей. Модель содержит 137 млн параметров, принимает текстовые последовательности длиной до 512 токенов и выдаёт метку тональности: отрицательную, нейтральную или положительную.

Модель предназначена для анализа финансовых новостей и других коротких финансовых текстов, например для выявления настроений в новостных потоках. В отчёте README приведены метрики precision, recall и F1 на тестовой выборке; автор сообщает о результатах лучше, чем у общего BERT и других моделей финансовой тематики. Поддерживаемый язык — английский. Репозиторий содержит веса PyTorch; лицензия в предоставленных данных не указана.

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

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

Ограничения

Модель обучена на Financial PhraseBank и может хуже работать на текстах, отличающихся от финансовых новостей или распределения обучающих данных. Максимальная длина входа составляет 512 токенов.

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

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

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

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

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

Открыть на Hugging Face

FinancialBERT for Sentiment Analysis

FinancialBERT is a BERT model pre-trained on a large corpora of financial texts. The purpose is to enhance financial NLP research and practice in financial domain, hoping that financial practitioners and researchers can benefit from this model without the necessity of the significant computational resources required to train the model.

The model was fine-tuned for Sentiment Analysis task on Financial PhraseBank dataset. Experiments show that this model outperforms the general BERT and other financial domain-specific models.

More details on FinancialBERT's pre-training process can be found at: https://www.researchgate.net/publication/358284785_FinancialBERT_-_A_Pretrained_Language_Model_for_Financial_Text_Mining

Training data

FinancialBERT model was fine-tuned on Financial PhraseBank, a dataset consisting of 4840 Financial News categorised by sentiment (negative, neutral, positive).

Fine-tuning hyper-parameters

  • learning_rate = 2e-5
  • batch_size = 32
  • max_seq_length = 512
  • num_train_epochs = 5

Evaluation metrics

The evaluation metrics used are: Precision, Recall and F1-score. The following is the classification report on the test set.

sentimentprecisionrecallf1-scoresupport
negative0.960.970.9758
neutral0.980.990.98279
positive0.980.970.97148
macro avg0.970.980.98485
weighted avg0.980.980.98485

How to use

The model can be used thanks to Transformers pipeline for sentiment analysis.

from transformers import BertTokenizer, BertForSequenceClassification
from transformers import pipeline

model = BertForSequenceClassification.from_pretrained("ahmedrachid/FinancialBERT-Sentiment-Analysis",num_labels=3)
tokenizer = BertTokenizer.from_pretrained("ahmedrachid/FinancialBERT-Sentiment-Analysis")

nlp = pipeline("sentiment-analysis", model=model, tokenizer=tokenizer)

sentences = ["Operating profit rose to EUR 13.1 mn from EUR 8.7 mn in the corresponding period in 2007 representing 7.7 % of net sales.",  
             "Bids or offers include at least 1,000 shares and the value of the shares must correspond to at least EUR 4,000.", 
             "Raute reported a loss per share of EUR 0.86 for the first half of 2009 , against EPS of EUR 0.74 in the corresponding period of 2008.", 
             ]
results = nlp(sentences)
print(results)

[{'label': 'positive', 'score': 0.9998133778572083},
 {'label': 'neutral', 'score': 0.9997822642326355},
 {'label': 'negative', 'score': 0.9877365231513977}]

Created by Ahmed Rachid Hazourli

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей