데이터의 시각화: 네트워크 그래프
김현
한국학중앙연구원 인문정보학 교수
목차
데이터의 시각화
인문 연구의 분야에서 탐구하는 사실을 시각적으로 표현하기 위해서는 어떠한 형태의 데이터를 만들어야 할까? 표현하고자 하는 주제에 따라 시각화의 방법도 다양하게 선택될 수 있지만, 개체와 개체 사이의 관계를 그래프로 보여 주는 네트워크 시각화는 가장 일반적으로 활용되고 있는 데이터 시각화 기술 중의 하나라고 할 수 있다.
네트워크 그래프의 구성 요소
네트워크 그래프가 그려지려면 두 종류의 데이터가 있어야 한다. 하나는 그물망 속에서 연결선이 만나는 접점(node)이 되는 개체의 목록이고, 다른 하나는 개체와 개체 사이를 연결(link)하는 관계성에 대한 목록이다. 접점(node)과 연결(link) 두 가지는 온톨로지(Ontology) 설계에서 다루는 ‘개체’(individual) 및 ‘관계성’(relation)과 다르지 않다. 사실상 데이터를 시각화 하는 것은 그 데이터를 구조화 하는 작업이 전제되어야 하는 것이기 때문에, 온톨로지 설계 방법을 알면 데이터의 시각화를 훨씬 더 용이하게 할 수 있다.
네트워크 그래프의 구성 요소: 접점(node)과 연결(link)[1]
네트워크 그래프 작성 예시
무엇에 관한 네트워크이든 그것의 시각화를 위해서는 먼저 그 네트워크를 형성하는 개체와 그 개체들 사이의 관계가 일정한 형식의 데이터로 정리되어 있어야 한다. 아래의 그림은 조선시대에 만들어진 광산 김씨 가문의 족보(族譜) 지면이다. 이 족보의 내용을 네트워크 그래프(Network Graph)로 재현하는 방법을 생각해 보자.
광산 김씨 족보: 김효로(金孝盧, 1454~1534)와 그의 자손
우리가 시각적으로 표현하려고 하는 대상이 족보의 내용이라면, 족보상의 인물 한 사람 한 사람이 그물망의 접점(node)이 될 것이고, 그 인물들 사이의 친속관계가 꼭짓점과 꼭짓점 사이의 연결(link)로 표시될 것이다. 위에 예시한 광산 김씨 족보 내용 중에 15세기 후반에 살았던 ‘김효로(金孝盧, 1454~1534)’와 그의 직계 친속 몇 사람을 뽑아서 접점과 연결의 목록을 만들어 보았다.
접점 목록(Node List)
ID | 이름 | 그룹 |
---|---|---|
GSKN10005 | 김효지 | 남자 |
GSKN10006 | 김회 | 남자 |
GSKN10010 | 김효로 | 남자 |
GSKN10011 | 김연 | 남자 |
GSKN10012 | 김수 | 남자 |
GSKN20037 | 김효로 처 이씨 | 부인 |
GSKN20039 | 김연 처 조씨 | 부인 |
GSKN20040 | 김수 처 김씨 | 부인 |
GSKN40049 | 김효로 1녀 | 딸 |
GSKN40050 | 김효로 2녀 | 딸 |
GSKN50063 | 김우 | 사위 |
GSKN50064 | 금재 | 사위 |
연결 목록(Link List)
개체 1 | 관계 | 개체 2 |
---|---|---|
김효지 | 양자로 삼다 | 김효로 |
김회 | 아들을 낳다 | 김효로 |
김효지 | 아내로 맞이하다 | 김효로 처 이씨 |
김효지 | 아들을 낳다 | 김연 |
김효지 | 아들을 낳다 | 김수 |
김효지 | 딸을 낳다 | 김효지 1녀 |
김효지 | 딸을 낳다 | 김효지 2녀 |
김연 | 아내로 맞이하다 | 김연 처 조씨 |
김수 | 아내로 맞이하다 | 김수 처 김씨 |
김우 | 아내로 맞이하다 | 김효지 1녀 |
금재 | 아내로 맞이하다 | 김효지 2녀 |
네트워크 그래프 표현
위와 같이 두 종류의 목록이 만들어 지면 네트워크 그래프를 그리기 위한 모든 준비가 다 이루어진 셈이다. 남은 일은 그래프를 그려 주는 소프트웨어에 이 2가지 데이터를 입력하는 것이다. 어떤 소프트웨어를 선택하느냐에 따라 데이터 입력 형식도 다소의 차이는 있지만, 접점과 연결 즉 개체와 관계성의 목록은 필수적인 공통 요소이다.
GephiTM
광산 김씨 가계도의 시각화: 그래프 소프트웨어 GephiTM 사용[2]
GephiTM의 입력 데이터 형식: 접점과 연결선의 목록
Nodes
Id | Label |
---|---|
GSKN10005 | 김효지 |
GSKN10006 | 김회 |
GSKN10010 | 김효로 |
GSKN10011 | 김연 |
GSKN10012 | 김수 |
GSKN50063 | 김우 |
GSKN50064 | 금재 |
GSKN20037 | 김효로 처 이씨 |
GSKN20039 | 김연 처 조씨 |
GSKN20040 | 김수 처 김씨 |
GSKN40049 | 김효로 1녀 |
GSKN40050 | 김효로 2녀 |
Edges
Source | Target |
---|---|
GSKN10005 | GSKN10010 |
GSKN10006 | GSKN10010 |
GSKN10010 | GSKN10011 |
GSKN10010 | GSKN10012 |
GSKN10010 | GSKN20037 |
GSKN10011 | GSKN20039 |
GSKN10012 | GSKN20040 |
GSKN10010 | GSKN40049 |
GSKN10010 | GSKN40050 |
GSKN50063 | GSKN40049 |
GSKN50064 | GSKN40050 |
Google Visualization API
광산 김씨 가계도의 시각화: Google Visualization API를 사용한[3] HTML 문서
Neo4jTM Graph Database
광산 김씨 가계도의 시각화: 그래프 데이터베이스 Neo4jTM 사용[4]
데이터를 시각화하는 이유
SNS(Social Networking Service)의 확산과 더불어 그 네트워크의 양태를 분석하고자 하는 수요가 일어나면서 네트워크 시각화 기술의 활용이 일반화되었고, 이를 도와주는 다양한 소프트웨어들이 개발되었다. 인문학 연구와 교육도 이러한 시각화 기술의 도입을 통해 효과적인 표현과 의미 있는 발견을 추구할 수 있다. 인문지식 데이터를 그래프로 표현하는 것은 우리가 이미 알고 있는 것을 남들에게 보여 주기 위해서 하는 일만은 아니다. 시각화의 방법을 통해 우리는 더욱 정확한 데이터를 만들 수 있고, 그 속에서 우리가 미처 몰랐던 새로운 사실을 발견할 수도 있다.
네트워크 그래프 활용 예시
- ↑ 이러한 그래프에서의 접점(node)과 연결(link)을 각각 꼭짓점(vertex, pl. vertices)과 연결선(edge)이라고 부르기도 한다.
- ↑ Gephi: 네트워크 분석 및 시각화 소프트웨어. 프랑스 콩피에뉴 공대(University of Technology of Compiègne, UTC)에서 처음 개발하였다. 오픈 소스 프로그램이어서 대학에서의 연구, 교육 목적으로 많이 활용되고 있다. https://gephi.org/
- ↑ https://developers.google.com/chart/interactive/docs/gallery/table#overview
- ↑ Neo4J: Neo Technology사에서 개발한 그래프 데이터베이스 관리 시스템. 모든 데이터를 노드, 링크, 속성의 형태로 저장하기 때문에 데이터의 관계성에 대한 질의가 가능하고, 검색 결과를 그래프 형태로 표현할 수 있다. http://neo4j.com/
※ 이 기사는 『디지털 인문학 입문』(김현 외, HUEBOOKs, 2016, 5. 31.) 제2편 Ⅲ-2. 데이터의 시각화의 글을 발췌. 정리한 것입니다.
인문정보학 튜토리얼 | |
---|---|
디지털 교실 환경 설정 | FTP 프로그램 설치 · 파일 확장자 표시 · NotePad++ Reqular Expressions· |
온톨로지(Ontology) | 온톨로지의 이해 · 온톨로지의 설계 · 인문정보학 온톨로지 설계 가이드라인· |
위키(Wiki) | 위키 콘텐츠 제작 방법 |
데이터 시각화(Data Visualization) | 데이터의 시각화: 네트워크 그래프 · 나의 네트워크 그래프 제작 방법 · 네트워크 그래프 활용 예시 |
전자지도(Google Map) | 나의 전자지도 제작 방법 · 전자지도 활용 예시 |