File size: 2,686 Bytes
2efc2b7
 
 
 
 
 
 
3ab648c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2efc2b7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
license: mit
datasets:
- SkyWater21/lv_go_emotions
language:
- lv
---
Fine-tuned [LVBERT](https://huggingface.co/AiLab-IMCS-UL/lvbert) for multi-label emotion classification task.

Model was trained on [lv_go_emotions](https://huggingface.co/datasets/SkyWater21/lv_go_emotions) dataset. This dataset is Latvian translation of [GoEmotions](https://huggingface.co/datasets/go_emotions) dataset. Google Translate was used to generate the machine translation.

Original 26 emotions were mapped to 6 base emotions as per Dr. Ekman theory.

Labels predicted by classifier:
```yaml
0: anger
1: disgust
2: fear
3: joy
4: sadness
5: surprise
6: neutral
```

Label mapping from 27 emotions from GoEmotion to 6 base emotions as per Dr. Ekman theory:
|GoEmotion|Ekman|
|---|---|
| admiration | joy|
| amusement | joy|
| anger | anger|
| annoyance | anger|
| approval | joy|
| caring | joy|
| confusion | surprise|
| curiosity | surprise|
| desire | joy|
| disappointment | sadness|
| disapproval | anger|
| disgust | disgust|
| embarrassment | sadness|
| excitement | joy|
| fear | fear|
| gratitude | joy|
| grief | sadness|
| joy | joy|
| love | joy|
| nervousness | fear|
| optimism | joy|
| pride | joy|
| realization | surprise|
| relief | joy|
| remorse | sadness|
| sadness | sadness|
| surprise | surprise|
| neutral | neutral|

Seed used for random number generator is 42:
```python
def set_seed(seed=42):
    random.seed(seed)
    np.random.seed(seed)
    torch.manual_seed(seed)
    if torch.cuda.is_available():
        torch.cuda.manual_seed_all(seed)
```

Training parameters:
```yaml
max_length: null
batch_size: 32
shuffle: True
num_workers: 2
pin_memory: False
drop_last: False

optimizer: adam
lr: 0.00001
weight_decay: 0

problem_type: multi_label_classification

num_epochs: 3
```


Evaluation results on test split of [lv_go_emotions](https://huggingface.co/datasets/SkyWater21/lv_go_emotions/viewer/simplified_ekman)
|              |Precision|Recall|F1-Score|AUC-ROC|Support|
|--------------|---------|------|--------|-------|-------|
|anger         |     0.57|  0.40|    0.47|   0.85|   726|
|disgust       |     0.64|  0.28|    0.39|   0.93|   123|
|fear          |     0.63|  0.54|    0.58|   0.95|    98|
|joy           |     0.80|  0.79|    0.79|   0.91|  2104|
|sadness       |     0.70|  0.44|    0.54|   0.90|   379|
|surprise      |     0.63|  0.44|    0.52|   0.89|   677|
|neutral       |     0.65|  0.62|    0.64|   0.83|  1787|
|micro avg     |     0.70|  0.61|    0.66|   0.93|  5894|
|macro avg     |     0.66|  0.50|    0.56|   0.89|  5894|
|weighted avg  |     0.69|  0.61|    0.65|   0.88|  5894|
|samples avg   |     0.65|  0.63|    0.63|    nan|  5894|