File size: 2,663 Bytes
8103ee5
 
70ead2f
8103ee5
 
 
 
 
 
 
 
70ead2f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
title: Analisis De Sentimientos
emoji: 🥺😡
colorFrom: yellow
colorTo: indigo
sdk: streamlit
sdk_version: 1.17.0
app_file: app.py
pinned: false
---


# Modelo Clasificatorio de sentiminentos

Mi proyecto es un modelo multi-label que clasifica sentimientos en tristeza (sadness), enojo(anger), alegria(joy), miedo(fear) y sorpresa(surprise) fue entrenado y validado a partir de una tabla de texto y fue modelado con BERT y PyTorch Lightning.

## Decisions

`1` Clasificar sentimientos (anger, sadness, joy, fear, surprise, neutral).

`2` Usar de referencia estos modelos:

- https://github.com/curiousily/Getting-Things-Done-with-Pytorch/blob/master/11.multi-label-text-classification-with-bert.ipynb
- https://www.youtube.com/watch?v=UJGxCsZgalA&ab_channel=VenelinValkov
- https://github.com/theartificialguy/NLP-with-Deep-Learning/blob/master/BERT/Multi%20Label%20Text%20Classification%20using%20BERT%20PyTorch/bert_multilabel_pytorch_standard.ipynb

`3` Añadir un dropout en las capas para que el modelo no se sobreajuste.

`4` Anadir checkpoints en el entrenamiento para evitar que la ram se ocupe totalmente.

`5` Utilizar la funcion de activacion sigmoid en al ultima capa para un mejor resultado final.

`6` Utilizar optimizador AdamW y funcion de perdida binary_crossentropy con BCELoss como criterio, que son de los mas recomendados y usados para estos modelos.

`7` Utilizar 1625 ensayos de entrenamiento y 86 ensayos de validacion.

## Data Sources

Use la tabla de entrenamiento y de validacion sobre sentimientos de esta fuente [messages_train_ready_for_WS.tsv](https://github.com/caisa-lab/wassa-empathy-adapters/tree/main/data).

## Features

La entrada es texto a trave de un campo de texto, para predecir y/o clasificar los sentimientos que mas se asemejan al texto.

## Data Collection

Decidi utilizar esta coleccion de datos porque tiene una gran variedad de texto en diferentes contextos y con una gran variedad de sentimientos que se midieron a aprtir de varias columnas de metricas.

## Value Proposition

Puede ser utilizado en aplicaciones de reconocimiento de sentimientos, como filtro de textos empresariales por ejemplo, en programas psicologicos que permitan ayudar a personas que tengan algun problema en entender los sentimientos de otros o personas con discapacidad en general, por ejemplo con discapacidad en el habla que se comunica a traves de texto como entrada a un sistema que genera sonidos, podria modificar el tono de voz a partir de esta prediccion y reflejar los sentimientos de la persona.

# Environment requirements to run the model

Transformers 4.5.1

Pytorch lightning 1.2.8

Numpy

Pandas

Torch

Sklearn