emoberta-large

tae898
Clasificación de texto

EmoBERTa es un modelo de reconocimiento de emociones en conversaciones, basado en RoBERTa. Fue entrenado en dos conjuntos de datos principales, MELD y IEMOCAP, y se centra en clasificar las emociones de las enunciaciones en una conversación. Este modelo no toma en cuenta información del hablante ni enunciaciones anteriores o futuras, clasificando cada enunciación de manera independiente.

Como usar

###Entrenamiento de EmoBERTa

Primero configure los hiperparámetros y el conjunto de datos en train-erc-text.yaml y luego ejecute los siguientes comandos en este directorio. Se recomienda ejecutar esto en un entorno virtual.

python train-erc-text.py

Esto llamará subsecuentemente a train-erc-text-hp.py y train-erc-text-full.py.

###Despliegue

####Huggingface

Hemos lanzado nuestros modelos en Huggingface:

  • emoberta-base
  • emoberta-large

Están basados en RoBERTa-base y RoBERTa-large, respectivamente, y fueron entrenados en los conjuntos de datos MELD e IEMOCAP.

####Aplicación Flask

Puedes ejecutar la aplicación Flask RESTful como un contenedor Docker o simplemente como un script de Python.

Ejecutar la aplicación como un contenedor Docker (recomendado):

 docker run -it --rm -p 10006:10006 tae898/emoberta-base
 docker run -it --rm -p 10006:10006 --gpus all tae898/emoberta-base-cuda
 docker run -it --rm -p 10006:10006 tae898/emoberta-large
 docker run -it --rm -p 10006:10006 --gpus all tae898/emoberta-large-cuda

Ejecutar la aplicación en tu entorno Python: Primero instala las dependencias de despliegue:

pip install -r requirements-deploy.txt

El script app.py es un servidor RESTful. Su uso es el siguiente:

python app.py --host 0.0.0.0 --port 10006 --device cpu --model-type emoberta-base

###Cliente

Una vez que la aplicación esté en ejecución, puedes enviar un texto al servidor. Primero instala los paquetes necesarios:

pip install -r requirements-client.txt

Luego ejecuta el cliente:

python client.py --text "¡El reconocimiento de emociones es tan genial!"

Esto te dará una respuesta como:

{
 "neutral": 0.0049800905,
 "joy": 0.96399665,
 "surprise": 0.018937444,
 "anger": 0.0071516023,
 "sadness": 0.002021492,
 "disgust": 0.001495996,
 "fear": 0.0014167271
}

Funcionalidades

Clasificación de texto
Basado en la arquitectura RoBERTa
Compatible con PyTorch
Entrenado en conjuntos de datos MELD e IEMOCAP
Compatible con AutoTrain
Compatible con Endpoints de Inferencia

Casos de uso

Clasificación de emociones en conversaciones
Análisis del sentimiento en texto
Aplicaciones de chatbots y asistentes virtuales
Estudios de lingüística computacional
Investigación en comunicación y emociones