En el panorama actual impulsat per la IA, l'aprenentatge automàtic, la IA i els chatbots estan transformant les indústries a un ritme sense precedents.
Més empreses busquen integrar la IA a les seves operacions, però sovint es passa per alt com es construeixen aquests sistemes. L'ingredient principal? Dades. Un model d'aprenentatge automàtic només és tan bo com les dades en què s'entrena. Però d'on provenen totes aquestes dades?
Una part important de les dades en què confiem estan disponibles públicament, sovint es troben a publicacions de xarxes socials, ressenyes d'usuaris i altres continguts en línia. Per a l'anàlisi de sentiments , una de les fonts de dades més riques és Twitter , que transmet contínuament contingut generat pels usuaris en temps real. El repte, però, rau en com recollir aquestes dades de manera eficaç i neta.
Quan vaig començar a treballar en un projecte d'anàlisi de sentiments amb dades de Twitter, inicialment vaig pensar en utilitzar l'API de Twitter. Tanmateix, ràpidament em vaig trobar amb una limitació important: l'API de nivell gratuït només proporciona accés als tuits dels set dies anteriors. Per a una anàlisi exhaustiva del sentiment, especialment per a temes de tendència o esdeveniments polítics que abasten setmanes o mesos, aquesta restricció limita molt l'abast i la qualitat de les dades disponibles.
Tot i que l'actualització a un nivell d'API superior era una opció, el cost era prohibitiu per a un projecte a petita escala com el meu. Això em va deixar amb dos camins: intentar recollir les dades manualment mitjançant el raspat tradicional (que venia amb el seu propi conjunt de reptes com CAPTCHA, redundàncies i registres incomplets) o trobar una solució alternativa.
Aquí és on entra en joc Bright Data, resolent aquests problemes sense problemes oferint conjunts de dades de Twitter nets, escalables i històrics. En lloc de limitar-me a les limitacions de l'API, podria accedir a dades diverses i d'alta qualitat per al meu projecte sense les molèsties habituals.
En aquest article, us explicaré com podeu aprofitar Bright Data's Marketplace per adquirir dades de Twitter d'alta qualitat per a l'anàlisi de sentiments i compartir la meva experiència.
Aneu al lloc web de Bright Data i creeu un compte gratuït per començar. Un cop hàgiu iniciat la sessió, se us dirigirà al mercat de dades, on es pot accedir a diversos conjunts de dades preconstruïts, inclosos els relacionats amb Twitter.
Un cop hàgiu seleccionat el vostre conjunt de dades, podeu descarregar-lo directament a la vostra màquina local o accedir-hi mitjançant l'API. El procés ràpid us permet començar a treballar amb dades d'alta qualitat gairebé immediatament. Vaig utilitzar el conjunt de dades de publicacions de Twitter
Les dades brutes de Twitter solen contenir moltes metadades que poden no ser rellevants per a l'anàlisi de sentiments, com ara informació de l'usuari, URL d'imatge i altres dades no textuals. Ens centrarem en el text dels tuits, ja que és allà on s'aplicarà l'anàlisi de sentiments, juntament amb mètriques de participació rellevants com ara republicacions i likes.
import pandas as pd df = pd.read_csv("path_to_your_dataset.csv") df.head()
El següent pas és netejar les dades gestionant els valors que falten i eliminant les columnes irrellevants.
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()
Ara que hem netejat les dades i tenim el text rellevant, és hora de submergir-nos en l' anàlisi del sentiment . L'anàlisi de sentiments significa determinar el to emocional darrere de les paraules, si el tuit és positiu, negatiu o neutre.
He utilitzat una biblioteca popular anomenada VADER (Valence Aware Dictionary and Sentiment Reasoner), dissenyada específicament per al text de les xarxes socials. És fantàstic per manejar llenguatge informal com l'argot i els emojis.
El fragment de codi següent realitza una anàlisi de sentiments amb 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()
Un cop calculades les puntuacions de sentiment, podem analitzar la distribució per veure com de positius o negatius són de mitjana els tuits. Això pot proporcionar informació sobre l'estat d'ànim general del públic sobre un tema o esdeveniment concret. També podem visualitzar la distribució dels sentiments mitjançant un histograma o un núvol de paraules per identificar les emocions clau.
Aquesta trama us donarà una bona idea de la propagació del sentiment, tant si es tracta de positiu, negatiu o neutral. En aquest cas, hi ha una alta freqüència de tuits neutres.
Ara que tenim les puntuacions de sentiment per a cada tuit, el següent pas és explorar si hi ha alguna correlació entre les mètriques de sentiment i compromís, com ara els m'agrada i les republicacions. En l'anàlisi de xarxes socials, es podria esperar que un sentiment més positiu pugui comportar un compromís més elevat (més m'agrada, més publicacions). Tanmateix, és realment el cas?
Per esbrinar-ho, podem calcular la correlació entre les puntuacions de sentiment i les mètriques de compromís, els resultats són:
Correlation between sentiment and likes: 0.022806738610786123
Correlation between sentiment and reposts: 0.008885789875330416
Tenint en compte els febles valors de correlació de la meva anàlisi de dades, veiem que no hi ha una connexió forta entre el sentiment i el compromís. La correlació entre el sentiment i els m'agrada va ser de 0,02, i per al sentiment i les publicacions, només va ser de 0,008. Aquests valors suggereixen que les mètriques d'interacció com els m'agrada i les publicacions no estan influenciades de manera significativa pel sentiment dels tuits .
La feble correlació entre sentiment i compromís mostra que hi ha altres factors en joc. Tot i que l'anàlisi de sentiments ens ajuda a entendre l'opinió pública, és probable que la implicació estigui impulsada per factors addicionals, com ara:
Tot i que l'anàlisi de sentiments és una eina valuosa per entendre com se senten les persones sobre un tema, no sempre és un predictor fiable de la implicació. Per obtenir una visió més profunda del comportament de l'usuari, és essencial tenir en compte altres factors com ara el moment, la rellevància i la influència del contingut del contingut.