En el panorama actual impulsado por la IA, el aprendizaje automático, la IA y los chatbots están transformando las industrias a un ritmo sin precedentes.
Cada vez más empresas buscan integrar la IA en sus operaciones, pero a menudo se pasa por alto cómo se construyen estos sistemas. ¿El ingrediente principal? Los datos. Un modelo de aprendizaje automático es tan bueno como los datos con los que se entrena. Pero ¿de dónde provienen todos estos datos?
Una parte importante de los datos de los que dependemos está disponible públicamente, a menudo se encuentran en publicaciones en redes sociales, reseñas de usuarios y otros contenidos en línea. Para el análisis de sentimientos , una de las fuentes de datos más ricas es Twitter , que transmite continuamente contenido generado por los usuarios en tiempo real. Sin embargo, el desafío radica en cómo recopilar estos datos de manera eficaz y limpia.
Cuando comencé a trabajar en un proyecto de análisis de sentimientos utilizando datos de Twitter, inicialmente consideré usar la API de Twitter. Sin embargo, rápidamente me encontré con una limitación importante: la API de nivel gratuito solo brinda acceso a los tuits de los siete días anteriores. Para un análisis de sentimientos integral, especialmente para temas de tendencia o eventos políticos que abarcan semanas o meses, esta restricción limita severamente el alcance y la calidad de los datos disponibles.
Si bien actualizar a un nivel de API superior era una opción, el costo era prohibitivo para un proyecto de pequeña escala como el mío. Esto me dejó con dos caminos: intentar recopilar los datos manualmente a través del scraping tradicional (que venía con su propio conjunto de desafíos como CAPTCHA, redundancias y registros incompletos) o encontrar una solución alternativa.
Ahí es donde Bright Data entra en juego, ya que resuelve estos problemas sin problemas al ofrecer conjuntos de datos de Twitter limpios, escalables e históricos. En lugar de estar limitado por las limitaciones de la API, pude acceder a datos diversos y de alta calidad para mi proyecto sin los problemas habituales.
En este artículo, le mostraré cómo aprovechar el Marketplace de Bright Data para adquirir datos de Twitter de alta calidad para el análisis de sentimientos y compartiré mi experiencia.
Dirígete al sitio web de Bright Data y crea una cuenta gratuita para comenzar. Una vez que hayas iniciado sesión, serás dirigido al Mercado de datos, donde podrás acceder a varios conjuntos de datos prediseñados, incluidos los relacionados con Twitter.
Una vez que seleccionas tu conjunto de datos, puedes descargarlo directamente a tu equipo local o acceder a él a través de la API. El proceso rápido te permite comenzar a trabajar con datos de alta calidad casi de inmediato. Utilicé el conjunto de datos de publicaciones de Twitter
Los datos sin procesar de Twitter suelen contener una gran cantidad de metadatos que pueden no ser relevantes para el análisis de sentimientos, como información de los usuarios, URL de imágenes y otros datos no textuales. Nos centraremos en el texto de los tuits, ya que es allí donde se aplicará el análisis de sentimientos, junto con métricas de interacción relevantes como reenvíos y me gusta.
import pandas as pd df = pd.read_csv("path_to_your_dataset.csv") df.head()
El siguiente paso es limpiar los datos manejando los valores faltantes y eliminando las columnas irrelevantes.
df_clean = df[['user_posted', 'description', 'date_posted', 'reposts', 'likes']] df_clean = df_clean.dropna(subset=['description']) df_clean = df_clean.drop_duplicates(subset=['description']) df_clean.head()
Ahora que hemos limpiado los datos y tenemos el texto relevante, es hora de sumergirnos en el análisis de sentimientos . El análisis de sentimientos significa determinar el tono emocional detrás de las palabras: si el tuit es positivo, negativo o neutral.
He utilizado una biblioteca popular llamada VADER (Valence Aware Dictionary and Sentiment Reasoner), diseñada específicamente para textos de redes sociales. Es excelente para manejar lenguaje informal como jerga y emojis.
El fragmento de código a continuación realiza un análisis de sentimientos utilizando VADER
from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer analyzer = SentimentIntensityAnalyzer() def get_sentiment(text): sentiment = analyzer.polarity_scores(text) return sentiment['compound'] df_clean['sentiment'] = df_clean['description'].apply(get_sentiment) df_clean.head()
Una vez que se calculan las puntuaciones de sentimiento, podemos analizar la distribución para ver qué tan positivos o negativos son los tuits en promedio. Esto puede brindar información sobre el estado de ánimo general del público sobre un tema o evento en particular. También podemos visualizar la distribución de sentimientos utilizando un histograma o una nube de palabras para identificar emociones clave.
Este gráfico te dará una buena idea de la difusión del sentimiento, ya sea positivo, negativo o neutral. En este caso, hay una alta frecuencia de tuits neutrales.
Ahora que tenemos las puntuaciones de sentimiento para cada tuit, el siguiente paso es explorar si existe alguna correlación entre el sentimiento y las métricas de interacción, como los "me gusta" y los "reposts". En el análisis de las redes sociales, uno podría esperar que un sentimiento más positivo pudiera conducir a una mayor interacción (más "me gusta", más "reposts"). Sin embargo, ¿es realmente así?
Para averiguarlo, podemos calcular la correlación entre las puntuaciones de sentimiento y las métricas de participación, los resultados son:
Correlation between sentiment and likes: 0.022806738610786123
Correlation between sentiment and reposts: 0.008885789875330416
Dados los débiles valores de correlación de mi análisis de datos, vemos que no hay una fuerte conexión entre el sentimiento y la interacción. La correlación entre el sentimiento y los "me gusta" fue de 0,02, y para el sentimiento y los reenvíos, fue de solo 0,008. Estos valores sugieren que las métricas de interacción como los "me gusta" y los reenvíos no están significativamente influenciadas por el sentimiento de los tuits .
La débil correlación entre el sentimiento y la participación muestra que hay otros factores en juego. Si bien el análisis del sentimiento nos ayuda a comprender la opinión pública, es probable que la participación esté impulsada por factores adicionales, como:
Si bien el análisis de sentimientos es una herramienta valiosa para comprender cómo se sienten las personas con respecto a un tema, no siempre es un predictor confiable de la interacción. Para obtener información más detallada sobre el comportamiento de los usuarios, es esencial considerar otros factores, como el momento en que se publica el contenido, la relevancia y la influencia del usuario.