středa 7. listopadu 2012

Společné zájmy na Facebooku

Cvičení z analýzy sociální sítě, popsané na ouseful.info (Social Interest Positioning – Visualising Facebook Friends’ Likes With Data Grabbed Using Google Refine). Původní tutoriál končí v místě, kde si autor k očistění JSONu pomůže skriptem v jazyce Python. Protože programovat tady neumíme, hledám způsob, jak se pohnout z místa. Po vyčerpávajícím googlení až na samé hranici možností to mám!

Magická formule, která v Google Refine vyextrahuje z JSONu pouze názvy likes:

forEach(value.parseJson().data,v,v.name).join(",")

V Google Refine vyberte Edit Column / Add column based on this column a do pole Expression vložte výraz. Vznikne nový sloupec a bude obsahovat čistě jen názvy likes. Potom pomocí Edit Cells / Split multi-valued cells dostaneme každý like na jeden řádek.

Tabulku uložíme do excelu.

Teď půjde o to upravit soubor tak, aby byl čitelný v Gephi. Potřebujeme .csv se dvěma sloupci: Source a Target. Likes je víc než jmen uživatelů, proto potřebujeme jména doplnit do prázdných políček (blanks).
Funkční návod jsem našel na jednom fóru:


Highlight that column, then press F5 (GoTo), click on Special and then on Blanks - this should now highlight only the blanks, with the active cell being the first blank cell under the first data value. then begin to type a formula by typing =, then click on the cell above, then CTRL- Enter.


V Gephi otevřeme Data Laboratory a klikneme na import spreadsheet. Zvolíme import Edges a potvrdíme.

Následně objevíme problém s kódováním češtiny. Existuje nějaké elegantní řešení jak u CSV nastavit kódování? Protože o žádném nevím, po(s)tupně (omezení max. 50000 záznamů v jednom Ctrl+v) jsem vložil všechny řádky do Google Docs a znovu stáhnul. Kódování bylo v pořádku.

A jaký je výsledek? Zatím pouze chaos:



Ještě na tom zapracuju ;)

Žádné komentáře:

Okomentovat