sobota 30. října 2010

Identifikace komunity kolem účtu na Twitteru

Jak je možná patrno z některých mých zmínek na Twitteru, poslední dobou se zabývám intenzivně oblastí Social Network Analysis. Vděčím za to Petru Lupačovi, upozornil mne totiž na blog Jana Schmida, který se právě SNA věnuje. V analýze sociálních sítí se fakticky potkává sociologie s teorií grafů a vytvářejí nádherná intelektuální dobrodružství, mající využití v celé řadě oblastí. Navíc díky pokročilým nástrojům může základní analýzu dnes dělat i člověk, neseznamený dopodrobna se zákoutími matematiky. Já jsem se po kratším zkoumání zatím zastavil u nástroje NodeXL, který funguje mimo jiné i jako šablona do Excelu a je šířen pod GPL licencí.

Z mnoha dosavadních experimentů mi zatím přišel nejnázornější příklad hledání komunit mezi lidmi propojenými kolem twitter uživatele Stonome. Účet patří mému domovskému akademickému pracovišti, má 96 následovníků a sám následuje 41 uživatelů. Při importu do NodeXL je třeba zvolit i natažení hran, propojující jednotlivé následovníky, a následované účty mezi sebou. Ostatně více se dočete v dokumentaci, která je ke stažení na stránkách projektu.

Výsledný graf pak vypadá například takto:



(klikni pro větší)

Na první pohled docela chaos, že? Nicméně pomocí SNA si lze v celé věc sjednat poněkud lepší pořádek. Nás v tomto případě zajímá, zda ve změti následovníků a následovaných existují nějaké relevatní komunity. To můžeme zjistit pomocí hledání klastrů v grafu. V našem případě jsem zvolil takzvaný Girvan–Newman algoritmus a výsledek vypadá o kousek lépe.



(klikni pro větší)

Barvy tu odlišují několik komunit, ale stále je to poněkud nepřehledné. Pro lepší výsledek tedy odstraníme z grafu samotný účet Stunome (jde nám o komunitu okolo něj, ne o něj samotný) a potlačíme všechny úzly, které mají tři a méně propojení s okolím. Výsledek teď vypadá o moc lépe:



(klikni pro větší)

Vcelku zřetelně se nám vydělila modrá skupina. Tu tvoří především studenti magisterského a doktorandského studia na SNM, potažmo UISKu. Vyjímky jsou případy členství v jiné komunitě, která se překrývá s komunitou SNM. Příkladem může být účet mého kolegy z práce aborym, propojený s účtem našich studentů adbara a zbiejczuka. Pěkně se také vydělila oranžová komunita lidí z "branže" jako je marek_baco a perlino. Zelené spojnice ukazují na dvě studentky prvního ročníku, které zatím do modré komunity vplouvají.

Jako finální perličku ještě můžeme náš graf obohatit o nějaké zvýraznění dominantnosti postavení ve skupině. NodeXL nabízí kupříklad eigenvector, který se snaží vyjádřit centrálnosti uzlů pro celek grafu. Tedy přibližně řečeno: kdo má nejvíce nejblíže ke všem ostatním. Výsledek aplikace vidíte na posledním grafu:



(klikni pro větší)

Krásné je, jak v modré komunitě dobře vidíme její husté propojení, zvlášť kolem studentů druhého ročníku, který v zásadě představuje hledané jádro studentů a učitelé SNM na Twitteru. Pokud se teď vrátíte k původnímu grafu musíte uznat, že pár tahy jsme se posunuli do velmi zajímavého místa, kdy jsme zcela formálním postupem rozklíčovali užitečnou informaci.

sobota 16. října 2010

Jak hledat telefonní čísla na Facebooku

Často se hovoří o problému bezpečnosti osobních dat na síti Facebook. Méně často se ale mluví o tom, že zneužitelná data musíte nejdřívě sami na Facebook dát a jeden se diví, co všechno jsou ochotni uživatele na svou zeď napsat. Já například zkusil hleda předčíslí mobilního čísla 608. (přímý link). Nestačil jsem se divit, kolik lidí píše na své zdi čísla mobilů. V kombinaci s tím, že mají většinou veřejné profily, jsou idealním terčem pro telesales... A to v lepším případě.