miércoles, junio 29, 2022

Twitter Detox: ¿Qué dice la Inteligencia Artificial del Sentimiento que emiten tus mensajes de Twitter?

Sabéis que soy un buen usuario de Twitter, y me encanta esta red porque es una plataforma que permite innovar en muchos sentidos, gracias a la cantidad de opciones que ofrece. Desde Telefónica hemos hecho muchas cosas, como integrar Twitter Moments en Movistar Home, o como lanzar la Living App de Twitter en Movistar+ que seguimos evolucionando versión a versión.

Figura 1: Twitter Detox: ¿Qué dice la Inteligencia Artificial del
Sentimiento que emiten tus mensajes de Twitter?

También tenemos en MyPublicInbox los servicios de Tempos x Tweets y de Tempos x Follow que están basados en las posibilidades que ofrecen las APIs de Twitter, y el espíritu siempre innovador de la compañía. Por eso me gusta tanto, y por eso iréis viendo cómo vamos añadiendo nuevas cosas cada poco. 


Hoy os quería contar de un experimento que se nos ocurrió hace un poco de tiempo, a raíz de la creación del servicio de Tempos x Follow, y que decidimos hacer una PoC con motivo de la charla de "IA for Hacker & Developer" que di el pasado martes en la DotNet 2022 de nuestros compañeros de Plain Concepts. Se trataba de poder dar más información a un "Futuro Follower" sobre el tipo de contenido que publica un usuario de Twitter en su Time-Line, y al final lo llamamos Twitter Detox.

Twitter Detox

La idea era bastante sencilla, y consistía en saber cuánto de positivos o negativos son los tweets que emite un determinado usuario de Twitter en su Time-Line. El objetivo usar un servicio cognitivo entrenado para analizar el sentimiento de frases, sobre los tweets de una cuenta y saber si sus publicaciones son negativas, positivas o neutral, para que pudieras saberlo antes de decidirte a seguir una cuenta, o, para analizar quiénes son los más negativos de los usuarios a los que sigues. Es decir, para saber que "energía" te va a llegar por esa cuenta y meterlo en un gráfico de colores.

Figura 3: ¿Qué sentimiento tiene el time-line de una cuenta de Twitter?

Vaya por delante que estos servicios cognitivos de análisis de sentimiento y yo no nos llevamos demasiado bien. Ya publiqué por aquí hace mucho tiempo la importancia de que estos servicios se crearan haciendo un buen uso de nuestra lengua, y en mi sección en Zenda Libros "El futuro está por hackear", le dediqué también un artículo titulado "La IA que no me quería (pero amaba a los unicornios rosas)" donde explicaba lo difícil de explicar los resultados de sentimiento de ciertas APIs que prometen este análisis.

Figura 4: Arquitectura de Twitter Detox con Azure Cognitive Services

En este caso, le dimos el trabajo la API de Microsoft Azure de Text Analytics que lleva Sentiment Analysis y generamos una arquitectura muy sencilla. Basta con elegir de cada cuenta diez tweets que haya publicado esa cuenta - no retweets - y pasar el contenido por la API de análisis.

Figura 5: Ejemplo con dos Tweets del presidente Pedro Sánchez

Esta API nos da unas probabilidades de que el texto de un solo tweet sea negativo, positivo o neutro, y en función de esos valores, les asignamos una puntuación. Como veis, no es taxativo, y se basa en probabilidades. La ironía, el sarcasmo, los dobles sentidos, etcétera, aún le cuestan a estos servicios, y es por ello tan importante el proyecto LEIA.

Figura 6: Ejemplo con dos tweets de Isabel Díaz Ayuso

No es un algoritmo muy complejo, porque de lo que se trataba era de demostrar cómo se pueden utilizar fácilmente los servicios cognitivos hoy en día para crear nuevos servicios utilizando inteligencia artificial, y no una lógica de aplicación plasmada en un algoritmo por el programador. 

Figura 7: El algoritmo para elegir el sentimiento de un Time-Line

Lo que hace nuestro Twitter Detox es contar el número de tweets positivos multiplicados por 1, el número de tweets negativos multiplicados por -1 y el número de tweets neutros multiplicados por 0, y dividirlo por el número total de tweets.

Figura 8: Ejemplo con 15 tweets

Vamos, es más fácil. Se trata de sumar los positivos, restar los negativos y dividir por el número total de tweets y multiplicarlo por 100, para sacar un valor que va a ir entre 100 y -1oo, con lo que podremos elegir un bonito color de la gráfica de sentimiento.

Figura 9: Sentimiento naranja

Claro, esto si alguien tiene 20 tweets y son 10 muy negativos y 10 muy positivos, saldrá como neutro, de igual forma que alguien que tenga 20 tweets neutros, pero se trata solo de hacer un idea a alto nivel con colores y detectar a los extremos. Es decir, los que sacan 100 y - 100 o muy cerca a ellos, te dan una idea de si es una cuenta con energía negativa o positiva. Para los extremos, funciona de maravilla.

Una PoC con las cuentas que yo sigo en Twitter

Para la presentación hice una demo con una selección de cuentas de políticos de este país, y era curioso el resultado. Nada más. Pero sí que se veía bien quién defendía su gestión y quién hace oposición desde Twitter. Y los que defienden su gestión en su gobierno y hacen oposición a otro gobierno. Pero para el artículo de hoy, he elegido las cuentas a las que yo sigo. 

Figura 10: Algunas cuentas 100% positivas

Por ejemplo, en la parte de las que tienen mucha energía positiva, es decir, con rangos de 100% me han salido bastantes. Yo no llevo nada bien las cuentas de gente con energía negativa y mal comportamiento en redes sociales, como he dicho muchas vecesl y a veces, silencio, bloqueo o hago un "échate pallá" y me quito algún follower forzando que deje de seguirme en Twitter. Me gusta la gente positiva. Y podéis ver entre los que sigo con 100% a, entre otros, Rudy Fernández, Elena Gil, Javier Santiso (que publica unos versos preciosos),  Arkano, el gran Angelucho, etc...

Entre las cuentas neutras curiosas, me ha salido Rodrigo Cortes, Angel Martín, Damian Mollá o Dani Marco de Despistaos, y es curioso. Sobre todo porque son muy activos. Dudo que la IA pille la sutileza de los mensajes de Rodrigo Cortés, las ironías de Angel o Damian, o los versos de Dani Marco, así que son claros ejemplos de que hay que revisar caso a casa cada tweet para hacer una buen curado de los datos, ¿no?

Figura 11: Algunas cuentas neutras

Y para el final, algunas cuentas que salen un poco negativas. Hay que tener en cuenta que depende del día, depende de la interpretación del tweet, etcétera. A mí, me han salido, por poner algún ejemplo, al gran Román Ramírez "PatoWC", que suele ser cañero en Twitter, a Rodrigo Corral, amigo y muy "politiquero", el gran Bernardo Quintero (solo un poco), Nico Waisman - que también la toca con la política en la Argentina -, nuestro querido BOFH "Wardog" o Rafa J. Vegas.

Figura 12: Algunas cuentas negativas

La verdad es que ha sido un ejercicio curioso, y estamos pensando si publicar o no la web para que pruebes tú con las cuentas a las que sigues, hagas tus rankings, o pruebes algún twittero a ver qué dice la IA. Lo divertido es que con Twitter y con los Cognitive Services se puede jugar mucho. En OpenExpo Europe 2022 tendremos a Javier Pagán, Country Manager de Twitter en España, hablando de Innovación y Twitter en la Sala Arsys, así que no te lo pierdas.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


No hay comentarios:

Publicar un comentario