readme: ---
  language: en
  tags:
    - financial
    - stocks
    - sentiment
  datasets:
  - Jean-Baptiste/financial_news_sentiment_mixte_with_phrasebank_75
  widget:
  - text: "Fortuna Silver Mines Inc. (NYSE: FSM) (TSX: FVI) reports solid production results for the third quarter of 2022 from its four operating mines in the Americas and West Africa."
  - text: "Theratechnologies Reports Financial Results for the Third Quarter of Fiscal 2022 and Provides Business Update -- - Q3 2022 Consolidated Revenue Growth of 17% to $20.8 million"
  - text: "The Flowr Corporation To File for CCAA Protection"
  - text: "Melcor REIT (TSX: MR.UN) today announced results for the third quarter ended September 30, 2022. Revenue was stable in the quarter and year-to-date. Net operating income was down 3% in the quarter at $11.61 million due to the timing of operating expenses and inflated costs including utilities like gas/heat and power"
  
  license: mit
  ---
  
  # Model fine-tuned from roberta-large for sentiment classification of financial news (emphasis on Canadian news).
  
  ### Introduction
  This model was train on financial_news_sentiment_mixte_with_phrasebank_75 dataset.
  This is a customized version of the phrasebank dataset in which I kept only sentence validated by at least 75% annotators. 
  In addition I added ~2000 articles validated manually on Canadian financial news. Therefore the model is more specifically trained for Canadian news.
  Final result is f1 score of 93.25% overall and 83.6% on Canadian news.
  
  
  
  
  ### Training data
  Training data was classified as follow:
  
  class |Description
  -|-
  0 |negative
  1 |neutral
  2 |positive
  
  
  ### How to use roberta-large-financial-news-sentiment-en with HuggingFace
  
  ##### Load roberta-large-financial-news-sentiment-en and its sub-word tokenizer :
  
  ```python
  from transformers import AutoTokenizer, AutoModelForSequenceClassification
  
  tokenizer = AutoTokenizer.from_pretrained("Jean-Baptiste/roberta-large-financial-news-sentiment-en")
  model = AutoModelForSequenceClassification.from_pretrained("Jean-Baptiste/roberta-large-financial-news-sentiment-en")
  
  
  ##### Process text sample (from wikipedia)
  
  from transformers import pipeline
  
  pipe = pipeline("text-classification", model=model, tokenizer=tokenizer)
  pipe("Melcor REIT (TSX: MR.UN) today announced results for the third quarter ended September 30, 2022. Revenue was stable in the quarter and year-to-date. Net operating income was down 3% in the quarter at $11.61 million due to the timing of operating expenses and inflated costs including utilities like gas/heat and power")
  
  [{'label': 'negative', 'score': 0.9399105906486511}]
  
  ```
  
  ### Model performances
  
  Overall f1 score (average macro)
  
  precision|recall|f1
  -|-|-
  0.9355|0.9299|0.9325
  
  By entity
  
  entity|precision|recall|f1
  -|-|-|-
  negative|0.9605|0.9240|0.9419 
  neutral|0.9538|0.9459|0.9498
  positive|0.8922|0.9200|0.9059
  