Dohvati Twitter podatke te analiziraj

BI alati / Poslovna analitika / Rudarenje podataka

Dohvati Twitter podatke te analiziraj

Ponekad je podatke veoma jednostavno nabaviti, ali možda niste svjesni ni načina ni mjesta gdje bi mogli potražiti. KNIME već odavno nudi razne načine dohvaćanja podataka s društvenih mreža te čak i s web stranica (Palladian). U ovom članku će se predstaviti Twitter. Podatke s Twitter možete dohvaćati preko Twitter API unutar KNIME-a (KNIME Labs). Naravno, postoje i načini da se Twitter podaci dohvate preko programskog jezika. U ovom članku će se prikazati i taj način, a radi se o statističkom jeziku R. Kad govorimo o Twitter API, radi se o veoma jednostavno procesu, gdje sve možete uraditi u samo dva noda.

Twitter & KNIME

Da, u dva noda možete dohvatiti sve ono što Vas zanima u nekoliko sekundi-minuta. Radi se o nodu Twitter API Connector te o nodu Twitter Search. Prvi nod je ključni korak, gdje je potrebno unijeti svoje podatke nakon što kreirate Twitter račun na dev.twitter.com. Od parametara za unos unutar ovog noda se traži API key, API secret, Access token te Access token secret. Nakon što unesete ove bitne informacije, prelazi se na zabavni dio. Twitter search od Vas traži da popunite tek nekoliko kućica te Vam ponudi rezultate. Prvo je ono što želite pretraživati tj. po kojoj ključnoj riječi želite dohvaćati tweetove. U našem primjeru se radi o upitu #WorldCup. Dakle, želimo da nam KNIME dohvati one tweet-ove koji sadrže navedeni hashtag. Nakon toga unosimo da li želimo da se dohvaćaju po popularnosti, po datumu ili kombinirano. Zadnja dva su koliko tweetova želite dohvatiti te da li želite i slike učitati u KNIME. Ono što je bitno naglasiti da iako možete staviti 10 000 tweetova, KNIME Vam ne mora vratiti upravo toliko brojku, dapače obično Vam vrati manju brojku.

Nakon ovih koraka zapravo ste došli do kraja i dobili ste tablicu koja izgleda kao na slici ispod. Tablica sadrži slike, korisnička imena, sam tweet tj. tekst, vrijeme objave tweeta, da li je on označen kao favorite, da li je retweetan te ukoliko da, od koga. S ovim podacima dalje možete raditi ili sentiment analizu ili izradu oblaka riječi da utvrditi koje su riječi najspominjanije ili možda čak i da iskoristite KNIME za analizu slika dohvaćenih preko ovog API-a. Izbor je na Vama. Osim ova dva postoje i nodovi za objavu tweeta na Vaš Twitter račun preko KNIME-a (za geekove željne zabave), dohvaćanje vaših podataka o tweets, favorites, retweets itd. , možete i dohvatiti podatke od nekih drugih usera/korisnika, a možete i provjeriti tko Vas je spominjao u svojim tweet-ovima.

twitter podaci

Sljedeće je odrada gotovo istog procesa, ali pomoću R-a. Neće se prikazati samo R već integracija R-a i KNIME, kako bi vidjeli kako se jednostavno mogu integrirati. U ovom slučaju proces se sastoji također od dva noda, ali dodan je treći tako da dobijemo tablicu sličniju prvom primjeru.

r knime

 

Ovdje također imamo dva noda, gdje se u prvom definira sam R kod, a u drugom filtriramo željene atribute (ako Vam je potrebno manje atributa). Ispod se nalazi kod koji se smješta u prvi nod. Dakle, u ovom slučaju je moguće riješiti cijelu dilemu sa samo jednim nodom.


library(twitteR)

api_key <- "xxxxxxxxxxxxxxxxxxxxxxxxxxx"
api_secret <- "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
access_token <- "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
access_token_secret <- "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
setup_twitter_oauth(api_key,api_secret,access_token,access_token_secret)

#####################################################################

#Početak rada je u ovom dijelu
tweets = searchTwitter("croatia", 1000, lang="en")

tweet_df<-twListToDF(tweets)
knime.out<- tweet_df

U njemu je na početku naveden potreban library za R (zapravo je potreban twitteR, ali za njegovu instalaciju Vam mogu biti potrebni : devtools, rjson, bit64, httr). U slučaju da se pojave problemi oko instalacije twitteR paketa koristite sljedeći kod direktno u R ili R studio, pa se vratite u KNIME:


install.packages(c("devtools", "rjson", "bit64", "httr"))
library(devtools)

install_github("twitteR", username="geoffjentry")
library(twitteR)

Nakon toga dolazi unos ona 4 koda koja su stavljena i za prvi nod prošlog primjera. Nakon toga u jednoj liniji koda Vam se nalazi tweets = searchTwitter(“croatia”, 1000, lang=”en”) i kaže pretraži Twitter po ključnoj riječi „croatia“, želim 1000 tvitova, te želim engleski kao jezik. Zadnje dvije linije su za prebacivanje rezultata iz R-a u KNIME. Dakle, jedino što Vas ovdje može zanimati je ta jedna linija koda u kojoj se nalaze sve informacije, a ostalo ništa ne trebate mijenjati. U drugom nodu su izbačeni suvišni atributi koji nam nisu trebali, a tablica izgleda kao na slici ispod.

tvit

Eto toliko o dohvaćanju podataka s Twittera. S dobivenim podacima u samo nekoliko minuta možete dobiti kvalitetne ulaze u modele tekstualne analize ili možda želite analizirati mrežu retweetova. U krajnjem slučaju možete sebi pretražiti ad hoc nešto što želite brzo saznati.