No soy un gran admirador de Donald Trump. Técnicamente, no me gusta en absoluto. Sin embargo, él tiene este efecto de sensación carismática. Su nombre ocupa la mayoría de los periódicos y las redes sociales todo el tiempo. La actitud de la gente hacia él es dramática y bilateral. Sus palabras descriptivas son altamente positivas o negativas, que son un material perfecto para el raspado web y el análisis de sentimientos.
El objetivo de este taller es utilizar una herramienta de web scraping para leer y raspar tweets sobre Donald Trump con un rastreador web. Luego llevamos a cabo un análisis de sentimientos utilizando Python y descubrimos la voz pública sobre el Presidente. Y finalmente, visualizamos los datos usando Tableau public.
Deberías seguir leyendo:
- SI no sabe cómo raspar contenidos/comentarios en las redes sociales.
- SI conoce Python pero no sabe cómo usarlo para el análisis de sentimientos.
Comencemos con el raspado con Octoparse. Descargué la versión más reciente de los sitios web oficiales y finalicé el registro siguiendo las instrucciones. Después de iniciar sesión, abra la plantilla de Twitter incorporada.
Datos extraídos en el Raspador (Scraper):
- Nombre
- Tiempo de publicación
- Contenido
- URL de la imagen
- Tweet URL
- Número de comentarios, retweets y me gusta
Ingrese “Donald Trump” en el campo Parámetro para decirle al rastreador la palabra clave. Tan simple como parecía, recibí unos 10k tweets. Puede raspar tantos tweets como sea posible. Después de recibir los tweets, exporte los datos como un archivo de texto, nombre el archivo como “data.txt”.
Análisis de sentimientos usando Python
Antes de comenzar, asegúrese de tener Python y un editor de texto instalado en su computadora. Yo uso PPython 2.7 and Notepad++.
Luego usamos dos listas de palabras de opinión para analizar los tweets raspados. Usted puede descargarlos desde aquí. Estas dos listas contienen palabras positivas y negativas (palabras de sentimiento) que fueron resumidas por Minqing Hu y Bing Liu del estudio de investigación sobre las palabras de opinión presentadas en las redes sociales.
La idea aquí es tomar cada palabra de opinión de las listas, volver a los tweets y contar la frecuencia de cada palabra de opinión en los tweets. Como resultado, recopilamos las palabras de opinión correspondientes en los tweets y el recuento.
Primero, cree una lista positiva y negativa con dos listas de palabras descargadas. Almacenan todas las palabras que se analizan a partir de los archivos de texto.
Luego, preprocese los textos y procesar los datos eliminando todos los signos de puntuación, signos y números con el siguiente código.
Como resultado, los datos solo consistían en palabras simbólicas, lo que facilita su análisis. Después de eso, cree tres diccionarios: word_count_dict, word_count_positive y word_count_negative.
A continuación, defina cada diccionario. Si existe una palabra de opinión en los datos, cuéntela aumentando el valor de word_count_dict value by “1”.
Después de contar, decida si una palabra suena positiva o negativa. Si es una palabra positiva, word_count_positive aumenta su valor en “1”; de lo contrario, el diccionario positivo sigue siendo el mismo valor. Respectivamente, word_count_negative aumenta su valor o sigue siendo el mismo valor. Si la palabra no está presente en la lista positiva o negativa, es un pase.
Polaridad: Positiva vs. Negativa
Como resultado, obtuve 5352 palabras negativas y 3894 palabras positivas, guardé la lista con su elección de nombre, la abrí con Tableau public y construí un gráfico de burbujas. Si no sabe cómo usar Tablau public para crear un gráfico de burbujas, haga clic aquí.
El uso de palabras positivas es unilateral. Solo se utilizan 404 tipos de palabras positivas. Las palabras más frecuentes son, por ejemplo, “me gusta”, “genial” y “correcto”. La mayoría de las opciones de palabras son básicas y coloquiales, como “wow” y “cool”, mientras que el uso de palabras negativas es mucho más multilateral. Hay 809 tipos de palabras negativas que la mayoría de ellas son formales y avanzadas. Los más utilizados son “ilegales”, “mentiras” y “racistas”. Otras palabras avanzadas como “delincuente”, “inflamatorio” e “hipócritas” también están presentes.
La elección de las palabras indica claramente que el nivel de educación de quien apoya es más bajo que esa desaprobación. Aparentemente, Donald Trump no es tan bienvenido entre los usuarios de Twitter.
Conclusión
En este artículo, hablamos sobre cómo raspar tweets en Twitter usando Octoparse. También discutimos cómo preprocesar el texto de datos y analizar las palabras de opinión positivas / negativas expresadas en Twitter usando Python. Para obtener una versión completa del código, puede descargar aquí.