Análisis de sentimiento en R: Biden, Trump y #CapitolRiots

Hoy he aprovechado el día para practicar R, lenguaje que estudio esporádicamente desde hace dos años. Después de conseguir que Twitter me diera acceso a la API tras semanas rechazando mi solicitud (fatigita). 

El objetivo de acceso a la API de twitter era probar la librería “sentiment” de R para analizar el sentimiento de tweets sobre algún tema. He elegido personajes de actualidad: Biden y Trump, así como #CapitolRiots. He utilizado un naive bayes, que parte del supuesto de que las variables son independientes unas de otras, es decir, que contribuyen de forma independiente en la probabilidad y no están relacionadas. Dicha simplificación exige que se entrene en un entorno supervisado.

Para dicho análisis de sentimiento, he efectuado un análisis de emoción y otro de polaridad. Pero antes de ello, he realizado varias operaciones para poner a punto los datos, que es siempre la parte más tediosa y poco agradecida, pero sin la cual nada tiene sentido.

  • Eliminación de RTs y menciones
  • Eliminación de links y determinadas tabulaciones
  • Eliminación de signos y dígitos
  • Gestión de NA
  • Eliminación de duplicados

Tras la limpia de tweets, obtengo el siguiente volumen de tweets en cada término sometido a análisis. Véase que en el hashtag #CapitolRiots hay una gran cantidad de duplicados, por lo que escogí una muestra de tweets mayor.

TrumpBiden#CapitolRiots
Nº de tweets bruto100010003000
Nº de tweets depurados756614760

Resultados de Polaridad

Creo un par de gráficos por término con la librería ggplot2, uno con los resultados de polaridad, y otro con los resultados de emociones.

Tweets Trump%Polo
22329%negative
36548%positive
16822%neutral
Tweets Biden%Polo
21435%negative
29248%positive
10818%neutral
Tweets #CapitolRiots%Polo
24733%negative
37249%positive
14119%neutral

Resultados de emoción

Comentarios acerca de los resultados

Como se puede observar, no hay grandes diferencias en los resultados. Muchos tweets comparten las mismas keywords en el texto (tanto Trump, como Biden, o incluso #CapitolRiots, aunque menos) Sería conveniente realizar otro análisis incluyendo términos excluyentes.

El tesauro usado para clasificar las emociones es bastante más reducido que el de polaridad. Utiliza solo 1541 observaciones, que explica la gran cantidad de «unknown» que obtenemos. Además el modelo resulta poco preciso en este aspecto y favorece la emoción «joy», incluyendo términos como «like» que a menudo se usa para comparar (ej: «so we gon jus act like they ain’t find any bombs huh blacktwitter capitolriots«)

No obstante, es interesante ver las emociones que aparecen en 3º y 4º lugar, que son «sadness» y «anger», cuyos tweets encajan algo mejor. Veamos algunos ejemplos:

  • Sadness:

and another one gone
and another one gone
another one bites the dust

o from here are six ways we can alleviate students’ distress in the days and weeks ahead even as we struggle to r…

  • Anger

there is no way you can say you support lgbtq 🌈 and still say you hate gays coz to me aint supporting shit you a…

im still pissed off that trump supporters invaded the capitol building only us brits are allowed to do that…

Hay que tener en cuenta que la clasificación en un polo u otro, o en una emoción u otra, que hace este algoritmo se basa en un listado de palabras, aunque haya ajustes para la ambigüedad. La clasificación de un tweet como “negativo”, no quiere decir que ese usuario tenga una imagen u opinión negativa del político en cuestión, sino más bien, que se está expresando en esa clave. El algoritmo no es tan adecuado para determinar ese aspecto. Veamos un ejemplo de frase clasificada como “negative” y “joy” (júbilo, alegría)…dónde encontramos términos como “stupid” y “happy» que determinan la clasificación en uno u otro respectivamente.


Si los demócratas son lo suficientemente estúpidos como para renunciar a los estados de los Grandes Lagos, están perdidos. Biden necesita emitir un «Plan Marshall» para nuestra región con muchos beneficios para mantener felices a los «héroes de la clase trabajadora»

Otro ejemplo, clasificada como “negative”, debido al término “Serious” y “joy”, debido al término “loyalty”. La clasificación del tweet como negativo me parece correcta, ya que no está diciendo nada bonito, pero falla en identificar la emoción.

Grave bofetada a los trabajadores. La lealtad no significa nada para esta gente.

Conclusiones

Es conveniente repetir el análisis. Una muestra mayor de tweets aportará más información. Junto a ello, se hace necesario incluir stop words para evitar las apariciones simultáneas de unos u otros términos. Probaré también otras librerías de sentimiento. Esta solo permite análisis en inglés y no me parece muy precisa, puede que otras usen tesauros de mayor tamaño o traten mejor la ambigüedad. Actualizaré este artículo con las pruebas.

Cómo crear una campaña de Remarketing en Adwords. Guía práctica

Sin entrar en explicaciones tediosas, el remarketing consiste en mostrar nuestros anuncios en la red de contenido de Google a usuarios que ya han visitado nuestro sitio o aplicación web. Las campañas de remarketing son imprescindibles para:

  1. Crear notoriedad de marca – branding, cuando aún no somos muy conocidos.
  2. Cerrar muchas conversiones que pudieron ser pero no fueron (El usuario abandonó el proceso de navegación, llamado por otra oferta o por cualquier otra razón, y luego se olvidó de nosotros)
  3. Aumentar los ingresos que nos produce un usuario y, en definitiva, aumentar la fidelización.

Google Remarketing embudo

Fan de WebCEO Online, herramienta SEO de ranking de palabras clave y mucho más

Quiero hablaros de mi herramienta favorita para monitorizar posiciones de palabras clave en buscadores. Se trata de la herramienta WebCEO en su versión online. Anteriormente había usado la versión desktop y a pesar de que me gustaban las funcionalidades de la herramienta, iba algo lenta a la hora de proporcionar posiciones. En cambio, la versión online es rápida, tarda escasos minutos para cientos de keywords. Y es eficiente, porque no se equivoca a la hora de darte las posiciones, cosa que sí pasa con muchas de las herramientas que he probado, algunas muy conocidas. Y algo que valoro mucho es que si tienes cualquier duda o incidencia, el servicio de atención al cliente responde al instante y está accesible en skype.…

Resumen de mi 2012

Este año ha sido intenso y productivo. Y puedo decir que estoy satisfecha. Siempre pensamos que podríamos haber dado más, porque cada año que comienza ponemos el liston de pretensiones alto, pero hay muchos logros que llegan de forma inesperada o se forjan sin que apenas podamos percibirlo, fruto de pequeños gestos, y que al final son los que más feliz nos hacen.…

Google Analytics: Comercio electrónico

Si tenemos un sitio de comercio electrónico, utilizamos este apartado para hacer un seguimiento del éxito de nuestra página y de las estrategias de marketing. Si vemos el resumen de transacciones de comercio electrónico nos encontramos con datos de diferente tipo:

1. Transacciones generadas: nos resume el buen o mal funcionamiento de nuestro sitio y nos muestra las operaciones realizadas en nuestro sitio de manera individual. Debemos hacer un seguimiento de nuestras transacciones de comercio electrónico. Por ejemplo:

      • Visitas previas a la compra: cuánto tiempo tardan los visitantes en comprar algo en nuestro sitio. Se expresa en nº de visitas (1 visita, 2 visitas, etc.)

2. Porcentaje de conversiones.

3. Valor medio del pedido: nos ayuda a entender una tendencia clave en el funcionamiento de nuestro sitio.
4. Productos adquiridos -número de productos vendidos-

También podemos segmentar esta información para identificar las mejores campañas, palabras clave o ubicaciones geográficas.

Google Analytics: Objetivos

Cuando queremos hacer un seguimiento de los sitios que no son de comercio electrónico, nos enfocaremos a los resultados definiendo los objetivos de conversión, como por ejemplo:

  • Registros de usuarios/inscripción de miembros.
  • Descargas.
  • Vistas de páginas clave en nuestro sitio.
  • Cualquier otra actividad en nuestro sitio que consideremos importante para nuestro negocio.
Podemos, de hecho, especificar valores por cada objetivo y usarlos para calcular el valor monetario de cada visita y así calcularemos el ROI. Dichos valores los visualizaremos en “conversión de objetivos”. No obstante, para revisar los objetivos iremos a la página de ajustes de Google Analytics, situado en la parte superior izquierda de la aplicación. Ahí estableceremos páginas-objetivos y le atribuiremos el valor monetario.
Algo que resulta muy interesante también es la creación de embudos de conversión para los objetivos. Un embudo de conversión es la ruta que ha de seguir el visitante dentro del sitio hasta que realiza la acción que hemos fijado como objetivo, ya sea a través de distintas páginas o enlaces. De esta manera podemos conocer y mejorar la navegabilidad, encontrando la manera de hacerla más sencilla. 

Google Analytics: Contenido

A continuación, vamos a mirar a qué páginas llegaron los visitantes. Aquí obtenemos distintos reportes:

  • Páginas principales de destino: muestra las páginas por las que normalmente llegan las personas a nuestro sitio. La columna de porcentaje de rebote nos muestra el atractivo de cada una de estas páginas. Nos fijamos sobretodo en las 10 primeras páginas de destino y cualquiera cuya tasa de abandono sea baja, debe ser revisada. Esto también puede constituir un indicador de la existencia de palabras clave problemáticas (aquellas con alto porcentaje de abandono), ya sea porque las palabras  clave son equivocadas o porque estamos dirigiendo ese tráfico creado con la palabra clave a las páginas equivocadas. 
      • Si las palabras equivocadas son de pago, debemos desinvertir en ellas. 
      • Debemos identificar también las palabras problemáticas que no son de pago para buscar unas más adecuadas que optimicen nuestro sitio.
      • Si nuestro sitio cuenta con un target fiel y recurrente, nos encontraremos en 
  • Páginas principales de entrada: También conviene identificar las 10 páginas de entrada que son más relevantes y que, por ende, necesitan más atención. Nos da una pista de qué temática interesa a los usuarios.

Google Analytics: Fuentes de tráfico

Consultamos la visión general de las fuentes de tráfico.

  • El tráfico directo incluye a las personas que introdujeron la URL de tu sitio directamente o hicieron clic en sus favoritos. Es el tráfico por defecto o ambiente. Un mayor porcentaje de estos significa que estamos consiguiendo fidelizar visitantes.
  • Los sitios web de referencia son sitios externos que envían tráfico al sitio a través de sus links, como banners o cualquier tipo de link en blogs, etc. Nos puede interesar llegar a algún tipo de acuerdo o negocio con los sitios de referencia que más tráfico nos envían.
  • Los motores de búsqueda incluyen el tráfico orgánico (resultados de búsqueda que no pagamos), así como los resultados de coste por clic que hayamos comprado. 
      • Algunos usuarios también pueden venir de e-mails o links especiales que etiquetamos con variables de campañas para poder distinguirlos.  Google Analytics nos da la posibilidad de establecer unos parámetros para poder identificar claramente los usuarios procedentes de nuestras campañas de marketing y que no sean englobados dentro de los otros tipos, para poder hacer un seguimiento adecuado.

Si hacemos click en cada uno de estas fuentes obtenemos reportes específicos. Nos interesa mucho el de motores de búsqueda. Utilizamos el detalle del buscador para obtener información específica del funcionamiento de dichos motores de búsqueda en relación con palabras clave concretas.

Las palabras clave nos dan una idea de lo que el visitante esperaba encontrar en su sitio, de tal modo que aquellas que tengan altos porcentajes de abandono nos indican el área donde no hemos cumplido sus expectativas. Es conveniente, en este caso, separar el tráfico orgánico del pagado, para identificar aquellas palabras clave pagadas que no funcionan.