나만의 페이스북 네트워크 “제대로” 그려보기

이번학기 가장 재미있게 듣고 있는 수업이 있다. Social Dynamics and Network 라는 수업이다. 교수는 MIT 수학과 전공으로서, 네트워크의 개념에 대해서 수학적으로 설명해주고, business에 어떻게 적용할지에 대해서 이야기해준다.

수업에 대한 부가 설명은 얼마 전에 M님이 올려주신 아래 글 참조:
사례연구법(Case Method) 무용론(?) – http://mbablogger.net/?p=3440

얼마전 내 페이스북을 통해서 소개했던 소셜네트워크를 그려보는 방법을 소개한다. 각종 Facebook 애플리케이션을 통해서 한동안 유행했는데, 그런 앱들과 다른 점은

1) 자신의 네트워크를 customization해서 자기 방식대로 표현할 수 있다.
2) 보다 다양한 수학적 접근/표현이 가능하다.(Gephi를 보다 능숙하게 사용할 수 있을 경우)

라는 것이다.

아래 내용들은 맥에서는 잘 되지 않을 수 있음을 먼저 말씀드린다. 만약에 맥에서 잘 안된다면 Firefox나 Chrome 보다는 사파리를 한번 사용해 보실 것을 권하고, Gephi가 잘 작동하지 않는다면 Java를 업데이트 해 보실 것을 권한다.

STEP 1. 페이스북 네트워크 데이터 내려 받기

먼저 필요한 것은 자신의 페이스북 데이터를 받는 것이다. 그렇게 하려면 netvizz 라는 페이스북 애플리케이션을 사용해야 한다.

https://apps.facebook.com/netvizz/

로 접속한 다음에 모든 박스를 체크하시고, big network를 다운하려면 클릭하라고 하는 부분을 클릭한다. 그리고 2-3분 정도 기다리면 .gdf 파일이 생성된다. 생성되는 파일 이름이 길기 때문에 짧은 이름으로 바꿔서 저장하시면 된다.

혹시 중간에 에러가 발생하면 페이스북의 첫 페이지로 돌아가서 왼쪽 메뉴들에서 Apps로 들어간 다음에 netvizz를 삭제하고 처음부터 다시 시작하면 된다.

2. Gephi 다운로드 받기

www.gephi.org

로 들어가서 자신의 OS에 맞는 Gephi를 다운받으면 된다. 이 프로그램이 바로 대부분의 네트워크 데이터를 이용해서 시각화(visualization)시켜주고, 그 내용에 어느정도 분석할 수 있도록 해 주는 툴이다.

3. Gephi 로 gdf 파일 불러오기

new project 를 시작한다고 하고나서 위의 1번 단계에서 저장한 파일을 불러오면 된다. 그러면 아래와 같은 모습이 보이게 될 것이다.

4. 네트워크 펼쳐서 보여주기

왼쪽 아래편 layout 패널에 보이는 풀다운 메뉴를 클릭하면 Fruchterman Reingold 라는 메뉴가 나올 것이다. 이것을 선택하고, 그 아래 있는 Run 버튼을 누른다. 그러면 위에서 본 뭉쳐 있던 네트워크가 사람들간의 관계가 가깝고 먼지, 얼마나 많은 관계를 서로 맺고 있는지 등에 따라서 어느정도 펼쳐지게 된다. 충분히 펼쳐지도록 3분 이상 기다리면 된다.

이때, 중앙에 있는 Graph 패널에 있는 돋보기를 통해서 사이즈를 조절해서 맞출 수도 있고, 마우스 휠을 이용해서 줌인/줌아웃 할 수도 있으며, 오른쪽 클릭을 한 다음에 네트워크를 이리저리 이동시켜 볼 수도 있다.

5. 크기 부여하기

다음에는 각 노드(사람들)의 크기를 네트워킹이 강한 정도에 따라서 크기를 줄 수 있다. 왼쪽 위편에 있는 Ranking 패널에서 왼쪽 위편 구석에 있는 빨간 다이아몬드 모양의 버튼을 클릭하면 아래 그림과 같은 창이 나온다. 10 ~ 50 까지로 최소치와 최대치를 설정한 다음에 마찬가지로 apply 를 누른다.

그러면 자신의 네트워크에서 더 많은 사람들과 연결되어 있을 수록 원의 크기가 커지게 된다. 즉, 이 사람들이 당신의 네트워크에서 중요한 브로커(많은 이들을 연결해 주는 사람)가 되는 것이다.

6. 라벨 달기

그런데 이 사람이 누군지 잘 모르겠다고? 그러면 한번 이름이 보이게 해 보자.

graph 패널 아래쪽에 보면 아래와 같은 것들이 보인다. 이 중에서 까만색 T 자를 누르면 이름들이 모두 나타날 것이다. 그리고 오른쪽에 있는 폰트 사이즈를 통해서 크기도 조절할 수 있다.

다른 버튼들도 이것저것 눌러보면 레이블(label)들의 변화를 볼 수 있다.

7. 클러스터링

이번에는 펼쳐 놓은 나의 개별적인 네트워크들에 대해서 모듈을 생성하는 단계이다. 오른쪽편에 있는 statistic 패널에서 Modularity를 클릭하면 된다. 그러면 창이 하나 더 떠서 몇개의 모듈이 생성되었는지 등을 보여주는데, 무시해도 된다.

모듈을 만든 다음에는 왼쪽 위편에 있는 partition탭을 클릭한다. 그러면 아래와 같은 창이 다시 나타나고, (refresh 버튼을 한번 눌러준다음), 풀 다운 메뉴를 내려보면 modularity class라는 것이 나온다. 즉, 자기 인맥상에서 서로 연관이 있다고 생각되는 사람을 시스템에서 알아서 묶어 준 것이다. 이들을 커뮤니티라고 부르자.

이 각각의 커뮤니티에 색이 칠해져 있다. 이 색도 자신의 마음대로 바꿀 수 있다. 색이 보이는 작은 버튼을 누르면 팝업으로 색을 고를 수 있는 창이 나타날 것이다.

이제 대략 아래와 같은 그림이 나타날 것이다. 여기까지 되었다면 90% 된 것이다.

8. Preview & Export

Gephi의 중간에 있는 Graph창의 위쪽에 보면 세개의 버튼이 있다. 그 중에서 세번째것이 preview이다. 이것을 클릭해보면 자신의 네트워크를 볼 수 있다.

왼편에 보이는 preset 윈도우의 버튼들을 통해서 마지막으로 이것저것 추가할 수가 있다. Labels 가 꺼져 있다면 체크해 주면 없어진 글자들도 모두 다시 보일 것이다.

대략 예쁜 그림이 나왔다면 이제 Export 하면 된다. File 메뉴 밑에 있는 Export로 가서 PDF 를 선택한 다음에 저장을 해 주면 끝.

9. 그룹 이름 달아서 완성하기

시스템에서 알아서 커뮤니티의 클러스터링은 해 줄 수 있지만, 각각의 그룹이 어떤 그룹인지 시스템이 알 수는 없다. 그래서 결국에는 자신이 하나하나 확인해 봐야 한다.

PDF나 Powerpoint, 혹은 포토샵에서 자신의 각각의 커뮤니티들에 라벨을 달아주면 끝!

맺음말

이번 Facebook 네트워크 그려보기를 통해서 자신을 중심으로 어떤 커뮤니티들이 인맥을 주로 이루고 있고, 그 각각의 인맥 커뮤니티를 이어주는 Broker 들이 누구인지 알 수 있다.

하지만 결과적으로 이 네트워크 그려보기 연습은 페이스북을 하는 사람들만 포함한다는 한계가 있다. 그리고 평소에 자신이 친하다고 생각하는 사람과 자신의 broker는 다른 사람일 수도 있다. 즉, 자신이 친하다고 생각하고 좋아하는 사람이 내 주변 사람들과도 많이 알고 지내지 않거나, 그 사람이 조금 내성적인 성격일 경우에는 단지 그 사람과 나의 커넥션이 강할 뿐인 결과가 나타날 수도 있다.

다들 재미삼아 해보길 권하며, 나 본인도 며칠 전에 처음 접해보고 지금 연습중인 프로그램이라서 많은 내용을 알지는 못하나 질문을 댓글로 달아주시면 최대한 대답하도록 노력하겠다.

NOTE: Gephi라는 프로그램은 csv 파일 등을 import해서도 다양한 네트워크를 구성해 볼 수 있습니다. 더 궁금한 내용이 있다면 Gephi.org를 통해서 보실 수 있습니다.