nickmuchi's picture
Update README.md
14e47d6
|
raw
history blame
3.18 kB
metadata
license: apache-2.0
language: en
tags:
  - financial-sentiment-analysis
  - sentiment-analysis
  - sentence_50agree
  - generated_from_trainer
  - sentiment
  - finance
datasets:
  - financial_phrasebank
  - Kaggle_Self_label
  - nickmuchi/financial-classification
metrics:
  - f1
widget:
  - text: The USD rallied by 10% last night
    example_title: Bullish Sentiment
  - text: >-
      Covid-19 cases have been increasing over the past few months impacting
      earnings for global firms
    example_title: Bearish Sentiment
  - text: the USD has been trending lower
    example_title: Mildly Bearish Sentiment
model-index:
  - name: distilroberta-finetuned-finclass
    results:
      - task:
          name: Text Classification
          type: text-classification
        dataset:
          name: financial_phrasebank
          type: finance
          args: sentence_50agree
        metrics:
          - type: F1
            name: F1
            value: 0.8835
          - type: accuracy
            name: accuracy
            value: 0.89

distilroberta-finetuned-financial-text-classification

This model is a fine-tuned version of distilroberta-base on the sentence_50Agree financial-phrasebank + Kaggle Dataset, a dataset consisting of 4840 Financial News categorised by sentiment (negative, neutral, positive). The Kaggle dataset includes Covid-19 sentiment data and can be found here: sentiment-classification-selflabel-dataset. It achieves the following results on the evaluation set:

  • Loss: 0.4463
  • F1: 0.8835

Model description

Model determines the financial sentiment of given text. Given the unbalanced distribution of the class labels, the weights were adjusted to pay attention to the less sampled labels which should increase overall performance. The Covid dataset was added in order to enrich the model, given most models have not been trained on the impact of Covid-19 on earnings or markets.

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 2e-05
  • train_batch_size: 64
  • eval_batch_size: 64
  • seed: 42
  • optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
  • lr_scheduler_type: linear
  • num_epochs: 10
  • mixed_precision_training: Native AMP

Training results

Training Loss Epoch Step Validation Loss F1
0.7309 1.0 72 0.3671 0.8441
0.3757 2.0 144 0.3199 0.8709
0.3054 3.0 216 0.3096 0.8678
0.2229 4.0 288 0.3776 0.8390
0.1744 5.0 360 0.3678 0.8723
0.1436 6.0 432 0.3728 0.8758
0.1044 7.0 504 0.4116 0.8744
0.0931 8.0 576 0.4148 0.8761
0.0683 9.0 648 0.4423 0.8837
0.0611 10.0 720 0.4463 0.8835

Framework versions

  • Transformers 4.15.0
  • Pytorch 1.10.0+cu111
  • Datasets 1.18.0
  • Tokenizers 0.10.3