Search
Plataforma inteligente de gestión de contenido digital

Plataforma Inteligente de Gestión de Contenidos Digitales

¿Cómo aplicar análisis de sentimiento a correos recibidos en Athento?

Optimiza la satisfacción del cliente con Athento: aplica análisis de sentimiento en correos automáticamente, asigna estados según la felicidad🔮 #AthentoMagic
Análisis del sentimiento / Sentiment Analysis
Picture of Iván Cárdenas

Iván Cárdenas

En este artículo, te vamos a explicar paso a paso, cómo puedes aplicar análisis de sentimiento a correos que se reciban directamente en Athento y, de forma automática, asignar un estado del ciclo de vida que se corresponda con un análisis de sentimiento positivo (cliente satisfecho), negativo (cliente descontento) o neutral (cliente neutral).

Para este tutorial, vamos a suponer que lo que estamos recibiendo son correos electrónicos de servicio al cliente, por lo que usaremos IA para saber si los clientes están contentos, descontentos o son emails neutrales, de forma automática.

Análisis del sentimiento / Sentiment Analysis

Configuraciones previas

Lo primero que vas a necesitar es un espacio. En este espacio recibirás los correos electrónicos. Ver cómo crear un espacio en Athento.

Análisis del sentimiento / Sentiment Analysis

También vas a necesitar un formulario para almacenar tus emails. Crea uno con un campo Text Area, que se llame por ejemplo Email Body o Cuerpo del Correo.

Análisis del sentimiento / Sentiment Analysis

Si nunca haz hecho estas configuraciones básicas en Athento, aquí tienes la documentación:

 

¡Genial! Ya casi tenemos listas nuestras pre-configuraciones.

Vamos a necesitar también un ciclo de vida que tenga 3 estados:

  • Cliente satisfecho.
  • Cliente descontento.
  • Cliente neutral.
  • Desconocido.

No hace falta crear transiciones entre estos, pues será el propio Athento el que haga la transición de acuerdo con el análisis de sentimiento.

Como estado inicial puedes poner Desconocido, que será el estado que tomen los emails cuando entren a la plataforma.

Análisis del sentimiento / Sentiment Analysis

Debes activar el ciclo de vida para que lo podamos usar.
Aquí tienes la documentación para la configuración del ciclo de vida:

Paso 1: integrar la cuenta de correo en Athento

Es posible conectar un buzón de correo con un espacio de Athento. Esta integración la haremos desde la administración del espacio, en la pestaña Integraciones. Desde allí podrás conectar el espacio con el buzón de correo, nosotros para este tutorial, conectamos un buzón pop3.

Análisis del sentimiento / Sentiment Analysis

Puedes consultar la documentación sobre cómo enlazar un espacio y un buzón de correo desde aquí.

En la configuración del espacio, debes activar la carga de documentos y el procesamiento de estos.

Análisis del sentimiento / Sentiment Analysis

¡Bárbaro! Ahora necesitamos una configuración extra para asegurarnos de que cada X tiempo, Athento lee los correos que llegan a la cuenta. Esto se hace con un comando de Athento para la carga de emails. Debes habilitar este comando en la instancia en caso de que no lo esté ya.

Es el comando load_mails.

Análisis del sentimiento / Sentiment Analysis

Puedes aprovechar también y activar el crontab que se encarga de procesar de forma automática los documentos que entren en tu espacio (el crontab que aparece justo arriba del de carga de emails).

Si no estás familiarizado con la activación y ejecución de tareas programáticas, aquí tienes la documentación:

Tras la finalización de este paso, los correos deberían ir entrando en tu espacio.

Paso 2: Instalar las operaciones necesarias para procesar los correos

Debes instalar las siguientes operaciones en el espacio:

  • Op_analyze_documents_sentiment_v1 o Analyze document sentiment: esta es la operación que hace el análisis de sentimiento
  • Op_lifecycle_transition_v2 o Life cycle transition: esta operación la tienes que instalar 3 veces. Una para cada estado del análisis (Positivo, Negativo, Neutral)
  • Extract text V2 y Extract metadata fast: estas dos las necesitamos para coger el texto del email y pasarlo al campo de área de texto que creamos en las preconfiguraciones.

 

Los automatismos del espacio te tienen que quedar configurados así:

Análisis del sentimiento / Sentiment Analysis
Análisis del sentimiento / Sentiment Analysis

Sobre la operación de análisis de sentimiento

Esta operación utiliza un modelo de HugginFace. Athento ofrece integración con HugginFace para que puedas utilizar estos modelos de Inteligencia Artificial.

El modelo que utiliza esta operación es cardiffnlp/twitter-roberta-base-sentiment-latest
Este modelo fue entrenado con más de 100 millones de tweets.

Esta operación una vez ejecutada sobre un texto, nos va a devolver una feature o característica del documento sentiment_analysis con el valor: positive, negative o neutral.

Análisis del sentimiento / Sentiment Analysis

Por el momento, no hace falta ninguna configuración a nivel de parámetros para las operaciones que has instalado.

Paso 3: copiar el texto del correo en el campo área de texto

En la actualidad, la operación Op_analyze_document_sentiment_v1 trabaja sobre el contenido de los campos de texto de un documento. Por ello, necesitamos que el texto del correo viaje hasta el campo de área de texto que creamos.

Esto lo podemos hacer con una expresión dinámica en la configuración de este campo:

 

fil.gmv("feature.text")

 

Esta expresión dinámica te permitirá copiar el valor del texto del correo al campo text area.

Análisis del sentimiento / Sentiment Analysis

¡Fantástico! Ahora que ya tienes esto, puedes ejecutar la operación manualmente sobre alguno de los correos que ya hayan entrado en tu espacio.

Paso 4: condicionar las operaciones que cambian de forma automática el ciclo de vida

Estas 3 operaciones que hemos activado, tienen como objeto poner el estado del ciclo de vida de acuerdo con la evaluación de la operación de análisis de sentimiento. Lo que haremos será configurar cada una de las operaciones para que mueva a uno de los 3 estados del ciclo de vida, pero condicionaremos su ejecución a que haya coincidencia con el análisis de sentimiento.

Por ejemplo, vamos a configurar la que mueve a ClienteSatisfecho (SatisfiedCustomer). En estado destino (Final state) pondremos SatisfiedCustomer y marcaremos la casilla para forzar el cambio.

Análisis del sentimiento / Sentiment Analysis
A continuación, desde la administración avanzada en la operación con la que estamos trabajando, buscamos el campo condition o condición y ponemos la siguiente condición. fil.gfv("sentiment_analysis") == "positive"
Análisis del sentimiento / Sentiment Analysis

Esta expresión lo que hace es que recupera el valor de la feature sentiment_analysis y la compara con la cadena “positive”. Si hay coincidencia, Athento permitirá el cambio de estado a SatisfiedCustomer porque el resultado del análisis de sentimiento del correo fue positivo.

Repetimos este mismo proceso con las otras dos operaciones:

La que mueve a DissatisfiedCustomer la condicionamos a que el resultado del análisis de sentimiento sea “negative”.
La que mueve a Neutral, la condicionamos a que el resultado del análisis de sentimiento sea “neutral”.

Paso 5: ¡A probar!

Voilà! Ya están listas todas las configuraciones. Ahora sólo te hace falta enviar correos y ver que todo se ejecuta correctamente.

Y para que tengas rápido con que probar, aquí te dejamos el texto de dos correos de prueba.

¡Cuéntanos qué te ha parecido este tutorial y sugiérenos nuevos tutoriales para ayudarte a implementar nuevas configuraciones!

Email 1

Subject: Very disappointing customer service
Dear Acme team,

On the 17th of October, I purchased a tablet Samsung Galaxy XT600 from your store for 500€.

I am not satisfied with the product because it has not performed as it should. It is frequently shutting down. The screen goes black and I can’t do anything.

I have tried to communicate with your team via phone. Nobody answers the phone at your shop. It seems like I am alone with my problem.

I need a prompt response from your team. Either you reimburse me or change the product.

If I don’t receive an answer from you in the following 2 business days, I will leave a review for everyone to see on Google. I don’t want someone else to go through all of this trouble.

I am very frustrated and unhappy with your service.

Yours sincerely,
Veronica Meza.

 

Email 2

Subject: Incredible customer service

Dear Acme team,

I just want to congratulate you for the amazing customer service you provide. Yesterday in the shop in 5th Av. one of your employees, John Doe, made sure I received all the possible help. He really explained to me the advantages of the product I was interested in and helped me compare it with others.

He was kind and respectful.

I really want to make sure the managers of the 5th Av. shop know what amazing customer service their employees are delivering.

Thank you very much,
Ivan Cardenas.