File size: 3,928 Bytes
4c4becf
fa56382
4c4becf
 
 
 
 
 
 
 
 
 
 
fa56382
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
efbaf86
fa56382
4c4becf
 
 
 
e9e87fd
d265d12
e9e87fd
4c4becf
 
 
 
 
 
53ec0c6
 
 
 
cde49ec
 
f7c166c
 
53ec0c6
4c4becf
 
 
fd6ebe3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4c4becf
 
 
 
 
 
 
ff7ce40
4c4becf
 
652b9a5
4c4becf
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
---
language:
- en
thumbnail: https://avatars3.githubusercontent.com/u/32437151?s=460&u=4ec59abc8d21d5feea3dab323d23a5860e6996a4&v=4
tags:
- text-classification
- emotion
- pytorch
license: apache-2.0
datasets:
- emotion
metrics:
- Accuracy, F1 Score
model-index:
- name: bhadresh-savani/roberta-base-emotion
  results:
  - task:
      type: text-classification
      name: Text Classification
    dataset:
      name: emotion
      type: emotion
      config: default
      split: test
    metrics:
    - name: Accuracy
      type: accuracy
      value: 0.931
      verified: true
    - name: Precision Macro
      type: precision
      value: 0.9168321948556312
      verified: true
    - name: Precision Micro
      type: precision
      value: 0.931
      verified: true
    - name: Precision Weighted
      type: precision
      value: 0.9357445689014415
      verified: true
    - name: Recall Macro
      type: recall
      value: 0.8743657671177089
      verified: true
    - name: Recall Micro
      type: recall
      value: 0.931
      verified: true
    - name: Recall Weighted
      type: recall
      value: 0.931
      verified: true
    - name: F1 Macro
      type: f1
      value: 0.8821236522209227
      verified: true
    - name: F1 Micro
      type: f1
      value: 0.931
      verified: true
    - name: F1 Weighted
      type: f1
      value: 0.9300782840205046
      verified: true
    - name: loss
      type: loss
      value: 0.15155859291553497
      verified: true
---
# robert-base-emotion

## Model description:
[roberta](https://arxiv.org/abs/1907.11692) is Bert with better hyperparameter choices so they said it's Robustly optimized Bert during pretraining.

[roberta-base](https://huggingface.co/roberta-base) finetuned on the emotion dataset using HuggingFace Trainer with below Hyperparameters
```
 learning rate 2e-5, 
 batch size 64,
 num_train_epochs=8,
```

## Model Performance Comparision on Emotion Dataset from Twitter:

| Model | Accuracy | F1 Score |  Test Sample per Second |
| --- | --- | --- | --- |
| [Distilbert-base-uncased-emotion](https://huggingface.co/bhadresh-savani/distilbert-base-uncased-emotion) | 93.8 | 93.79 | 398.69 |
| [Bert-base-uncased-emotion](https://huggingface.co/bhadresh-savani/bert-base-uncased-emotion) | 94.05 | 94.06 | 190.152 |
| [Roberta-base-emotion](https://huggingface.co/bhadresh-savani/roberta-base-emotion) | 93.95 | 93.97| 195.639 |
| [Albert-base-v2-emotion](https://huggingface.co/bhadresh-savani/albert-base-v2-emotion) | 93.6 | 93.65 | 182.794 |

## How to Use the model:
```python
from transformers import pipeline
classifier = pipeline("text-classification",model='bhadresh-savani/roberta-base-emotion', return_all_scores=True)
prediction = classifier("I love using transformers. The best part is wide range of support and its easy to use", )
print(prediction)

"""
Output:
[[
{'label': 'sadness', 'score': 0.002281982684507966}, 
{'label': 'joy', 'score': 0.9726489186286926}, 
{'label': 'love', 'score': 0.021365027874708176}, 
{'label': 'anger', 'score': 0.0026395076420158148}, 
{'label': 'fear', 'score': 0.0007162453257478774}, 
{'label': 'surprise', 'score': 0.0003483477921690792}
]]
"""
```

## Dataset:
[Twitter-Sentiment-Analysis](https://huggingface.co/nlp/viewer/?dataset=emotion).

## Training procedure
[Colab Notebook](https://github.com/bhadreshpsavani/ExploringSentimentalAnalysis/blob/main/SentimentalAnalysisWithDistilbert.ipynb)
follow the above notebook by changing the model name to roberta

## Eval results
```json
{
 'test_accuracy': 0.9395,
 'test_f1': 0.9397328860104454,
 'test_loss': 0.14367154240608215,
 'test_runtime': 10.2229,
 'test_samples_per_second': 195.639,
 'test_steps_per_second': 3.13
 }
```

## Reference:
* [Natural Language Processing with Transformer By Lewis Tunstall, Leandro von Werra, Thomas Wolf](https://learning.oreilly.com/library/view/natural-language-processing/9781098103231/)