"데이터의 시각화: 네트워크 그래프"의 두 판 사이의 차이
(→데이터의 시각화) |
|||
(5명의 사용자에 의한 17개의 중간 편집이 숨겨짐) | |||
3번째 줄: | 3번째 줄: | ||
인문 연구의 분야에서 탐구하는 사실을 시각적으로 표현하기 위해서는 어떠한 형태의 데이터를 만들어야 할까? 표현하고자 하는 주제에 따라 시각화의 방법도 다양하게 선택될 수 있지만, 개체와 개체 사이의 관계를 그래프로 보여 주는 네트워크 시각화는 가장 일반적으로 활용되고 있는 데이터 시각화 기술 중의 하나라고 할 수 있다. | 인문 연구의 분야에서 탐구하는 사실을 시각적으로 표현하기 위해서는 어떠한 형태의 데이터를 만들어야 할까? 표현하고자 하는 주제에 따라 시각화의 방법도 다양하게 선택될 수 있지만, 개체와 개체 사이의 관계를 그래프로 보여 주는 네트워크 시각화는 가장 일반적으로 활용되고 있는 데이터 시각화 기술 중의 하나라고 할 수 있다. | ||
+ | |||
+ | * [[Network Graph in Wiki | 위키 문서로 네트워크 그래프 만드는 방법]] | ||
+ | * [[MakeGraph_2021 | 네트워크 그래프 제작 도구 사용 방법]] | ||
+ | * [[부용산_노래 | 네트워크 그래프 활용 예시]] | ||
==네트워크 그래프의 구성 요소== | ==네트워크 그래프의 구성 요소== | ||
− | 네트워크 그래프가 그려지려면 두 종류의 데이터가 있어야 한다. 하나는 그물망 속에서 연결선이 만나는 접점(node)이 되는 개체의 목록이고, 다른 하나는 개체와 개체 사이를 연결(link)하는 관계성에 대한 목록이다. 접점(node)과 연결(link) 두 가지는 [[온톨로지의 이해|온톨로지(Ontology) 설계]]에서 | + | 네트워크 그래프가 그려지려면 두 종류의 데이터가 있어야 한다. 하나는 그물망 속에서 연결선이 만나는 접점(node)이 되는 개체의 목록이고, 다른 하나는 개체와 개체 사이를 연결(link)하는 관계성에 대한 목록이다. 접점(node)과 연결(link) 두 가지는 [[온톨로지의 이해|온톨로지(Ontology) 설계]]에서 다루는 ‘개체’(individual) 및 ‘관계성’(relation)과 다르지 않다. 사실상 데이터를 시각화 하는 것은 그 데이터를 구조화 하는 작업이 전제되어야 하는 것이기 때문에, 온톨로지 설계 방법을 알면 데이터의 시각화를 훨씬 더 용이하게 할 수 있다. |
+ | [[File:NodeNEdge.jpg|center]] | ||
<p align="center">네트워크 그래프의 구성 요소: 접점(node)과 연결(link)<ref>이러한 그래프에서의 접점(node)과 연결(link)을 각각 꼭짓점(vertex, pl. vertices)과 연결선(edge)이라고 부르기도 한다.</ref></p> | <p align="center">네트워크 그래프의 구성 요소: 접점(node)과 연결(link)<ref>이러한 그래프에서의 접점(node)과 연결(link)을 각각 꼭짓점(vertex, pl. vertices)과 연결선(edge)이라고 부르기도 한다.</ref></p> | ||
15번째 줄: | 20번째 줄: | ||
무엇에 관한 네트워크이든 그것의 시각화를 위해서는 먼저 그 네트워크를 형성하는 개체와 그 개체들 사이의 관계가 일정한 형식의 데이터로 정리되어 있어야 한다. 아래의 그림은 조선시대에 만들어진 광산 김씨 가문의 족보(族譜) 지면이다. 이 족보의 내용을 네트워크 그래프(Network Graph)로 재현하는 방법을 생각해 보자. | 무엇에 관한 네트워크이든 그것의 시각화를 위해서는 먼저 그 네트워크를 형성하는 개체와 그 개체들 사이의 관계가 일정한 형식의 데이터로 정리되어 있어야 한다. 아래의 그림은 조선시대에 만들어진 광산 김씨 가문의 족보(族譜) 지면이다. 이 족보의 내용을 네트워크 그래프(Network Graph)로 재현하는 방법을 생각해 보자. | ||
+ | [[File:FamilyTree00.jpg|center]] | ||
<p align="center">광산 김씨 족보: 김효로(金孝盧, 1454~1534)와 그의 자손</p> | <p align="center">광산 김씨 족보: 김효로(金孝盧, 1454~1534)와 그의 자손</p> | ||
60번째 줄: | 66번째 줄: | ||
|김효지 || 양자로 삼다 || 김효로 | |김효지 || 양자로 삼다 || 김효로 | ||
|- | |- | ||
− | | | + | |김회 || 아들을 낳다 || 김효로 |
|- | |- | ||
|김효지 || 아내로 맞이하다 || 김효로 처 이씨 | |김효지 || 아내로 맞이하다 || 김효로 처 이씨 | ||
80번째 줄: | 86번째 줄: | ||
|금재 || 아내로 맞이하다 || 김효지 2녀 | |금재 || 아내로 맞이하다 || 김효지 2녀 | ||
|} | |} | ||
− | |||
− | |||
==네트워크 그래프 표현== | ==네트워크 그래프 표현== | ||
88번째 줄: | 92번째 줄: | ||
===Gephi<sup>TM</sup>=== | ===Gephi<sup>TM</sup>=== | ||
+ | |||
+ | [[File:FamilyTree01.jpg|center]] | ||
<p align="center">광산 김씨 가계도의 시각화: 그래프 소프트웨어 Gephi<sup>TM</sup> 사용<ref>Gephi: 네트워크 분석 및 시각화 소프트웨어. 프랑스 콩피에뉴 공대(University of Technology of Compiègne, UTC)에서 처음 개발하였다. 오픈 소스 프로그램이어서 대학에서의 연구, 교육 목적으로 많이 활용되고 있다. https://gephi.org/ </ref></p> | <p align="center">광산 김씨 가계도의 시각화: 그래프 소프트웨어 Gephi<sup>TM</sup> 사용<ref>Gephi: 네트워크 분석 및 시각화 소프트웨어. 프랑스 콩피에뉴 공대(University of Technology of Compiègne, UTC)에서 처음 개발하였다. 오픈 소스 프로그램이어서 대학에서의 연구, 교육 목적으로 많이 활용되고 있다. https://gephi.org/ </ref></p> | ||
+ | <p align="center">Gephi<sup>TM</sup>의 입력 데이터 형식: 접점과 연결선의 목록</p> | ||
+ | <p align="center">Nodes</p> | ||
+ | {| align="center" border="1" width="400px" | ||
+ | !Id || Label | ||
+ | |- | ||
+ | | GSKN10005 || 김효지 | ||
+ | |- | ||
+ | | GSKN10006 || 김회 | ||
+ | |- | ||
+ | | GSKN10010 || 김효로 | ||
+ | |- | ||
+ | | GSKN10011 || 김연 | ||
+ | |- | ||
+ | | GSKN10012 || 김수 | ||
+ | |- | ||
+ | | GSKN50063 || 김우 | ||
+ | |- | ||
+ | | GSKN50064 || 금재 | ||
+ | |- | ||
+ | | GSKN20037 || 김효로 처 이씨 | ||
+ | |- | ||
+ | | GSKN20039 || 김연 처 조씨 | ||
+ | |- | ||
+ | | GSKN20040 || 김수 처 김씨 | ||
+ | |- | ||
+ | | GSKN40049 || 김효로 1녀 | ||
+ | |- | ||
+ | | GSKN40050 || 김효로 2녀 | ||
+ | |} | ||
− | + | <p align="center">Edges</p> | |
− | Edges | + | |
+ | {| align="center" border="1" width="400px" | ||
+ | ! 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=== | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | [[File:FamilyTree02.jpg|center]] | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
<p align="center">광산 김씨 가계도의 시각화: Google Visualization API를 사용한<ref>https://developers.google.com/chart/interactive/docs/gallery/table#overview</ref> | <p align="center">광산 김씨 가계도의 시각화: Google Visualization API를 사용한<ref>https://developers.google.com/chart/interactive/docs/gallery/table#overview</ref> | ||
164번째 줄: | 165번째 줄: | ||
===Neo4j<sup>TM</sup> Graph Database=== | ===Neo4j<sup>TM</sup> Graph Database=== | ||
+ | |||
+ | [[File:FamilyTree03.jpg|center]] | ||
<p align="center">광산 김씨 가계도의 시각화: 그래프 데이터베이스 Neo4j<sup>TM</sup> 사용<ref>Neo4J: Neo Technology사에서 개발한 그래프 데이터베이스 관리 시스템. 모든 데이터를 노드, 링크, 속성의 형태로 저장하기 때문에 데이터의 관계성에 대한 질의가 가능하고, 검색 결과를 그래프 형태로 표현할 수 있다. http://neo4j.com/ </ref></p> | <p align="center">광산 김씨 가계도의 시각화: 그래프 데이터베이스 Neo4j<sup>TM</sup> 사용<ref>Neo4J: Neo Technology사에서 개발한 그래프 데이터베이스 관리 시스템. 모든 데이터를 노드, 링크, 속성의 형태로 저장하기 때문에 데이터의 관계성에 대한 질의가 가능하고, 검색 결과를 그래프 형태로 표현할 수 있다. http://neo4j.com/ </ref></p> | ||
170번째 줄: | 173번째 줄: | ||
SNS(Social Networking Service)의 확산과 더불어 그 네트워크의 양태를 분석하고자 하는 수요가 일어나면서 네트워크 시각화 기술의 활용이 일반화되었고, 이를 도와주는 다양한 소프트웨어들이 개발되었다. 인문학 연구와 교육도 이러한 시각화 기술의 도입을 통해 효과적인 표현과 의미 있는 발견을 추구할 수 있다. 인문지식 데이터를 그래프로 표현하는 것은 우리가 이미 알고 있는 것을 남들에게 보여 주기 위해서 하는 일만은 아니다. 시각화의 방법을 통해 우리는 더욱 정확한 데이터를 만들 수 있고, 그 속에서 우리가 미처 몰랐던 새로운 사실을 발견할 수도 있다. | SNS(Social Networking Service)의 확산과 더불어 그 네트워크의 양태를 분석하고자 하는 수요가 일어나면서 네트워크 시각화 기술의 활용이 일반화되었고, 이를 도와주는 다양한 소프트웨어들이 개발되었다. 인문학 연구와 교육도 이러한 시각화 기술의 도입을 통해 효과적인 표현과 의미 있는 발견을 추구할 수 있다. 인문지식 데이터를 그래프로 표현하는 것은 우리가 이미 알고 있는 것을 남들에게 보여 주기 위해서 하는 일만은 아니다. 시각화의 방법을 통해 우리는 더욱 정확한 데이터를 만들 수 있고, 그 속에서 우리가 미처 몰랐던 새로운 사실을 발견할 수도 있다. | ||
+ | |||
+ | ==네트워크 그래프 활용 예시== | ||
+ | <html> | ||
+ | <center> | ||
+ | <script>function reload() {window.location.reload();} </script> | ||
+ | <iframe width="70%" height="640px" src="http://dh.aks.ac.kr/Encyves/Graph/E025/E025.htm" frameborder="0" allowfullscreen></iframe> | ||
+ | <br/><input type="button" value="Graph" onclick="reload();"> | ||
+ | </center> | ||
+ | </html> | ||
+ | |||
+ | <br/> | ||
---- | ---- | ||
− | < | + | <references/> |
---- | ---- | ||
※ 이 기사는 『[[디지털 인문학 입문]]』[https://www.kyobobook.co.kr/product/detailViewKor.laf?&mallGb=KOR&ejkGb=KOR&barcode=9791159010873&orderClick=LBB&Kc=SETRETAgendasearch (김현 외, HUEBOOKs, 2016, 5. 31.)] [http://digerati.aks.ac.kr/paper/I2DH/I2DH0203.pdf 제2편 Ⅲ-2. 데이터의 시각화]의 글을 발췌. 정리한 것입니다. | ※ 이 기사는 『[[디지털 인문학 입문]]』[https://www.kyobobook.co.kr/product/detailViewKor.laf?&mallGb=KOR&ejkGb=KOR&barcode=9791159010873&orderClick=LBB&Kc=SETRETAgendasearch (김현 외, HUEBOOKs, 2016, 5. 31.)] [http://digerati.aks.ac.kr/paper/I2DH/I2DH0203.pdf 제2편 Ⅲ-2. 데이터의 시각화]의 글을 발췌. 정리한 것입니다. | ||
+ | |||
+ | [[분류: 튜토리얼]] |
2021년 10월 20일 (수) 20:39 기준 최신판
김현
한국학중앙연구원 인문정보학 교수
목차
데이터의 시각화
인문 연구의 분야에서 탐구하는 사실을 시각적으로 표현하기 위해서는 어떠한 형태의 데이터를 만들어야 할까? 표현하고자 하는 주제에 따라 시각화의 방법도 다양하게 선택될 수 있지만, 개체와 개체 사이의 관계를 그래프로 보여 주는 네트워크 시각화는 가장 일반적으로 활용되고 있는 데이터 시각화 기술 중의 하나라고 할 수 있다.
네트워크 그래프의 구성 요소
네트워크 그래프가 그려지려면 두 종류의 데이터가 있어야 한다. 하나는 그물망 속에서 연결선이 만나는 접점(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. 데이터의 시각화의 글을 발췌. 정리한 것입니다.