abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:55 | Nová verze

    Byla vydána nová stabilní verze 24.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Uakari. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    včera 17:33 | Nová verze

    Byla vydána nová verze 1.48.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Fernando F. Mancera. Mimo jiné se v nastavení místo mac-address-blacklist nově používá mac-address-denylist.

    Ladislav Hagara | Komentářů: 10
    včera 17:11 | Komunita

    Před 25 lety, 31. května 1999, započal vývoj grafického editoru Krita (Wikipedie). Tenkrát ještě pod názvem KImageShop a později pod názvem Krayon.

    Ladislav Hagara | Komentářů: 3
    včera 12:55 | Nová verze

    Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 24.05.0 editoru videa Kdenlive (Wikipedie). Ke stažení brzy také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 11:22 | Zajímavý článek

    David Revoy, autor mj. komiksu Pepper&Carrot, se rozepsal o své aktuální grafické pracovní stanici: Debian 12 Bookworm, okenní systém X11, KDE Plasma 5.27, …

    Ladislav Hagara | Komentářů: 9
    30.5. 22:44 | Nová verze

    Wayland (Wikipedie) byl vydán ve verzi 1.23.0. Z novinek lze vypíchnout podporu OpenBSD.

    Ladislav Hagara | Komentářů: 0
    30.5. 21:22 | Zajímavý článek

    Craig Loewen na blogu Microsoftu představil novinky ve Windows Subsystému pro Linux (WSL). Vypíchnout lze GUI aplikaci pro nastavování WSL nebo správu WSL z Dev Home.

    Ladislav Hagara | Komentářů: 0
    30.5. 12:44 | Pozvánky

    V sobotu 1. června lze navštívit Maker Faire Ostrava, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    30.5. 12:22 | Nová verze

    Webový server Caddy (Wikipedie) s celou řadou zajímavých vlastností byl vydán ve verzi 2.8 (𝕏). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 14
    29.5. 22:11 | Nová verze

    Byla vydána verze 3.0 (@, 𝕏) svobodného softwaru HAProxy (The Reliable, High Performance TCP/HTTP Load Balancer; Wikipedie) řešícího vysokou dostupnost, vyvažování zátěže a reverzní proxy. Detailní přehled novinek v příspěvku na blogu společnosti HAProxy Technologies.

    Ladislav Hagara | Komentářů: 7
    Rozcestník

    Wordcloud z dat z Twitteru

    10.2.2014 10:25 | Přečteno: 632× | Stunome

    Dnes si zopakujeme základy z blogu Wordcloud z dat z Facebooku, tentokráte se ale podíváme na právě probíhající olympiádu a stáhneme si z Twitteru nějaká ta data o hashtagu #zoh2014! A aby toho nebylo málo, použijeme na vykreslení místo tradičního Rka Tagul.

    Twittere kde tě mám

    Jestli někdo tvrdí, že Facebook je evil, pravděpodobně nic neví o Twitteru. Sociální síť, která je podle mnohých spíše protokol, vznikla na otevřenosti a podpoře stovek neoficiálních klientů. A copak se nestalo po tom co měla dostatečný market share? Ano děti, hádáte správně - s příchodem API v 1.1 byl konec s jakoukoliv otevřeností, místo toho přišlo strašlivé přihlašování přes OAUth a konec většiny neoficiálních klientů a Twitter tím podle mého překonal i tak "evil" společnost jakou je Facebook.

    K přístupu do Twitter API je nyní tedy potřeba vytvořit si aplikaci s pokud možno co nejvyšším oprávněním. Tu vytvoříme na adrese apps.twitter.com, pod tlačítkem Create New App. Vyplňte jen povinné pole, rozhodně nevyplňujte Callback adresu. Occess level doporučuji "Read, write, and direct messages" < při slabším mi většina dotazů házela Not Authorized, ale je možné, že sem měl chybu i někde jinde. S tím jak se Twitter API mění je takřka nemožné najít na internetu na 100 % funkční návod.

    Po vytvoření aplikace nás zajímá především záložka API keys a hodnoty API key a API secret, které použijeme v Rku pro generování přístupového tokenu.

    R, R, R!

    Potřebné balíčky nejprve nainstalujeme a následně načteme:

    install.packages("ROAuth")
    install.packages("twitteR")
    install.packages("wordcloud")
    install.packages("tm")
     
    library("ROAuth")
    library("twitteR")
    library("wordcloud")
    library("tm")
    

    Pro ty z vás, kteří nedejbože používají Rko na Windows je nezbytné stáhnout certifikát, a jelikož mi CUrl házel nějaké neurčité chyby ohledně přístupu k /etc/ssl/certs, tak jsem byl tento postup nucen také použít:

    download.file(url="http://curl.haxx.se/ca/cacert.pem", destfile="cacert.pem")
    

    Teď jedna z nejdůležitějších částí, vytvoření OAuthFactory a její nastavení. Zde byl problém především v tom, že ve většině návodů byly cesty bez https, pouze jako http, což nyní nefunguje, ale vrací po handshaku neurčitou chybu "Unauthorized". Nezapomeňte nahradit API_key a API_secret za vaše hodnoty:

    cred <- OAuthFactory$new(consumerKey='API_key',
    consumerSecret='API_secret',
    requestURL='https://api.twitter.com/oauth/request_token',
    accessURL='https://api.twitter.com/oauth/access_token',
    authURL='https://api.twitter.com/oauth/authorize')
    

    A teď to příjde, handshake:

    cred$handshake(cainfo="cacert.pem")
    

    Tento příkaz vygeneruje url s access_tokenem, která vám vrátí PIN, který musíte napsat do Rka. Jakmile přihlášení projde, uložte si token na horší časy:

    save(cred, file="twitter_auth.Rdata")
    

    Poté stačí už jen zaregistrovat OAuth, což vypíše něco jako TRUE:

    registerTwitterOAuth(cred)

    A můžeme se směle vrhnout na tahání dat, což je to jediné co nás zajímá, že. Budeme chtít stáhnout všechny twíty například z 8. 2. obsahující hashtag #zoh2014. Bude tedy třeba vyplnit parametry od, do - ty se vyplňují jako since a until, since nastaveníme na 8. 2., until pak na 9. 2. (který tam pak nebude):

    r_stats <- searchTwitter("#zoh2014", n=3000, cainfo="cacert.pem", since='2014-02-08', until='2014-02-09')

    A teď už jen převod na corpus, čištění a spočtení frekvence:

    r_stats_text <- sapply(r_stats, function(x) x$getText())
    r_stats_text_corpus <- Corpus(VectorSource(r_stats_text))
    r_stats_text_corpus <- tm_map(r_stats_text_corpus, tolower)
    r_stats_text_corpus <- tm_map(r_stats_text_corpus, removePunctuation)
    r_stats_text_corpus <- tm_map(r_stats_text_corpus, function(x)removeWords(x,stopwords()))
    
    ap.tdm <- TermDocumentMatrix(r_stats_text_corpus)
    ap.m <- as.matrix(ap.tdm)
    ap.v <- sort(rowSums(ap.m), decreasing=TRUE)
    ap.d <- data.frame(word = names(ap.v), freq=ap.v)
    write.table(ap.d, file="zoh2014.csv", append=FALSE, sep= "\t")
    

    V tomto bodě opustíme R a vydáme se do Tagulu.

    Proč Tagul?

    Tagul je jendoduchý nástroj na wordcloudy, který má jednu zajímavou vlastnost: dokáže vyplnit wordcloudem obrázek, který mu připravíte. Zvládá od jednoduchých tvarů přes jakkoliv složité obrysy a má tu vlastnost, že používá barvu pozadí obrázku, který mu předhodíte. Z vygenerovaného CSV z posledního kroku v Rku si tedy zkopírujeme třeba posledních 150 slov a vložíme je do Tagulu. Dále si seženeme nějakou fotku, u kterou si podle potřeby upravíme. V našem případě to byly Olympijské kruhy, které jsem zvektorizoval a nastavil jednolitou barvu všech kruhů. Po vykreslení tedy dostaneme toto:

    wordcloud #zoh2014

    Závěr

    Měření bylo úspěšné a nikdo při něm nebyl zraněn. O kostičku se hlašte v komentářích!

           

    Hodnocení: 80 %

            špatnédobré        

    Obrázky

    Wordcloud z dat z Twitteru, obrázek 1

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    10.2.2014 11:46 gsnak | skóre: 22 | blog: gsnak
    Rozbalit Rozbalit vše Re: Wordcloud z dat z Twitteru
    Pozor, olympijské kruhy sú intelektuálne vlastníctvo Olympijského výboru. Ich používanie bez povolenia je trestné!
    Čo Rys, to vrah!
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.