abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 18:11 | IT novinky

    Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | Komunita

    V Bostonu probíhá konference Red Hat Summit 2025. Vybrané přednášky lze sledovat na YouTube. Dění lze sledovat na síti 𝕏 (#RHSummit).

    Ladislav Hagara | Komentářů: 0
    včera 15:00 | Nová verze

    Společnost Red Hat oficiálně oznámila vydání Red Hat Enterprise Linuxu 10. Vedle nových vlastností přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 4
    včera 12:22 | Pozvánky

    Tuto sobotu 24. května se koná historicky první komunitní den projektu Home Assistant. Zváni jsou všichni příznivci, nadšenci a uživatelé tohoto projektu. Pro účast je potřebná registrace. Odkazy na akce v Praze a v Bratislavě.

    jose17 | Komentářů: 0
    včera 04:44 | IT novinky

    Troy Hunt představil Have I Been Pwned 2.0, tj. nový vylepšený web služby, kde si uživatelé mohou zkontrolovat, zda se jejich hesla a osobní údaje neobjevily v únicích dat a případně se nechat na další úniky upozorňovat.

    Ladislav Hagara | Komentářů: 16
    19.5. 23:22 | Zajímavý software

    Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 7
    19.5. 22:22 | Zajímavý software

    V Seattlu a také online probíhá konference Microsoft Build 2025. Microsoft představuje své novinky. Windows Subsystem for Linux je nově open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 1
    19.5. 13:11 | Zajímavý článek

    Z příspěvku Turris Sentinel – co přinesl rok 2024 na blogu CZ.NIC: "Za poslední rok (únor 2024 – únor 2025) jsme zachytili 8,3 miliardy incidentů a to z 232 zemí a z jejich závislých území. Tyto útoky přišly od 6,2 milionu útočníků (respektive unikátních adres). SMTP minipot je stále nejlákavější pastí, zhruba 79 % útoků bylo směřováno na tento minipot, 16 % útoků směřovalo na minipot Telnet, 3 % útoků směřovaly na minipot HTTP a 2 % na minipot FTP. Dále jsme zaznamenali 3,2 milionu unikátních hesel a 318 tisíc unikátních loginů, které útočníci zkoušeli."

    Ladislav Hagara | Komentářů: 1
    19.5. 12:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová verze 3.0.4 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    19.5. 12:33 | Nová verze

    Byla vydána nová stabilní verze 7.4 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 136. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (62%)
     (23%)
     (8%)
     (2%)
     (0%)
     (0%)
     (6%)
    Celkem 52 hlasů
     Komentářů: 5, poslední včera 20:57
    Rozcestník

    Wordcloud z dat z Twitteru

    10.2.2014 10:25 | Přečteno: 659× | 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.