๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
HYU/์กธ์—… ํ”„๋กœ์ ํŠธ

1. ๋„คํŠธ์›Œํฌ ์‹œ๊ฐํ™” ํˆด ํƒ์ƒ‰

by Jaeguk 2024. 1. 25.

์ด๋ฒˆ์ฃผ ํ™œ๋™ ์š”์•ฝ


์ด๋ฒˆ์ฃผ์— ์–ด๋–ค ๊ฒƒ๋“ค์„ ํ•ด์•ผํ• ์ง€ ์ •๋ฆฌ

๋จผ์ € ํ•ด์•ผ ํ•  ๊ฒƒ์€, ์–ด๋–ค ํˆด์„ ์‚ฌ์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๊ฐํ™”ํ•  ๊ฒƒ์ธ์ง€๋ฅผ ์„ ์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์ตœ์šฐ์„ ์œผ๋กœ ๊ณ ๋ คํ•ด์•ผ ํ•  ์ ์€ ์›น ํŽ˜์ด์ง€์— ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋Š”์ง€์ด๋‹ค.

์›น ์„œ๋น„์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์ด ์ตœ์ข… ๋ชฉํ‘œ์ด๊ธฐ ๋•Œ๋ฌธ์— ์›น ํŽ˜์ด์ง€์— ๊ทธ๋ž˜ํ”„๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๊ฐ€ ํˆด์„ ์„ ์ •ํ•˜๋Š” ๋ฐ ์žˆ์–ด ๊ฐ€์žฅ ์ค‘์š”ํ–ˆ๋‹ค.

 

์šฐ๋ฆฌ๋Š” ์ด 3๊ฐ€์ง€์˜ ํˆด์„ ์‚ดํŽด๋ณด์•˜๋‹ค.

1. GraphViz (Graph Visualizer)

2. SocNetV (Social Network Visualizer)

3. Cytograph

 

๊ฐ ํ”„๋กœ๊ทธ๋žจ๋งˆ๋‹ค ๊ธฐ๋Šฅ ๋น„๊ต

๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ฐพ์•„๋ณด๋ฉด์„œ ๊ธฐ๋Šฅ๋“ค์„ ๊ฐ„๋žตํžˆ ์ •๋ฆฌํ•ด ๋ณด์•˜๋‹ค.

 

SocNetV (Social Network Visualizer)


SocNetV๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ์†Œ์…œ ๋„คํŠธ์›Œํฌ ๋ถ„์„๊ณผ ์‹œ๊ฐํ™”๋ฅผ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ Cross-platform tool.

 

Features of SocNetV

  • Social Network Analysis
    • ๊ฐ์—ผ๋ณ‘์˜ ํ™•์‚ฐ ์—ญ์‹œ ์‚ฌํšŒ์  ๋„คํŠธ์›Œํฌ์˜ ์ผ๋ถ€์ด๊ธฐ ๋•Œ๋ฌธ์—, ์šฐ๋ฆฌ์˜ ์ฃผ์ œ์™€ ์ ํ•ฉํ•˜๋‹ค ์ƒ๊ฐํ–ˆ๋‹ค.
  • Easy Graphical User Interface
    • ๋ช‡ ๋ฒˆ์˜ ํด๋ฆญ์œผ๋กœ ์†์‰ฝ๊ฒŒ ๋„คํŠธ์›Œํฌ๋ฅผ ๋กœ๋“œํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
    • GraphML, GraphViz, Adjacency ๋“ฑ์˜ ์—ฌ๋Ÿฌ ํ˜•์‹์˜ ํŒŒ์ผ ์—…๋กœ๋“œ ์ง€์›
    • Node์™€ Edge๋ฅผ ์ž์œ ๋กญ๊ฒŒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • Random Network Generation
    • ์—ฌ๋Ÿฌ ์ƒ์„ฑ ๋ชจ๋ธ๋“ค์„ ์‚ฌ์šฉํ•ด์„œ ๋ฌด์ž‘์œ„ ๋„คํŠธ์›Œํฌ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • Layout
    • ๋‹ค์–‘ํ•œ Layout algorithm๋“ค์„ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Fast Algorithm for Community Detection
    • Maximal Clique๋ฅผ Detection ํ•  ์ˆ˜ ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ œ๊ณตํ•œ๋‹ค.

 

ํ•˜์ง€๋งŒ ์น˜๋ช…์ ์œผ๋กœ ์›น ํŽ˜์ด์ง€ ์ƒ์—์„œ ๊ทธ๋ž˜ํ”„๋ฅผ ๋ Œ๋”๋ง ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์ง€ ๋ชปํ–ˆ๋‹ค.

๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ HTMLํŒŒ์ผ๋กœ export ํ•˜๋Š” ๊ฒƒ ์ •๋„๋Š” ๊ฐ€๋Šฅํ–ˆ์ง€๋งŒ ๊ทธ๋ž˜ํ”„๋ฅผ ์›น ํŽ˜์ด์ง€ ์ƒ์— ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•์€ ์ฐพ์ง€ ๋ชปํ–ˆ๋‹ค.

 

Cytoscape


Cytoscape๋Š” ์ƒ๋ฌผ๊ณ„์˜ ๋„คํŠธ์›Œํฌ๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋งŒ๋“ค์–ด์กŒ์œผ๋‚˜, ํ˜„์žฌ๋Š” ๋„คํŠธ์›Œํฌ๋ผ๋Š” ๊ฐœ๋…์ด ๋„์ž…๋  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์–ด๋””๋“  ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค

Features of Cytoscape

  • Cytosacpe.js
    • Cytoscape.js๋Š” Cytoscape๋ฅผ ์›น ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ Javascript Library
    • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ชฉ์  ์ž์ฒด๊ฐ€ ์›น ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ์œผ๋ฏ€๋กœ ์šฐ๋ฆฌ ์ฃผ์ œ์™€ ์ ํ•ฉํ•˜๋‹ค
  • Create Graphs
    • Node, Edge ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•จ์œผ๋กœ์จ ๊ทธ๋ž˜ํ”„๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
    • JSON, CSV ํ˜•ํƒœ์˜ ํŒŒ์ผ์„ ์ฝ์–ด์„œ ์ƒ์„ฑํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
  • Layout
    • ๋‹ค์–‘ํ•œ Layout algorithm๋“ค์„ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • Interactivity
    • ์‚ฌ์šฉ์ž์™€์˜ ์ƒํ˜ธ์ž‘์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค (ํด๋ฆญ, ๋“œ๋ž˜๊ทธ ๋“ฑ).

 

์• ์ดˆ์— Cytoscape.js ๊ฐ€ Cytoscape๋ฅผ ์›น ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ์œผ๋ฏ€๋กœ, ์šฐ๋ฆฌ์™€ ๊ฐ€์žฅ ์ ํ•ฉํ•  ๊ฒƒ์ด๋ผ ์˜ˆ์ƒํ–ˆ๋‹ค.

๋˜ํ•œ ์ƒํƒœ๊ณ„๊ฐ€ ๊ฝค ์ปค์„œ ์šฐ๋ฆฌ๊ฐ€ ๊ฐ€์ ธ๋‹ค ์“ธ ์ˆ˜ ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋งŽ์„ ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ–ˆ๊ณ , ์œ ๋ ฅํ•œ ํ›„๋ณด๊ฐ€ ๋  ๊ฒƒ ๊ฐ™๋‹ค.

 

GraphViz


graphviz.org์—์„œ ๊ฐœ๋ฐœํ•œ ๋‹ค์ด์–ด๊ทธ๋žจ ์ƒ์„ฑ. GraphViz๋Š” ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ์‹œ๊ฐํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค.

Features of GraphViz

  • Layout
    • ๊ทธ๋ž˜ํ”„ ์†์„ฑ์„ ๋‹ค์–‘ํ•˜๊ฒŒ ์ปค์Šคํ„ฐ ๋งˆ์ด์ฆˆ ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์ด๋ ‡๊ฒŒ ๋‚˜์™€ ์žˆ์—ˆ์ง€๋งŒ ์›น์— ์ ์šฉํ–ˆ์„ ๋•Œ๋Š” ์ƒ๊ฐ๋งŒํผ ์ž์œ ๋กญ๊ฒŒ ์ปค์Šคํ…€ํ•˜๋Š” ๊ฒƒ์ด ์–ด๋ ค์› ๋‹ค.
  • ํ˜ธํ™˜์„ฑ
    • Graphviz๋Š” ๋…์ž์ ์ธ ์–ธ์–ด์ธ Graphviz DOT๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ์Šคํฌ๋ฆฝํŠธ๊ธฐ๋ฐ˜ ๊ทธ๋ž˜ํ”„ ์–ธ์–ด์ด๊ธฐ์— ์–ด๋–ค ํ”„๋ ˆ์ž„์›Œํฌ๋“  ์‰ฝ๊ฒŒ ํ˜ธํ™˜์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ๊ฐ„ํŽธํ•œ ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ
    • node ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €์—์„œ graphViz๋ฅผ ์˜คํ”ˆ์†Œ์Šค๋กœ ์ œ๊ณตํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ ์šฉ ๋ฐฉ๋ฒ•์ด ๊ฝค ๊ฐ„๋‹จํ•˜๋‹ค.
  • ์„œ๋ฒ„์™€์˜ ํ˜ธํ™˜์„ฑ
    • ์›น ํŽ˜์ด์ง€์šฉ ์ด๋ฏธ์ง€ ๋ฐ SVG์™€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ๋‹ค์ด์–ด๊ทธ๋žจ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
    • ์ด๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„์—์„œ ์ด๋ฏธ์ง€๋กœ export ํ•œ ํ›„ ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ Œ๋”๋ง์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
    • ์„œ๋ฒ„์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๊ทธ๋ ค์„œ -> ํด๋ผ์ด์–ธํŠธ๋กœ ์ „์†กํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅ

 

์›น ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ ์—ญ์‹œ ์‚ฌ์šฉ์„ ๊ณ ๋ คํ•ด๋ณผ๋งŒ ํ•˜์ง€๋งŒ, ๊ทธ๋ž˜ํ”„์˜ ์Šคํƒ€์ผ์„ ์ปค์Šคํ…€ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต๊ณ  ์‚ฌ์šฉ์ž์™€์˜ ์ƒํ˜ธ์ž‘์šฉ์ด ์–ด๋ ต๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค.

 

์‹ค์ œ ๊ตฌํ˜„


์›น ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Cytoscape์™€ GraphViz๋ฅผ ๊ฐ๊ฐ ๋ฆฌ์•กํŠธ์— ์ ์šฉํ•ด์„œ ๊ฐ„๋‹จํ•œ ์›น ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์–ด๋ณด์•˜๋‹ค.

Cytoscape ์›น ๊ตฌํ˜„

๋ฐ์ดํ„ฐ์˜ ์–‘์ด ๋งŽ์•„์ง€๋ฉด ๋ Œ๋”๋ง์ด ๋งค์šฐ ๋Š๋ ค์ง„๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค.

 

๊ฒฐ๊ณผ ์ •๋ฆฌ


์ด๋ฒˆ์ฃผ ํ™œ๋™ ๋‚ด์šฉ ์ •๋ฆฌ
  • Cytoscape
    • ์›น ํŽ˜์ด์ง€์—์„œ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
    • ๋ฐ์ดํ„ฐ์˜ ์–‘์ด ๋งŽ์•„์ง€๋ฉด ๋ Œ๋”๋ง์ด ๋„ˆ๋ฌด ๋Š๋ ค์ง„๋‹ค๋Š” ๋ฌธ์ œ ๋ฐœ์ƒํ•œ๋‹ค.
    • ๋…ธ๋“œ๊ฐ€ ๋งŽ์•„์ง€๋ฉด ์•Œ์•„๋ณด๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค๋Š” ๋ฌธ์ œ ๋ฐœ์ƒํ•œ๋‹ค.
  • GraphViz
    • ์›น ํŽ˜์ด์ง€์—์„œ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
    • ๋ Œ๋”๋ง ์‹œ๊ฐ„์ด Cytoscape์— ๋น„ํ•ด ์งง์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ
    • ์‚ฌ์šฉ์ž์™€์˜ ์ƒํ˜ธ์ž‘์šฉ์ด Cytoscape์— ๋น„ํ•ด์„œ ์ž์œ ๋กญ์ง€ ์•Š๋‹ค.
    • ๊ทธ๋ž˜ํ”„ ์ปค์Šคํ…€์ด Cytoscape์— ๋น„ํ•ด์„œ๋Š” ์ž์œ ๋กญ์ง€ ๋ชปํ•˜๋‹ค.
  • SocNetV์˜ ๊ฒฝ์šฐ์—” ์›น ํŽ˜์ด์ง€์— ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์ง€ ๋ชปํ–ˆ๋‹ค.

 

์›น ํŽ˜์ด์ง€๋Š” ์‚ฌ์šฉ์ž์™€์˜ ์ƒํ˜ธ์ž‘์šฉ์ด ์ค‘์š”ํ•œ ๋งŒํผ Cytoscape๊ฐ€ ์šฐ๋ฆฌ์—๊ฒ ๋” ์ข‹์„ ๊ฒƒ์ด๋ผ ํŒ๋‹จ ํ–ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๊ทธ๋Ÿฌ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐ์ดํ„ฐ์˜ ์–‘์ด ๋งŽ์•„์กŒ์„ ๋•Œ, ์ตœ์ ํ™”๋ฅผ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์•„์•ผ ํ•  ๊ฒƒ์ด๋‹ค.

728x90