現実のネットワークデータ

Mathematica(ver.9以上)の大きな特長の一つに、さまざまなソーシャルネットワークサービスへのアクセスができることが挙げられる。

ソーシャルメディア団体についての情報取得
FcaebookSocialMediaData["Facebook"]
GooglePlusSocialMediaData["GooglePlus"]
InstagramSocialMediaData["Instagram"]
LinkedInSocialMediaData["LinkedIn"]
TwitterSocialMediaData["Twitter"]

データ取得のための許可手順

たとえば、Facebookから友達リストを取得するにはつぎのようにする。

FBfriendNetwork = SocialMediaData["Facebook", "FriendNetwork"]
twitter_auth

実際には、このときソーシャルメディアデータにアクセスするにはSNSへのサインインが促される。 右図は、SocailMediaData Authenticationウィンドウで、Mathematica Connectionを許可するためにTwitterへサインインするための赤いボタンと、その下にMathematica Connectionのアクセスキーをペーストするための窓が現れる。
twitter_connection

左図は、ブラウザに表示されたMathematica ConnectionがTwitterにアクセスする許可を与える様子。


TW_SocialMediaData_Access_Key

すると、ブラウザにアクセスキーが表示されるのでこれを選択してコピー、ついで先のSocailMediaData Authenticationウィンドウにペーストする。

ネットワーク情報の取得


fb_friend_network

頂点がユーザを表すFacebookユーザネットワークのおいて、$a$ と $b$ が友達なら$a$ と $b$ は繋がっているして得られるネットワークを得るには次のようにする。


FBfriendNetwork = SocialMediaData["Facebook", "FriendNetwork"]

このネットワークの頂点次数は次のようである。

VertexDegree[FBfriendNetwork]
   {7, 1, 6, 2, 1, 1, 0, 1, 0, 2, 2, 8, 3, 6, 1, 8, 1, 1, 0, 1, 1, 3, 6, 
    8, 1, 0, 9, 3, 14, 2, 8, 4, 4, 3, 8, 5, 6, 0, 1, 4, 2, 3, 1, 0, 8, 2, 
    2, 14, 9, 2, 1, 6, 6, 1, 10, 1, 2, 8, 6, 0, 7, 16, 4, 7, 1, 4, 4, 9, 
    8, 2, 0, 7, 7, 1, 16, 11, 2, 2, 0, 4, 13, 7, 5, 0, 8, 6, 5, 5, 2, 4, 
    8, 0, 0, 4, 10, 3, 4, 1, 3, 12, 6, 8, 11, 3, 0, 8, 3, 1, 4, 0, 2, 3, 
    5, 4, 3, 8, 8, 1, 1, 0, 0, 1, 0, 3, 7, 0, 7, 1, 2, 2, 3, 0, 1, 0, 1, 
    0, 1, 4, 0, 2, 0, 2, 4}
twitter_friend_network

同様に、Twitterについての友人ネットワークを図示した


twFriendNetwork = SocialMediaData["Twitter", "FriendNetwork"]