I. Introduction
데이터는 4차 산업혁명을 견인하는 핵심 자원으로서 국내뿐만 아니라 해외 주요 국가들에서는 정부 차원에서 데이터 산업을 육성하기 위한 다양한 정책 수립과 플랫폼 구축, 공공데이터(Public Open Data) 제공을 위해 노력하고 있으며, 데이터 관리, 데이터분석, 머신러닝 등 데이터 및 데이터 관련 산업이 지속해서 성장하고 있다[1]. 우리나라의 공공데이터 포탈(www.data.go.kr)에서는 교육, 국토관리, 공공행정 등 총 16개 영역으로 분류하여, 956개 기관에서 38, 139개의 파일데이터와 6, 774개의 오픈 API를 개방하고 있고(2021년 3월 17일 현재)[2], 최근 4년간의 공공데이터 개방 및 활용이 크게 증가하여, 2021년 코로나 19의 확산과 함께 국내 데이터 시장은 2024년까지 연평균 15.3%씩 성장하여 약 30조 원 규모에 이를 전망이다[3].
최근에는 인터넷과 정보통신, 인공지능기술을 발판으로 하는 디지털 기반 혁신의 시대를 맞이하면서 다양한 영역에서 빅데이터가 발생, 수집, 축적, 공개되고 있으며, 수집된 대량의 데이터를 분석하여 데이터 항목들 간의 규칙성 및 관련성 등, 이용 가능한 지식을 추출하기 위한 데이터분석, 데이터마이닝, 데이터사이언스 분야의 연구가 활발하게 진행되고 있다[4-6]. 특히, 다양한 데이터로부터 공통의 속성을 갖는 객체들을 그룹화하고 개념을 추출하고계층구조를 구성하여 지식체계를 가시화하기 위한 형식개념분석기법[7]이 새로운 지식발견을 위한 다양한 분야에서 널리 응용되고 있다[8].
본 논문에서는, 형식개념분석기법을 확장하여, 객체의 속성뿐만 아니라 객체들 사이의 관련 관계를 기반으로 데이터 집합을 분류하고 개념화하기 위한 기법을 제안한다. 구체적으로는, 주어진 데이터로부터 관계 속성을 기반으로 개념을 추출하여 계층 구조화하기 위한 관계형 개념분석기법의 제반 정의들을 토대로 개념분석알고리즘을 제안하고 분석도구(RCA Wizard)를 구현하여 몇 가지 공공데이터를 대상으로 수행한 분석실험 결과 등을 설명한다. 본 논문의 구성은 다음과 같다. 제2장에서는 형식개념분석기법에 대한 배경지식을 소개하고, 제3장에서는 관계 속성을 기반으로 하는 관계형 개념분석기법과 분석알고리즘 및 분석 도구를 제안한다. 제4장에서는 관계형 개념분석기법을 이용한 공공데이터 분석실험에 관해서 서술한다. 제5장에서는 본 논문의 결론과 향후 연구에 관해서 설명한다.
II. Related Works
형식개념분석기법[7]에서는 관심 영역 내의 분석 대상 (객체. Object)들이 각각 어떠한 특징(속성. Attribute)을소유하고 있는지를 테이블 형태로 정형화하여 나타낸 데이터 테이블(Formal Context)로부터 공통의 속성을 갖는 객체들을 개념(Concept) 단위로 그룹화하여 분류체계 (Concept Hierarchy)를 구성해서 가시화하기 위한 수학적 이론체계를 제공한다. 형식개념분석기법의 수학적 이론체계를 구성하는 몇 가지 정의들은 다음과 같다.
[정의1]데이터테이블 \(K=(G, M, I)\)는 다음과 같은 3개 요소들로 구성되는 튜플이다.
• \(G\): 객체들의 집합,
• \(M\): 속성들의 집합,
• \(I \subseteq G \times M\): 어떤 객체가 어떤 속성을 갖는지를 나타내는 관계 집합.
관계 집합의 임의의 원소\((g, m) \in I\)는 객체g가 속성m을 가지고 있다는 것을 의미한다. Table 1은 5명의 학생과 6가지 속성들을 기반으로 어떤 학생이 어떠한 속성을 가졌는지를 나타낸 데이터 테이블\(K_{1}=\left(G_{1}, M_{1}, I_{1}\right)\)의 예이다.
Table 1. An example of Formal Context \(K_{1}\)
[정의2]데이터테이블 \(K=(G, M, I)\)가 주어졌을 때, 임의의 집합\(X \subseteq G\)와 \(Y \subseteq M\)에 대하여, 공통요소들을 추출하기 위한 연산자\(C A: 2^{G} \rightarrow 2^{M}\)와 \(C O: 2^{M} \rightarrow 2^{G}\)를 다음과 같이 정의한다.
\(\text { • } C A(X)=\{m \in M \mid \forall g \in X:(g, m) \in I\}\),
\(\text { • } C O(Y)=\{g \in G \mid \forall m \in Y:(g, m) \in I\}\).
연산자CA(X)는 집합X의 원소들(즉, 객체들)이 공유하고 있는 공통속성들의 집합을 추출하며, 연산자CO(Y) 는 집합Y의 원소들(즉, 속성들)을 공유하고 있는 객체들의 집합을 추출해준다.
[정의3]데이터테이블 K=(G,M,I)의 임의의 두 집합 X⊆G,Y⊆M에 대하여,
\(C=(X, Y) \Leftrightarrow(C A(X)=Y \wedge C O(Y)=X)\)
를 만족하는 C를 데이터 테이블 K=(G,M,I)로부터 도출된 형식개념(또는 개념)이라고 한다.
즉, 데이터 테이블 K=(G,M,I)로부터 도출된 개념 C는, CA(X)=Y ∧ CO(Y)의 조건을 만족하는 두 집합X⊆G,Y⊆M로 구성되는 쌍(X,Y)이다. 이때, X와 Y를 각각 개념C의 외연과 내포라고 부른다.
데이터 테이블 K=(G,M,I)로부터 도출된 모든 개념들의 집합을 CK라고 하고, CK의 임의의 두 개념 C1=(X1,Y1)과 C2=(X2,Y2)에 대하여, X1⊆X2(⇔Y2⊆Y1)를 만족하는 경우, 두 개념들 사이에는 “상하위 개념관계”가 있다고 하고, C1≤KC2로 나타낸다. 이때, C1을 C2의 하위개념, C2를 C1의 상위개념이라고 부른다. 데이터 테이블 K=(G,M,I)에 대한 형식개념들의 집합CK와 상하위 개념관계≤K는 완비 격자(complete lattice)를 구성하며, LK=(CK≤K)로 나타낸다. 이러한 완비격자를 개념 격자(Concept Lattice) 또는 개념 계층구조(Concept Hierarchy)라고 부른다. 데이터 테이블로부터 개념들을 추출하여 개념 계층구조를 구성하기 위한 알고리즘 FCA는 다음과 같다.
Algorithm FCA
개념 계층구조는 Fig. 1과 같은 형태의 개념계층구조도 (Concept Hierarchy Diagram)로 가시화하며, 정점과 유향 변은 각각 개념과 상하위개념관계를 나타낸다. 이때, 각 정점은 개념의 이름, 내포(해당 개념을 구성하는 객체들이 가지고 있는 속성들), 외연(해당 개념을 구성하는 객체들) 을 구성요소로 하는 사각형으로 표시하고, 상하위개념관계는 하위개념으로부터 상위개념으로 향하는 화살표로 나타낸다. 특히, 개념 계층 구조도에서는, 속성들은 상위에서 하위로, 객체들은 하위에서 상위 방향으로 계승하는 형태로 간략화하여 표기한다. Table 1의 데이터 테이블 K1에 형식개념분석기법을 적용하여 추출된 8개의 개념들은 상하위개념관계를 토대로 Fig. 1과 같은 개념계층구조 도로 표현할 수 있다. 개념 계층구조도 상의 각 정점(개념)의 의미를 설명하기 위하여, 예를 들면, Fig. 1의 가장 왼쪽에 자리 잡고 있는 정점(Concept_Students_5)은, 2개의 속성(freshman, male)을 가지고 있는 2명의 학생(s1, s2) 에대응하는 개념(즉, 1학년 남학생)을 나타내고 있다. 또한, Concept_Students_1은, 2개의 속성(senior, male)을 가지고 있는 1개의 객체(s5)를 나타내는 개념(즉, 3학년 남학생)이다.
Fig. 1. Concept Hierarchy Diagram \(L_{K_{1}}\) for Table 1
형식개념분석에 의해 구축된 개념 계층 구조도는 주어진 데이터들에 대한 공통속성 기반의 분류체계를 제공한다. 예를 들면, Table 1의 데이터 테이블을 분석한 결과(Fig. 1)로부터, 6명의 학생은 남학생 그룹(Concept_Students_6 : s1, s2, s5)과 여학생 그룹(Concept_Students_4 : s3, s4) 으로 분류되었다. 또한, 남학생그룹은 1학년 남학생 그룹 (Concept_Students_5 : s1, s2)과 4학년 남학생 그룹 (Concept_Students_1 : s5)으로, 여학생 그룹은 2학년 여학생 그룹(Concept_Students_2 : s4)과 3학년 여학생 그룹(Concept_Students_3 : s3)으로 다시 세부적으로 분류되었음을 알 수 있다.
III. The Proposed Method
형식개념분석기법은 관심 영역의 주어진 데이터셋으로부터 어떤 객체가 어떤 속성을 가졌는지를 나타내는 “객체 -속성”관계(객체와 속성 사이의 소유관계)에 초점을 맞추어서 데이터를 분석하고 추출된 정보를 가시화한다. 그러나, 다양한 관심 영역들에 실존하는 대부분의 데이터에는 같은 영역 내에 존재하는 객체들 사이의 관련관계(예를 들면, 학교 영역에서 교수-학생 관계) 뿐만 아니라, 서로 다른 영역에 소속된 객체들 사이의 관련 관계(예를 들면, 학생과 교과목 사이의 수강 관계)가 다수 존재하며, 데이터분석과 데이터마이닝 분야에서는 이러한 관련 관계 데이터가 핵심 정보를 구성하고 새로운 지식을 발견하기 위한 중요한 자원이 된다[9].
위와 같은 형식개념분석기법의 한계점에 주목하여, 본 논문에서는 기존의 형식개념분석기법과 더불어서, 객체들 사이의 관련 관계 정보를 추출하여 분석하기 위한 관계형 개념분석기법(Relational Concept Analysis)[10]을 기반으로, 객체들 사이의 관련 관계를 토대로 데이터집합을 분류하고 개념화하기 위한 기법(개념분석 알고리즘 RCA와 분석 지원 도구 RCA Wizard)을 제안한다.
1. Definitions
관계형 개념분석기법의 제반 정의들[10]을 보다 구체적으로 정형화하여 아래의 정의4~6에 재정의하고, 이를 토대로 개념분석알고리즘(RScaling과 RCA)을 새롭게 제안하였다.
[정의4]관계형 데이터 테이블 그룹 Ω=(K,R)는 데이터 테이블들의 집합K와 관련 관계 데이터 테이블들의 집합R로 구성된 모임이다.
\(\bullet \ K=\left\{K_{i}\right\}_{i \in[1, n]}: K_{i}=\left(G_{i}, M_{i}, I_{i}\right)\),
\(\bullet \ R=\left\{R_{j}\right\}_{i \in[1, m]}: R_{j}=\left(G_{k}, G_{l}, r_{j}\right)\),
이때, k,l∈[1,n]에 대해서, rj⊆Gk×Gl은 관련 관계를 나타내며, rj에 대한 정의역과 치역은 각각 dom(rj)=Gk와 ran(rj)=Gl이다.
관계형 데이터 테이블 그룹Ω은, 객체들의 속성 소유정보와 객체들 사이의 관련 관계 정보를, 각각 데이터 테이블들(K)과 관련 관계 데이터 테이블들(R)에 모아놓은 형태를 갖는다. 예를 들면, 관계형 데이터 테이블 그룹 Ω=({K1,K2}, {R1})은, Table 1의 학생 데이터 테이블K1=(G1,M1,I1)과 Table 2의 컴퓨팅기기에 관한 데이터 테이블K2=(G2,M2,I2), 그리고 Table 3의 학생-컴퓨팅기기 소유관계(has⊆G1×G2)를 나타내는 관련 관계 데이터 테이블R1=(G1,G2,has)로 구성된다.
관계형 개념분석기법에서는 관련 관계 데이터 테이블에 함축된 관련 관계 정보를 정의역에 해당하는 데이터 테이블에 포함해서 표현하기 위하여 관계 정보 변환과정 (relational scaling)을 거친다. 즉, 관계 정보 변환과정에서는 관련 관계rj⊆Gk×Gl를 정의역dom(rj)=Gk의 데이터 테이블 내부에 다음과 같은 관계 속성(relational attribute)으로 추가하여 표현한다.
Table 2. An example of Formal Context K2
Table 3. An example of Relational Context R1
[정의5]관계형 데이터 테이블 그룹 Ω=(K,R)의 임의의 관련 관계rj⊆Gk×Gl에 대하여, rj의 정의역Gk의 객체(g∈Gk)와 치역Gl의 객체들(치역의 데이터 테이블 Kl로부터 추출된 개념c=(X,Y)∈CKl의 외연을 형성하는 객체들) 사이의 관련 관계rj가 rj(g)∩X≠∅의 조건을 만족하는 경우, 정의역의 데이터 테이블 Kk=(Gk,Mk,Ik)에 관계 속성∃rj(c)으로 정의한다.
관계형 데이터 테이블 그룹 Ω=(K,R)의 임의의 관련 관계 데이터 테이블Rj=(Gk,Gl,rj)과 이에 대응하는 관련 관계rj⊆Gk×Gl의 정의역 및 치역에 해당하는 데이터 테이블Kk=(Gk,Mk,Ik)와 Kl=(Gl,Ml,Il)에 대하여, 관계rj를 기반으로 관계 속성∃rj(c)으로 Kk를 확장하기 위한 추가분(데이터 테이블 \(K_k ^{r,j}\))은 다음과 같이 구성된다. 즉, \(K_{k}^{r_{j}}=\left(G_{k}^{r_{j}}, M_{k}^{r_{j}}, I_{k}^{r_{j}}\right)\),
\(\bullet \quad G_k^{rj} = G_k\),
\(\bullet \quad M_{k}^{r_{j}}=\left\{\exists r_{j}(c) \mid c \in \mathrm{C}_{\mathrm{K}_{1}}\right\}\)
\(\bullet \quad I_{k}^{r_{j}}=\left\{\left(g, \exists r_{j}(c)\right) \mid g \in G_{k}, c=(X, Y) \in \mathrm{C}_{k_{l}}, r_{j}(g) \cap X \neq \varnothing\right\}\)
앞서 주어진 데이터 테이블 그룹 Ω=({K1,K2}, {R1})에 대하여, 관계형 데이터 테이블 R1=(G1,G2,has)을 기반으로 관계 속성을 추가하기 위한 데이터 테이블은 Table 4와 같다.
[정의6]주어진 데이터 테이블 Kk=(Gk,Mk,Ik)와 관련 관계rj⊆Gk×Gl를 기반으로 Kk를 확장하여 변환시 \(K_k^+\)을 다음과 같이 정의한다.
\(K_{k}^{+}=\left(G_{k}^{+}, M_{k}^{+}, I_{k}^{+}\right)\),
\(\bullet \quad G_{k}^{+}=G_{k}, M_{k}^{+}=M_{k} \cup M_{k}^{r_{j}}, I_{k}^{+}=I_{k} \cup I_{k}^{r_{j}}\)
Table 4. Additional context \(K_{1}^{\text {has }}=\left(G_{1}^{\text {has }}, M_{1}^{\text {has }}, I_{1}^{\text {has }}\right)\)for weak relational scaling
2. Algorithms
본 논문에서는 위의 정의들(정의4~6)을 토대로 관계 정보변환과정(Relational Scaling)을 알고리즘RScaling으로 제안하였다. 알고리즘RScaling에서는, 입력으로 주어진 데이터 테이블Kk=(Gk,Mk,Ik)에 대하여 관련 관계 rj⊆Gk×Gl를 기반으로 Kk를 확장하여 변환시킨 \(K_{k}^{+}=\left(G_{k}^{+}, M_{k}^{+}, I_{k}^{+}\right)\)을 다음과 같은 절차에 의해 구성한다.
(1) Gk+의 구성(라인1) :
입력으로 주어진 데이터 테이블Kk=(Gk,Mk,Ik)의 객체 집합Gk를 그대로 Gk+로 유지한다.
(2) 치역의 데이터 테이블로부터 추출된 각 개념들 c=(X,Y)∈Ci과 정의역의 객체g∈Gk에 대하여 아래의 처리를 반복적으로 수행한다.
(가) Mk+의 구성(라인5) :
Kk=(Gk,Mk,Ik)의 속성집합Mk에 이항관계 rj⊆Gk×Gl를 기반으로 관게 속성 ∃rj(c)을 추가하여 Mk+를 확장한다.
Algorithm RScaling
(가) Ik+의 구성(라인6) :
Kk=(Gk,Mk,Ik)의 관계 집합Ik에 관련 관계 rj⊆Gk×Gl를 기반으로 (g,∃rj(c))을 추가하여 Ik+를 확장한다.
데이터 테이블 그룹 Ω=({K1,K2}, {R1})에 대하여, 위의 알고리즘을 적용한 결과(즉, RScaling(K1,R1,\(L_{K_{2}}\))을 수행한 결과)는 Table 5와 같다.
Table 5. Extended context \(K_{1}^{+}=\left(G_{1}^{+}, M_{1}^{+}, I_{1}^{+}\right)\) based on relational attributes
이상에서 소개한 제반 정의들과 알고리즘 FCA 및 RScaling을 기반으로, 관계형 형식개념분석의 모든 과정 (Fig. 2(a))을 알고리즘 RCA로 정리하여 제안한다.
Algorithm RCA
알고리즘 RCA에서는, 입력으로 주어진 관계형 데이터 테이블 그룹 Ω=(K,R)의 데이터 테이블들의 집합 \(K=\left\{K_{i}\right\}_{i \in[1, n]}\)(단, Ki=(Gi,Mi,Li))의 각 데이터 테이블에 대해서 형식개념분석기법을 적용하여 개념 계층구조를 구성한 후에(3~4라인), (5~10라인)의 과정을 반복하면서, 전 단계(p-1)에서 구성된 개념으로부터 도출된 관계 속성을 기반으로 데이터 테이블을 확장시키는 관계 정보 변환과정을 수행한 후(8라인)에 형식개념분석기법을 적용하여 새로운 개념 계층구조를 구성하는 작업(9라인)을 시행하면서 전후 단계(p-1,p단계)에서 구해지는 개념계층구조들이 동형(isomorphic), 즉, 데이터 테이블에 변화가 없는 동일한 상태가 되면 종료한다(10라인).
Fig. 2. Overview of Processing of RCA(a) and screenshots of RCA Wizard(b)
3. RCA Wizard
본 논문에서 제안한 알고리즘 RCA를 토대로 관계형 형식개념분석 지원도구 RCA Wizard를 개발하였다. RCA Wizard는 Eclipse IDE 2021-03 개발환경과 Java(14.0.2 버전) 기반으로 제작되었으며, 아래와 같은 기능들(메뉴들) 이 Fig. 2(b)와 같은 인터페이스 형태로 구성되어 있다.
● 파일
■ 관계형 데이터 테이블 불러오기
■ 저장하기
■ 다른 이름으로 저장하기
■ RCA 실행하기
■ 개념 계층구조 가시화하기
● 관계형 데이터 테이블 그룹
■ 객체x속성 테이블 불러오기
■ 데이터 테이블 추가/삭제
■ 관련관계 테이블 추가/삭제
■ 행/열의 추가/삭제
■ 행/열의 이름 변경
사용자는 “관계형 데이터 테이블 그룹” 메뉴의 각 서브 메뉴들을 사용하여 관계형 데이터 테이블 그룹을 입력(또는 편집)하고, “파일”메뉴의 “RCA 실행하기” 서브 메뉴를 선택하면 본 논문에서 제안한 RCA 알고리즘이 실행되어 개념 계층구조들이 생성된다. 이어서 “개념 계층구조 가시화하기” 서브메뉴를 실행하면 개념 계층구조가 가시화되어 화면에 표시된다.
Fig. 3은 앞서 살펴보았던 관계형 데이터테이블 그룹 Ω=({K1,K2}, {R1})에 대하여 RCA Wizard를 이용하여 RCA(Ω)을 실행한 결과물(개념 계층구조들)이다. Fig. 3의 최종결과물(개념 계층구조도\(L_{K_1^+}^2\) )의 주요 정점들은 다음과 같은 정보를 나타내고 있다.
● Concept_Students_13 : Microsoft의 SurfacePro 와 같은 랩탑과 태블릿 겸용 제품을 가지고 있는 학생들은 s1과 s4이다.
● Concept_Students_4: s4와 s3와 같은 여학생들을 나타내는 정점(개념)으로써, 이 학생들은 SurfacePro 와 MacBookAir와 같은 랩탑과 iMac과 같은 Apple 의 데스크톱을 가지고 있다.
● Concept_Students_5: s1과 s2와 같은 남자 신입생들을 나타내는 정점(개념)으로서, Apple의 휴대용 랩톱 MacBookAir를 소유하고 있다는 공통점이 있다. Concept_Students_12: iPad와 MacBookAir를 모두 가지고 있는 학생들은 s3와 s2이다.
● Concept_Students_10 : 학생 s3와 s5는 Apple의 휴대용 iPad와 데스크톱 iMac을 소유하고 있다는 공통점이 있다.
● Concept_Students_11 : s2와 s5는 남학생들로서, Apple의 휴대용 iPad를 소유하고 있다는 공통점이 있다.
● Concept_Students_16: MacBookAir와 같은 Apple 의 휴대용 랩탑을 가지고 있는 학생들은 s1, s2, s3이다.
● Concept_Students_14: iMac과 같은 Apple의 데스크톱을 가지고 있는 학생들은 s3, s4, s5이다.
Fig. 3. Results of RCA(Ω), where Ω=({K1,K2}, {R1})
● Concept_Students_6: 휴대용 Apple기기를 가지고 있는 남학생그룹을 나타내는 정점으로써, 이 그룹에는 s1, s2, s5와 같은 학생들이 포함되어 있다.
● Concept_Students_15: iPad와 같은 Apple의 휴대용 태블릿을 가지고 있는 학생 그룹을 나타내는 정점으로써, 이 그룹에는 s3와 s5가 포함되어 있다.
● Concept_Students_18 : 휴대용 랩톱을 가지고 있는 학생 그룹을 나타내는 정점으로써, 이 그룹에는 s1, s2, s3, s4와 같은 학생들이 포함되어 있다.
● Concept_Students_17: 휴대용 Apple 제품을 소유한 학생 그룹을 나타내는 정점으로써, 이 학생 그룹은 다시 MacBookAir를 소유한 학생 그룹 (Concept_Students_16 : s1, s2, s3)과 iPad를 소유한 학생 그룹(Concept_Students_15 : s2, s3, s5), 그리고 남학생그룹(Concept_Students_6 : s1, s2, s5)으로 분류된다.
Fig. 4. Public Open Data of public parking lot of Seoul Facilities Corporation
IV. Experiments and Results
우리나라의 공공데이터포탈(www.data.go.kr)에서는 교육, 국토관리, 공공행정 등 총 16개 영역으로 분류하여 956 개 기관에서 38, 139개의 파일데이터와 6, 774개의 오픈 API 를 개방하고 있다. 본 연구에서는 관계형 형식개념분석기법 (RCA 알고리즘과 분석 지원 도구 RCA Wizard)의 유효성을 실증하기 위하여, 이러한 공공데이터 중에서 조회 수 2만 회를 넘고 있는 전국주차장 정보표준 데이터(2021.4.1.현재)2)를 대상으로 RCA Wizard를 이용하여 다음과 같은 실험들(Experiment 1, Experiment 2)을 실시하였다.
1. Experiment 1
1.1 Dataset
전국주차장정보표준데이터 중에서 “서울시설공단”에서 관리하는 137개소의 공영주차장 관련 데이터(Fig. 4)를 추출하여 주차장 유형(노상/노외)과 요금정보(유료/무료/혼합)와 같은 중요 속성들을 기반으로 Table 6과 같은 서울시설공단 공영주차장 데이터 테이블K1을 구성하였다. 또한, 서울시 생활권 계획3)에서 공개하고 있는 권역생활권 구분자료(Table 7)를 토대로 25개의 객체와 5개의 속성을 갖는 서울시 권역생활권 데이터 테이블K2(Table 8)를 구성하였다. 한편, 각 주차장의 소재지 지번 주소를 바탕으로, K1의 각 주차장이 서울의 어떤 행정자치구에 자리 잡고 있는지를 나타내는 관련 관계(At⊆G1×G2)를 기반으로 관련관계 데이터테이블RAt을 구성하였다(Table 9).
Table 6. Formal context K1 of Fig. 5
Table 7. Division of living areas of Seoul Metropolitan Government
Table 8. Formal context K2 of Table 7
Table 9. Relational context RAt of relationships between parking lots and their locations
1.2 Experimental Process
위와 같은 데이터 테이블K1, K2, RAt에 대하여, K1 의 객체(서울시 공영주차장) 개수를 10개씩 증가시킨 단위로 총 14개의 데이터 테이블(\(K_{1}^{1}, K_{1}^{2}, \ldots, K_{1}^{14}\))을 구성하고, 각각에 대하여 RCA Wizard를 이용하여 관계형 데이터 테이블 그룹\(\Omega^{i}=\left(\left\{K_{1}^{i}, K_{2}\right\},\left\{R_{A t}\right\}\right)\)(단, i=1…14) 에 대한 관계형 형식개념분석 알고리즘 RCA(Ωi)을 적용하는 실험을 총 14회 실시하였다.
1.3 Results
Fig. 5는 14회의 실험 결과물 중에서 일부분(실험1-1, 실험1-2, 실험1-3, 실험1-4)을 나타내고 있다4). 각각의 개념 계층 구조도는 다양한 정보를 함의하고 있다. 예를 들어, Fig. 5의 실험1-1에 대한 실행 결과(\(L_{K_1}\) of Experiment 1-1)에서 가장 왼쪽에 있는 정점(Concept_ 공영주차장_4)은, 10개의 공영주차장 중에서 도심권(종로구, 중구, 용산구)에 있는 노상무료 공영주차장은 DDP 동 측(양쪽)과 DDP북측 마장로와 같은 2개소가 존재하고 있음을 나타내고 있다. 또한, 정점(Concept_공영주차장_11) 은, 10개의 공영주차장 중에서 서남권에 있는 노상 공영주차장을 나타내는 개념으로써, 개봉역(북), 가마산고가밑, 가산동 금천교, 개봉역(남단), 개봉역(중앙)과 같은 주차장들이 이에 해당한다는 사실을 나타내고 있다.
이어서, 20개의 공영주차장을 대상으로 실험을 수행한 결과(\(L_{K_1}\) of Experiment 1-2)에서는, 더욱 풍부한 정보를 갖는 개념들을 더 많이 발굴할 수 있다. 예를 들면, \(L_{K_1}\) of Experiment 1-2의 정점(Concept_공영주차장_4) 은 도심권(종로구, 중구, 용산구)에 있는 노상무료 공영주차장을 나타내고 있으며, 정점(Concept_공영주차장_13) 은 도심권(종로구, 중구, 용산구)에 있는 노상 유료 공영주차장을 나타내고 있다. 이처럼 실험 대상이 되는 데이터 테이블의 객체 개수가 증가할수록 실험 결과는 더욱 다양하고 풍부한 정보를 함의하게 되며, 더욱 세부적인 데이터 분류 및 계층화가 가능하다.
또한, 실험1-1~14의 결과로부터, 실험데이터(즉, K1의 객체 집합 크기 : ∣G1∣)가 증가함에 따라서, 관련 관계 At⊆G1×G2의 정의역에 해당하는 개념 계층구조\(L_{K_1}\)에서 발굴되는 개념들의 규모는 일정한 수에 수렴하고, 치역에 해당하는 개념 계층구조\(L_{K_2}\)의 개념들의 규모는 변화 없음을 알 수 있다(Fig. 6).
Fig. 6. Number of concepts in Experiment 1-1 to 1-14
2. Experiment 2
1.1 Dataset
두 번째 실험에서는, 서울시설공단에서 관리하는 137개 공영주차장 데이터에 대하여, 각 주차장의 소재지 지번 주소를 기반으로 서울시의 25개 행정자치구별로 분류하고, 각 주차장의 유형(노상/노외)과 요금정보(유료/무료/혼합) 와 같은 속성들을 기반으로 총 25개의 행정자치구별 공영주차장 데이터 테이블을 구성하였다. Table 10은 서울시설공단에서 관리하는 강남구에 있는 9개 공영주차장 데이터 테이블K1의 예를 나타내고 있다.
Table 10. Formal context K1 of Public Parking Lots of Gangnam-Gu
또한, 서울시의 도시기본계획(“2030 서울생활권계획”)에서는, 서울시 전역을 5개 권역생활권(경제활동이 이루어지는 대권역)과 116개 지역생활권(통근 통학 쇼핑 여가 등 주민들의 일상적인 생활 활동이 이루어지는 소권역)으로 구분하고, 관련 상세데이터를 서울열린데이터광장 (https://data.seoul.go.kr/index.do)에서 “서울시 생활권 계획 권역 구분정보”(http://data.seoul.go.kr/dataLi st/OA-12074/S/1/datasetView.do)로 공개하고 있다. 본 실험(Experiment 2)에서는 서울시 25개 각 행정자치구에 대하여, 해당 구의 지역생활권을 구성하는 행정동에 관한 데이터를 추출하여 지역생활권 데이터 테이블을 구성하였다. Table 11은 강남구의 6개 지역생활권이 어떤 행정 동으로 구성되어 있는지를 나타내는 데이터테이블K2의 예이다.
Table 11. Formal context K2 of Local Living Areas of Gangnam-Gu
한편, 서울시설공단에서 관리하는 서울시 25개 행정자치구별 각 공영주차장의 소재지 지번 주소를 기반으로, 각 행정자치구별 주차장들(G1)이 서울의 어떤 지역생활권의 동(G2)에 위치해 있는지를 관련 관계(At⊆G1×G2)로 파악하여, 25개의 관련 관계 데이터 테이블을 구성하였다. Table 12는 강남구에 있는 서울시설공단 공영주차장이 강남구의 어떤 지역생활권에 위치하고 있는지를 나타내고 있는 관련 관계 데이터 테이블RAt의 예이다.
Fig. 5. Concept Hierarchy Diagrams of Experiment 1-1 ~ 1-4
Table 12. Relational context RAt of relationships between parking lots and their locations in local living areas of Gangnam-Gu
1.2 Experimental Process
본 실험에서는 25개 각 행정자치구의 데이터 테이블 K1, K2, RAt에 대하여 관계형 데이터 테이블 그룹 Ω=({K1,K2}, {RAt})을 구성하고 RCA Wizard를 이용하여 총 25회의 관계형 형식개념분석 실험을 실시하였다. 즉, 25회의 실험 중에서, Table 10, 11, 12를 기반으로 하는 강남구에 관한 관계형 데이터 테이블 그룹 Ω강남구=({K1,K2}, {RAt})에 대한 실험 결과(즉, RCA(Ω강남구)을 시행한 결과로부터 구축된 개념 계층구조도)는 Fig. 7과 같다5).
1.3 Results
실험 결과물(Fig. 7의 개념 계층구조도\(L_{K_1}\))로부터 아래와 같은 다양한 정보를 파악할 수 있다.
● Concept_강남구공영주차장_15 : 강남구지역생활권 _2(압구정·청담)의 노상 유료주차장을 나타내는 개념으로써, 압구정고가1주차장과 압구정고가2 주차장이 있다.
● Concept_강남구공영주차장_6: 강남구에 있는 노상주차장을 나타내는 개념으로써, 총 4개소(압구정고가 1, 압구정고가2, 동호대교(남), 영동6교밑)가 존재하며, 2개소(압구정고가1, 압구정고가2)는 강남구 지역생활권_2(압구정·청담)에 있고 유료주차장이며, 1개소 (동호대교(남))는 강남구 지역생활권_2(압구정·청담)에위치하고 있고 요금체계는 혼합형이다. 또한, 1개소 (영동6교밑)는 강남구지역생활권_5(대치·도곡)에 위치하고 있는 노상 유료주차장이다.
● Concept_강남구공영주차장_3: 강남구에 있는 노상유료주차장을 나타내고 있는 개념으로서, 3개의 주차장(압구정고가 1, 압구정고가2, 영동6교밑)이 있다.
또한, Fig. 8은, 서울시설공단에서 관리하는 137개 공영주차장을 25개 행정자치구별로 분류하여, 각 행정자치구에 대한 공영주차장 수, 지역생활권 수, 그리고 본 실험에서 수행된 알고리즘 RCA의 내부반복 횟수(즉, 라인 5~10 의 반복횟수), 그리고, 최종적으로 발견된 개념 수 등을 종합한 결과를 나타내고 있다. 예를 들어, Fig. 9에서 강남구의 경우, 서울시설공단에서 관리하는 공영주차장은 총 9개소이고, 강남구 내에 지역생활권은 총 6개 구역으로 구성되어 있으며, 이번 실험에서는 알고리즘 RCA의 라인 5~10이 총 3회 반복되어 최종적으로 19개의 개념이 발굴되었다. 또한, Fig. 9로부터, 강서구, 강남구, 중구, 구로구, 노원구 등의 순으로 각각 20개, 19개, 18개, 17개, 16 개의 개념이 발견되었으며 평균 2.68회의 내부 반복처리에 의해 총 208개의 개념을 추출하였음을 알 수 있다.
Fig. 7. Concept Hierarchy Diagrams of Experiment 2
Fig. 8. Number of Public Parking Lots, Local Living Areas, Iterations and Concepts from Experiment 2
V. Conclusions
데이터 중심의 4차 산업혁명 시대를 맞이하여, 다종다양한 데이터에 내재되어 있는 정보를 추출하고 분석하여 그 결과를 가시화하기 위한 데이터분석기법에 대한 관심이 높아지면서 최근에는 형식개념분석기법이 주목받고 있다. 형식개념분석기법에서는, 주어진 데이터로부터 객체들의 공통속성을 기반으로 개념을 추출하여 계층화된 분류체계를 가시화할 수 있으나, 객체들 사이의 관련 관계를 분석할 수 없는 한계점이 존재한다. 본 논문에서는, 객체들의 공통속성뿐만 아니라 객체들 사이의 관련 관계를 바탕으로 개념을 추출하여 계층 구조화하기 위하여, 관계형 개념분석기법의 제반 정의들을 기반으로 개념분석 알고리즘을 제안하고 분석 지원 도구 RCA Wizard를 개발하였다. 또한, 공공데이터포털에서 개방 중인 몇 가지 공공데이터(서울시설공단 공영주차장데이터, 서울시 생활권 계획권역 구분정보)를 대상으로 분석실험을 수행하여 연구 결과의 유용성을 실증하였다.
본 논문의 연구 결과는 기존의 관련 연구[10]와 대비하여 다음과 같은 차별성을 갖는다.
● 기존의 관련 연구[10]에서는 관계형 개념분석기법의 기본적인 정의들이 제안되었으나, 본 논문에서는 보다 구체적으로 제반 정의들을 정형화하고 이를 토대로 관계형 개념분석 알고리즘을 새롭게 제안하여, 분석지원 도구 RCA Wizard를 개발하였다.
● 본 연구에서는 공공 오픈 데이터를 대상으로 데이터의 수집, 분석실험의 실시, 데이터의 분류와 군집화 및 내재되어 있는 정보의 시각화 등과 같은 일련의 데이터분석 및 가시화에 관한 실험을 수행하여 제안한 알고리즘과 분석 도구의 유용성을 실증하였다.
본 논문에서는 분석 결과(개념 계층구조)의 가시화에 초점을 맞추고 있으나, 더욱 다양하고 풍부한 분석 결과를 도출하기 위해서는 개념 계층구조로부터 연관규칙을 추출과 추론시스템을 개발하기 위한 후속 연구가 반드시 필요하다. 한편, 본 연구에서는 공공데이터포털에서 제공하는 데이터를 활용하고 있으나, 현존하는 국내의 공공데이터 포털(www.data.go.kr)에서는 공공데이터의 개방, 국가데이터맵의 제공, 공공데이터의 제공요청, 데이터활용(시각화, 국민참여지도, 위치정보시각화) 등을 중심으로 운영되고 있어서 다양한 방법에 의한 데이터분석과 가시화가 미흡하며 공공포털데이터 내에 포함된 데이터의 다양성과 복잡성을 반영할 수 있는 분석 및 가시화 기법이 필요하다. 따라서, 본 연구결과와 후속연구들을 기반으로 향후에 공공데이터 포탈에서 공공데이터를 대상으로 하는 보다 효과적인 데이터분석, 분류, 군집화, 시각화, 정보검색 등에 활용할 수 있을 것으로 예상한다.
ACKNOWLEDGEMENT
This paper is the result of works performed during the 2021 research year of SunMoon University.
참고문헌
- Korea Data Agency, "2020 Data Industry White Paper," Korea Data Agency, Vol. 23, pp. 4-5, 2020.
- Public Data Portal, https://www.data.go.kr
- H.D. Moon, "2021 Digital Innovation Outlook by DNA(Digital, Network, AI)," Monthly Software Oriented Society, No.79, pp.25-26, 2021.
- Gupta, M.K., Chandra, P., "A comprehensive survey of data mining," International Journal of Information Technology, 12, pp.1243-1257, 2020. DOI: 10.1007/s41870-020-00427-7
- L. Cao, "Data Science: A Comprehensive Overview," ACM Computing Surveys, 50(3), pp.1-42, 2017. DOI: 10.1145/3076253
- M. U. Raza and Z. XuJian, "A Comprehensive Overview of BIG DATA Technologies: A Survey," Proceedings of the 2020 5th International Conference on Big Data and Computing, New York, NY, USA, pp.23-31, 2020. DOI: 10.1145/3404687.3404694
- B. Ganter, and R. Wille, "Formal Concept Analysis: Mathematical Foundations," Springer, pp.1-15, 1999.
- P. K. Singh, C. Aswani Kumar, A. Gani, "A comprehensive survey on formal concept analysis, its research trends and applications," International Journal of Applied Mathematics and Computer Science, 26(2), pp. 495-516, Jun. 2016. DOI: 10.1515/amcs-2016-0035
- Dzeroski S. "Relational Data Mining," Data Mining and Knowledge Discovery Handbook. Springer, Boston, MA. 2009. DOI: 10.1007/978-0-387-09823-4_46
- Hacene, M.R., M. Huchard, A. Napoli, P. Valtchev, "Relational concept analysis: mining concept lattices from multi-relational data," Annals of Mathematics and Artificial Intelligence, 67(1): pp.81-108, 2013. DOI: 10.1007/s10472-012-9329-3