[{"data":1,"prerenderedAt":158},["ShallowReactive",2],{"post-en-visualising-keywords-from-facebook-posts":3,"translation-en-visualising-keywords-from-facebook-posts":157},["Reactive",4],{"id":5,"date":6,"date_gmt":7,"guid":8,"modified":10,"modified_gmt":11,"slug":12,"status":13,"type":14,"link":15,"title":16,"content":18,"excerpt":21,"author":23,"featured_media":24,"comment_status":25,"ping_status":25,"sticky":20,"template":26,"format":27,"meta":28,"categories":29,"tags":31,"class_list":33,"_links":41,"_embedded":82,"tagsResolved":143,"translations":144},536,"16. 11. 2015","2015-11-16T00:00:00",{"rendered":9},"https:\u002F\u002Fjakubferenc.cz\u002Farticle\u002Fvizualizace-klicovych-slov-z-facebook-postu","2025-07-05T13:38:32","2025-07-05T11:38:32","vizualizace-klicovych-slov-z-facebook-postu","publish","post","https:\u002F\u002Fcms.local.test\u002Fvizualizace-klicovych-slov-z-facebook-postu\u002F",{"rendered":17},"Vizualizace klíčových slov z Facebook postů",{"rendered":19,"protected":20},"\u003Cp>Mějme zadání: pro vás nejvhodnějším způsobem si poznamenejte facebookové příspěvky těch stránek, které sledujete a jejichž obsah aspoň vzdáleně připomíná reakci či kritiku na politické dění (jinak řečeno, žádné kočičky ani sofistikované analýzy sportovních utkání). Proč to?\u003C\u002Fp>\n\u003Cp>Tak zaprvé vás nejspíše překvapí, že selekce toho, čemu jste za poslední rok dali lajk, nebude až tak různorodá, jak jste si mysleli; ano, různým marketingovým nástrojům tak ulehčujete, aby si o vaší osobnosti pomocí chytrých algoritmů udělali docela jasno. Že machine learning a\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBig_data\">\u003Cbr \u002F>\nBig Data\u003Cbr \u002F>\n\u003C\u002Fa>\u003Cbr \u002F>\nje již přítomností budoucnosti a velkým byznysem, není velká novinka; některé banky dokonce takto začínají procházejí vaše sociální data, aby upřesnily své algoritmy pro výpočet rizika, zda vám tu půjčku na novou škodovku mají dát, nebo ne. Superstar v akademických kruzích nových médií Lev Manovich zas na svém Twitteru upozornil na, že technologická společnost zaměřená na Big Data dokáže podle navštívených lokací identifikovat konzumní návyky jednotlivých uživatelů a zasadit je do předpřipravených škatulí typů konzumentů. Pro čtenáře vyznající se v přehuštěné terminologii z lehce amorfního oboru User Experience Designu se vlastně jedná o automatizované vytváření\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPersona_(user_experience)\">\u003Cbr \u002F>\nperson\u003Cbr \u002F>\n\u003C\u002Fa>\u003Cbr \u002F>\n, čímž dokonce splňují i jednu ze základních podmínek, jak ji definoval interakční designér Alan Cooper, aby persony byly založené na reálných datech reálných uživatelů. Na mém Facebooku by automat narazil na takové bizarnosti jako například, že s chladnou hlavou sleduji jak Ádvojku a Deník referendum, tak například i Parlamentní listy, ba dokonce i Pravý prostor.\u003C\u002Fp>\n\u003Cdiv class=\"tweet-embed\">\n\u003Cblockquote class=\"twitter-tweet\" lang=\"en\">\n\u003Cp dir=\"ltr\" lang=\"en\">Skyhook categories people into consumer types based on locations they visit\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Fhashtag\u002FBigData?src=hash\">\u003Cbr \u002F>\n#BigData\u003Cbr \u002F>\n\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Ft.co\u002FCyTczxXNv4\">\u003Cbr \u002F>\nhttps:\u002F\u002Ft.co\u002FCyTczxXNv4\u003Cbr \u002F>\n\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Ft.co\u002F2muNscmZiq\">\u003Cbr \u002F>\npic.twitter.com\u002F2muNscmZiq\u003Cbr \u002F>\n\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>— manovich (@manovich)\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Fmanovich\u002Fstatus\u002F665612097737355264\">\u003Cbr \u002F>\nNovember 14, 2015\u003Cbr \u002F>\n\u003C\u002Fa>\u003C\u002Fp>\u003C\u002Fblockquote>\n\u003Cp>\u003Cscript async=\"\" charset=\"utf-8\" src=\"\u002F\u002Fplatform.twitter.com\u002Fwidgets.js\">\n\u003C\u002Fscript>\u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003Cp>Z technických důvodů jsem ale nechal česká média ležet chladem, jelikož jsem měl pro lingvistickou analýzu dostupný pouze (rozsáhlý) korpus anglického jazyka. Po listování FB stránkami jsem vybral tyto více či méně extravagantní zdroje informací:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>BBC News\u003C\u002Fli>\n\u003Cli>Bloomberg Business\u003C\u002Fli>\n\u003Cli>CNN Politics\u003C\u002Fli>\n\u003Cli>Counter Current News\u003C\u002Fli>\n\u003Cli>Democracy Now\u003C\u002Fli>\n\u003Cli>Deutsche Welle\u003C\u002Fli>\n\u003Cli>Haaretz (izraelské noviny)\u003C\u002Fli>\n\u003Cli>Mondoweiss\u003C\u002Fli>\n\u003Cli>The New York Times Opinion\u003C\u002Fli>\n\u003Cli>PRESS TV (íránský zdroj v anglickém jazyce)\u003C\u002Fli>\n\u003Cli>Reuters\u003C\u002Fli>\n\u003Cli>Salon\u003C\u002Fli>\n\u003Cli>The Economist\u003C\u002Fli>\n\u003Cli>The Guardian\u003C\u002Fli>\n\u003Cli>The Intercept\u003C\u002Fli>\n\u003Cli>The New Republic\u003C\u002Fli>\n\u003Cli>The Washington Times\u003C\u002Fli>\n\u003Cli>Truthdig\u003C\u002Fli>\n\u003Cli>Wall Street Journal\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Díky Graph API od Facebooku jsem byl schopný si stáhnout přes 1000 postů, které mnou sledované zpravodajské servery nasdílely za jeden týden na své zdi. Chtěl jsem vědět, jaká klíčová slova se v určitý den a hodině nejčastěji v těchto zprávách objeví. Na lingvistickou analýzu všech těchto postů mi posloužil python a knihovna TextBlob. U každého postu jsem prošel titulek i perex a zaznamenal všechny jmenné fráze (noun phrases), ze kterých jsem učinil klíčová slova daného postu.\u003C\u002Fp>\n\u003Cblockquote>\u003Cp>Zdrojová data v JSONu po analýze jmenných frází pro každý post:\u003Cbr \u002F>\n\u003Ca href=\"http:\u002F\u002Fwww.jakubferenc.cz\u002Fwordpress\u002Fwp-content\u002Fuploads\u002F2015\u002F11\u002Fsource_data_json.7z\">\u003Cbr \u002F>\nsource_data_json.7z\u003Cbr \u002F>\n\u003C\u002Fa>\u003C\u002Fp>\u003C\u002Fblockquote>\n\u003Cp>S výsledným JSON souborem jsem dále pracoval v javascriptu, kde jsem data parseroval a vhodně vizualizoval. Říkal jsem si, že pro analýzu výskytu klíčových slov za časové období dobře poslouží nějaký posuvník, podle kterého budu zobrazovat data pro vizualizaci.\u003C\u002Fp>\n\u003Cp>Zatímco v průběhu týdne byly klíčová slova rozprostřena rovnoměrně do mnoha témat, počátkem páteční noci začíná velmi zřetelně dominovat reakce na teroristické útoky v Paříži.\u003C\u002Fp>\n\u003Cp>Zárodečný výsledek můžete posoudit:\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fstunome.jakubferenc.cz\u002Fvizualizace\u002F\">\u003Cbr \u002F>\nhttp:\u002F\u002Fstunome.jakubferenc.cz\u002Fvizualizace\u002F\u003Cbr \u002F>\n\u003C\u002Fa>\u003C\u002Fp>\n",false,{"rendered":22,"protected":20},"\u003Cp>Mějme zadání: pro vás nejvhodnějším způsobem si poznamenejte facebookové příspěvky těch stránek, které sledujete a jejichž obsah aspoň vzdáleně připomíná reakci či kritiku na politické dění (jinak řečeno, žádné kočičky ani sofistikované analýzy sportovních utkání). Proč to? Tak zaprvé vás nejspíše překvapí, že selekce toho, čemu jste za poslední rok dali lajk, nebude až tak různorodá, jak [&hellip;]\u003C\u002Fp>\n",1,0,"closed","","standard",{"footnotes":26},[30],4,[32],6,[34,14,35,36,37,38,39,40],"post-536","type-post","status-publish","format-standard","hentry","category-article","tag-fixed",{"self":42,"collection":48,"about":51,"author":54,"replies":58,"version-history":61,"predecessor-version":64,"wp:attachment":68,"wp:term":71,"curies":78},[43],{"href":44,"targetHints":45},"https:\u002F\u002Fcms.local.test\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts\u002F536",{"allow":46},[47],"GET",[49],{"href":50},"https:\u002F\u002Fcms.local.test\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts",[52],{"href":53},"https:\u002F\u002Fcms.local.test\u002Fwp-json\u002Fwp\u002Fv2\u002Ftypes\u002Fpost",[55],{"embeddable":56,"href":57},true,"https:\u002F\u002Fcms.local.test\u002Fwp-json\u002Fwp\u002Fv2\u002Fusers\u002F1",[59],{"embeddable":56,"href":60},"https:\u002F\u002Fcms.local.test\u002Fwp-json\u002Fwp\u002Fv2\u002Fcomments?post=536",[62],{"count":23,"href":63},"https:\u002F\u002Fcms.local.test\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts\u002F536\u002Frevisions",[65],{"id":66,"href":67},855,"https:\u002F\u002Fcms.local.test\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts\u002F536\u002Frevisions\u002F855",[69],{"href":70},"https:\u002F\u002Fcms.local.test\u002Fwp-json\u002Fwp\u002Fv2\u002Fmedia?parent=536",[72,75],{"taxonomy":73,"embeddable":56,"href":74},"category","https:\u002F\u002Fcms.local.test\u002Fwp-json\u002Fwp\u002Fv2\u002Fcategories?post=536",{"taxonomy":76,"embeddable":56,"href":77},"post_tag","https:\u002F\u002Fcms.local.test\u002Fwp-json\u002Fwp\u002Fv2\u002Ftags?post=536",[79],{"name":80,"href":81,"templated":56},"wp","https:\u002F\u002Fapi.w.org\u002F{rel}",{"author":83,"wp:term":100},[84],{"id":23,"name":85,"url":86,"description":26,"link":87,"slug":85,"avatar_urls":88,"_links":92},"jakubferenc","https:\u002F\u002Fcms.local.test\u002Fwordpress","https:\u002F\u002Fcms.local.test\u002Fauthor\u002Fjakubferenc\u002F",{"24":89,"48":90,"96":91},"https:\u002F\u002Fsecure.gravatar.com\u002Favatar\u002Fbe0a3bc58c835417264df524152162a21507cbbd47b541b516705d259a516c1f?s=24&d=mm&r=g","https:\u002F\u002Fsecure.gravatar.com\u002Favatar\u002Fbe0a3bc58c835417264df524152162a21507cbbd47b541b516705d259a516c1f?s=48&d=mm&r=g","https:\u002F\u002Fsecure.gravatar.com\u002Favatar\u002Fbe0a3bc58c835417264df524152162a21507cbbd47b541b516705d259a516c1f?s=96&d=mm&r=g",{"self":93,"collection":97},[94],{"href":57,"targetHints":95},{"allow":96},[47],[98],{"href":99},"https:\u002F\u002Fcms.local.test\u002Fwp-json\u002Fwp\u002Fv2\u002Fusers",[101,122],[102],{"id":30,"link":103,"name":104,"slug":104,"taxonomy":73,"_links":105},"https:\u002F\u002Fcms.local.test\u002Fcategory\u002Farticle\u002F","article",{"self":106,"collection":111,"about":114,"wp:post_type":117,"curies":120},[107],{"href":108,"targetHints":109},"https:\u002F\u002Fcms.local.test\u002Fwp-json\u002Fwp\u002Fv2\u002Fcategories\u002F4",{"allow":110},[47],[112],{"href":113},"https:\u002F\u002Fcms.local.test\u002Fwp-json\u002Fwp\u002Fv2\u002Fcategories",[115],{"href":116},"https:\u002F\u002Fcms.local.test\u002Fwp-json\u002Fwp\u002Fv2\u002Ftaxonomies\u002Fcategory",[118],{"href":119},"https:\u002F\u002Fcms.local.test\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts?categories=4",[121],{"name":80,"href":81,"templated":56},[123],{"id":32,"link":124,"name":125,"slug":125,"taxonomy":76,"_links":126},"https:\u002F\u002Fcms.local.test\u002Ftag\u002Ffixed\u002F","fixed",{"self":127,"collection":132,"about":135,"wp:post_type":138,"curies":141},[128],{"href":129,"targetHints":130},"https:\u002F\u002Fcms.local.test\u002Fwp-json\u002Fwp\u002Fv2\u002Ftags\u002F6",{"allow":131},[47],[133],{"href":134},"https:\u002F\u002Fcms.local.test\u002Fwp-json\u002Fwp\u002Fv2\u002Ftags",[136],{"href":137},"https:\u002F\u002Fcms.local.test\u002Fwp-json\u002Fwp\u002Fv2\u002Ftaxonomies\u002Fpost_tag",[139],{"href":140},"https:\u002F\u002Fcms.local.test\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts?tags=6",[142],{"name":80,"href":81,"templated":56},[],{"en":145,"es":149,"fr":153},{"title":146,"slug":147,"description":148},"Visualising Keywords from Facebook Posts","visualising-keywords-from-facebook-posts","An experiment: a week of Facebook posts from news pages, keywords extracted with Python and TextBlob, and a JavaScript visualisation of how they shift over time.",{"title":150,"slug":151,"description":152},"Visualización de palabras clave de publicaciones de Facebook","visualizacion-de-palabras-clave-de-publicaciones-de-facebook","Un experimento: una semana de publicaciones de Facebook de medios informativos, palabras clave extraídas con Python y TextBlob y su visualización en JavaScript.",{"title":154,"slug":155,"description":156},"Visualisation des mots-clés de publications Facebook","visualisation-des-mots-cles-de-publications-facebook","Une expérience : une semaine de publications Facebook de médias d’information, des mots-clés extraits avec Python et TextBlob et leur visualisation en JavaScript.","\u003Cp>Let’s have a task: in whatever way suits you best, note down the Facebook posts of those pages you follow whose content at least remotely resembles a reaction to, or a critique of, political events (in other words, no kittens and no sophisticated analyses of sports matches). Why?\u003C\u002Fp>\n\u003Cp>Well, firstly, you will most likely be surprised that the selection of what you have liked over the past year is not as varied as you thought; yes, you are making it easier for various marketing tools to get a pretty clear picture of your personality with the help of clever algorithms. That machine learning and\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBig_data\">\u003Cbr \u002F>\nBig Data\u003Cbr \u002F>\n\u003C\u002Fa>\u003Cbr \u002F>\nare already the present of the future and big business is no great news; some banks are even starting to go through your social data this way in order to refine their algorithms for calculating the risk of whether or not to give you that loan for a new Škoda. Lev Manovich, a superstar in the academic circles of new media, in turn pointed out on his Twitter that a technology company focused on Big Data can identify the consumer habits of individual users from the locations they visit and slot them into pre-prepared boxes of consumer types. For readers versed in the overcrowded terminology of the slightly amorphous field of User Experience Design, this is in fact the automated creation of\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPersona_(user_experience)\">\u003Cbr \u002F>\npersonas\u003Cbr \u002F>\n\u003C\u002Fa>\u003Cbr \u002F>\n, by which they even fulfil one of the basic conditions, as defined by the interaction designer Alan Cooper, that personas be based on real data from real users. On my Facebook the machine would come across such oddities as the fact that I calmly follow both Ádvojka and Deník Referendum and, for example, Parlamentní listy, indeed even Pravý prostor.\u003C\u002Fp>\n\u003Cdiv class=\"tweet-embed\">\n\u003Cblockquote class=\"twitter-tweet\" lang=\"en\">\n\u003Cp dir=\"ltr\" lang=\"en\">Skyhook categories people into consumer types based on locations they visit\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Fhashtag\u002FBigData?src=hash\">\u003Cbr \u002F>\n#BigData\u003Cbr \u002F>\n\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Ft.co\u002FCyTczxXNv4\">\u003Cbr \u002F>\nhttps:\u002F\u002Ft.co\u002FCyTczxXNv4\u003Cbr \u002F>\n\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Ft.co\u002F2muNscmZiq\">\u003Cbr \u002F>\npic.twitter.com\u002F2muNscmZiq\u003Cbr \u002F>\n\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>— manovich (@manovich)\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Fmanovich\u002Fstatus\u002F665612097737355264\">\u003Cbr \u002F>\nNovember 14, 2015\u003Cbr \u002F>\n\u003C\u002Fa>\u003C\u002Fp>\u003C\u002Fblockquote>\n\u003Cp>\u003Cscript async=\"\" charset=\"utf-8\" src=\"\u002F\u002Fplatform.twitter.com\u002Fwidgets.js\">\n\u003C\u002Fscript>\u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003Cp>For technical reasons, however, I left the Czech media aside, since for the linguistic analysis I only had a (large) corpus of the English language available. After browsing through FB pages I selected these more or less extravagant sources of information:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>BBC News\u003C\u002Fli>\n\u003Cli>Bloomberg Business\u003C\u002Fli>\n\u003Cli>CNN Politics\u003C\u002Fli>\n\u003Cli>Counter Current News\u003C\u002Fli>\n\u003Cli>Democracy Now\u003C\u002Fli>\n\u003Cli>Deutsche Welle\u003C\u002Fli>\n\u003Cli>Haaretz (an Israeli newspaper)\u003C\u002Fli>\n\u003Cli>Mondoweiss\u003C\u002Fli>\n\u003Cli>The New York Times Opinion\u003C\u002Fli>\n\u003Cli>PRESS TV (an Iranian source in English)\u003C\u002Fli>\n\u003Cli>Reuters\u003C\u002Fli>\n\u003Cli>Salon\u003C\u002Fli>\n\u003Cli>The Economist\u003C\u002Fli>\n\u003Cli>The Guardian\u003C\u002Fli>\n\u003Cli>The Intercept\u003C\u002Fli>\n\u003Cli>The New Republic\u003C\u002Fli>\n\u003Cli>The Washington Times\u003C\u002Fli>\n\u003Cli>Truthdig\u003C\u002Fli>\n\u003Cli>Wall Street Journal\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Thanks to Facebook’s Graph API I was able to download over 1,000 posts that the news outlets I follow shared on their walls over one week. I wanted to know which keywords appear most often in these news items on a given day and at a given hour. For the linguistic analysis of all these posts I used Python and the TextBlob library. For each post I went through the headline and the lead and recorded all the noun phrases, which I made into the keywords of that post.\u003C\u002Fp>\n\u003Cblockquote>\u003Cp>The source data in JSON after the noun phrase analysis for each post:\u003Cbr \u002F>\n\u003Ca href=\"http:\u002F\u002Fwww.jakubferenc.cz\u002Fwordpress\u002Fwp-content\u002Fuploads\u002F2015\u002F11\u002Fsource_data_json.7z\">\u003Cbr \u002F>\nsource_data_json.7z\u003Cbr \u002F>\n\u003C\u002Fa>\u003C\u002Fp>\u003C\u002Fblockquote>\n\u003Cp>I then worked with the resulting JSON file in JavaScript, where I parsed the data and visualised it in a suitable way. I thought that for analysing the occurrence of keywords over a period of time some kind of slider would serve well, according to which I would display the data for the visualisation.\u003C\u002Fp>\n\u003Cp>Whereas during the week the keywords were spread evenly across many topics, from the beginning of Friday night the reaction to the terrorist attacks in Paris starts to dominate very clearly.\u003C\u002Fp>\n\u003Cp>You can judge the embryonic result for yourselves:\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fstunome.jakubferenc.cz\u002Fvizualizace\u002F\">\u003Cbr \u002F>\nhttp:\u002F\u002Fstunome.jakubferenc.cz\u002Fvizualizace\u002F\u003Cbr \u002F>\n\u003C\u002Fa>\u003C\u002Fp>",1790905673119]