File size: 4,781 Bytes
8c652a1
 
aaad9ac
 
aa933b6
 
aaad9ac
 
5880dc0
 
 
3ef8c53
 
 
 
 
 
 
 
 
 
 
 
 
aa933b6
aaad9ac
 
 
 
 
aa933b6
aaad9ac
a9e4130
aaad9ac
 
 
aa933b6
aaad9ac
aa933b6
 
aaad9ac
aa933b6
 
aaad9ac
aa933b6
8c652a1
aaad9ac
 
 
 
 
 
8f2de35
46bc643
1e88d93
aaad9ac
 
 
 
 
 
1e88d93
aaad9ac
 
 
ad447c1
 
f15b4c0
ad447c1
 
f15b4c0
ad447c1
 
 
 
 
 
77e5323
aaad9ac
 
 
 
 
 
 
 
 
 
 
 
 
 
1766d87
aaad9ac
 
302d8c2
aaad9ac
 
 
 
 
 
 
 
 
 
 
 
 
 
ac8a2b2
 
 
 
 
aaad9ac
 
 
759302b
 
16c46d3
 
 
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
---
license: apache-2.0
tags:
- generated_from_trainer
datasets:
- AdamCodd/emotion-balanced
metrics:
- accuracy
- f1
- recall
- precision
widget:
- text: "He looked out of the rain-streaked window, lost in thought, the faintest hint of melancholy in his eyes, as he remembered moments from a distant past."
  example_title: "Sadness"
- text: "As she strolled through the park, a soft smile played on her lips, and her heart felt lighter with each step, appreciating the simple beauty of nature."
  example_title: "Joy"
- text: "Their fingers brushed lightly as they exchanged a knowing glance, a subtle connection that spoke volumes about the deep affection they held for each other."
  example_title: "Love"
- text: "She clenched her fists and took a deep breath, trying to suppress the simmering frustration that welled up when her ideas were dismissed without consideration."
  example_title: "Anger"
- text: "In the quiet of the night, the gentle rustling of leaves outside her window sent shivers down her spine, leaving her feeling uneasy and vulnerable."
  example_title: "Fear"
- text: "Upon opening the old dusty book, a delicate, hand-painted map fell out, revealing hidden treasures she never expected to find."
  example_title: "Surprise sentence"
base_model: distilbert-base-uncased
model-index:
- name: distilbert-base-uncased-finetuned-emotion-balanced
  results:
  - task:
      type: text-classification
      name: Text Classification
    dataset:
      name: emotion
      type: emotion
      args: default
    metrics:
    - type: accuracy
      value: 0.9521
      name: Accuracy
    - type: loss
      value: 0.1216
      name: Loss
    - type: f1
      value: 0.9520944952964783
      name: F1
---

<!-- This model card has been generated automatically according to the information the Trainer had access to. You
should probably proofread and complete it, then remove this comment. -->

# distilbert-emotion

<u><b>Reupload [10/02/23]</b></u> : The model has been retrained using identical hyperparameters, but this time on an even more pristine dataset, free of certain scraping artifacts. Remarkably, it maintains the same level of accuracy and loss while demonstrating superior generalization capabilities.

This model is a fine-tuned version of [distilbert-base-uncased](https://huggingface.co/distilbert-base-uncased) on the [emotion balanced dataset](https://huggingface.co/datasets/AdamCodd/emotion-balanced).
It achieves the following results on the evaluation set:
- Loss: 0.1216
- Accuracy: 0.9521

## Model description

This emotion classifier has been trained on 89_754 examples split into train, validation and test. Each label was perfectly balanced in each split.

## Intended uses & limitations

Usage:
```python
from transformers import pipeline

# Create the pipeline
emotion_classifier = pipeline('text-classification', model='AdamCodd/distilbert-base-uncased-finetuned-emotion-balanced')

# Now you can use the pipeline to classify emotions
result = emotion_classifier("We are delighted that you will be coming to visit us. It will be so nice to have you here.")
print(result)
#[{'label': 'joy', 'score': 0.9983291029930115}]
```
This model faces challenges in accurately categorizing negative sentences, as well as those containing elements of sarcasm or irony. These limitations are largely attributable to DistilBERT's constrained capabilities in semantic understanding. Although the model is generally proficient in emotion detection tasks, it may lack the nuance necessary for interpreting complex emotional nuances.

## Training and evaluation data

More information needed

## Training procedure

### Training hyperparameters

The following hyperparameters were used during training:
- learning_rate: 3e-05
- train_batch_size: 32
- eval_batch_size: 64
- seed: 1270
- optimizer: AdamW with betas=(0.9,0.999) and epsilon=1e-08
- lr_scheduler_type: linear
- lr_scheduler_warmup_steps: 150
- num_epochs: 3
- weight_decay: 0.01

### Training results

              precision    recall  f1-score   support

     sadness     0.9882    0.9485    0.9679      1496
         joy     0.9956    0.9057    0.9485      1496
        love     0.9256    0.9980    0.9604      1496
       anger     0.9628    0.9519    0.9573      1496
        fear     0.9348    0.9098    0.9221      1496
    surprise     0.9160    0.9987    0.9555      1496

    accuracy                         0.9521      8976
    macro avg    0.9538    0.9521    0.9520      8976
    weighted avg 0.9538    0.9521    0.9520      8976
    
    test_acc:     0.9520944952964783
    test_loss:    0.121663898229599

### Framework versions

- Transformers 4.33.2
- Pytorch lightning 2.0.9
- Tokenizers 0.13.3

If you want to support me, you can [here](https://ko-fi.com/adamcodd).