emoberta-large
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