｢정보시스템연구｣ 제18권 제4호

한국정보시스템학회

2009년 12월, pp. 59～86

연관규칙 마이닝을 활용한 개념적 데이터베이스 설계 자동화 기법*

* 본 연구는 2009년도 국민대학교 교내연구비 지원으로 수행됨

** 국민대학교 비즈니스IT전문대학원 석사과정, tactson@kookmin.ac.kr

*** 국민대학교 비즈니스IT학부 부교수, inkim@kookmin.ac.kr

**** 국민대학교 비즈니스IT학부 조교수(교신저자), ngkim@kookmin.ac.kr

손윤호**․김인규***․김남규****

			<목 차>
Ⅰ. 서론 Ⅱ. 관련연구 Ⅲ. 연관규칙 기반의 개념적 데이터 모델링 3.1 개념적 데이터 모델링 자동화 모형 3.2 연관규칙 기반 개체 및 속성 구분 3.3 업무기술서로부터의 객체 추출 3.4 SAS E-Miner를 이용한 연관규칙 도출 3.5 연관관계도의 작성 및 정제 3.6 ERD 작성				Ⅳ. 실험 4.1 업무기술서에서의 객체 추출 4.2 연관규칙 도출 실제 4.3 연관관계도의 작성 및 정제 4.4 ERD 작성 Ⅴ. 결론 참고문헌 <Abstract>

Ⅰ. 서 론

정보시스템은 하드웨어와 소프트웨어는 물론 정보시스템이 지향하는 업무의 절차와 이를 운용하는 인력, 그리고 발생하는 정보의 저장소인 데이터베이스 시스템을 유기적으로 결합한 체계이다. 이중에서도 정보시스템 운영과정에서 발생하는 방대한 데이터를 관리하는 데이터베이스는 시스템의 가장 핵심적인 요소라 할 수 있다. 데이터베이스 설계자는 현업 담당자의 요구조건을 충실히 반영함과 동시에 구조적으로도 적합한 데이터베이스를 구축하기 위하여 통상 요구조건 분석, 개념적 설계, 논리적 설계, 그리고 물리적 설계의 4단계에 이르는 설계 과정을 수행하게 된다. 이 중 개념적 설계란 표현하고자 하는 대상 업무를 추상화하여 나타내는 단계로, 대상 객체(Object)를 파악하고 각 객체간의 연관관계(Association)를 표현하는 과정을 의미한다. 논리적 설계와 물리적 설계가 비교적 현업 담당자에 대한 의존 없이 독립적으로 수행이 가능한 반면, 개념적 설계는 현업 담당자와 데이터베이스 설계자의 유기적 협조체제에 의해 수행되어야 한다는 특징을 갖는다(김병곤․박순창, 2008). 따라서 데이터베이스 설계를 위한 전체과정 중 개념적 설계는 가장 중요하면서도 많은 고려가 필요한 단계로 인식되고 있다.

	연관규칙 마이닝을 활용한 개념적 데이터베이스 설계 자동화 기법

｢정보시스템연구｣ 제18권 제4호, 2009년 12월

개념적 설계 과정이 매우 신중하게 수행되어야 하는 근거는, 유사한 업무에 대한 설계라고 하더라도 사용자의 요구에 따라 그 결과물이 다르게 도출되어야 한다는 사실에서 찾을 수 있다. 개념적 설계 과정에서 가장 보편적으로 사용되고 있는 모형인 개체관계모형(ERM: Entity-Relationship Model)에서, 현실 세계의 객체는 그 중요도 및 활용도에 따라 개체(Entity) 또는 속성(Attribute)으로 분류되어야 한다. 이는 동일한 객체일지라도 대상 업무에 참여하고 있는 역할 및 중요도에 따라 개체 또는 속성으로 유연하게 설계되어야 함을 의미한다. 그럼에도 불구하고 기존의 많은 연구들이 개체급 객체와 속성급 객체는 대상 업무와 관계없이 사전에 구분되어 있다는 일반적 인식 하에서 수행된 바 있다. 예를 들면 ‘책상’은 항상 개체로, ‘비밀번호’는 항상 속성으로 구분된다는 인식을 들 수 있다. 하지만 객체의 역할은 고정되어 있는 것이 아니라 대상 업무에 따라 유연하게 결정되어야 하며, 그 당위성은 <그림 1>과 <그림 2>에서 찾을 수 있다.

업무기술 1: 학생은 학위과정에 등록하여 학위를 취득한다

업무기술 2: 학위과정은 고유의 과정코드와 교재를 갖는다

업무기술 3: 학생은 고유의 학번과 성명을 갖는다

업무기술 4: 학생은 학과 1곳에만 소속할 수 있다

업무기술 5: 학과는 고유한 학과명을 갖는다

업무기술 6: 학생에게는 학과마다 상이한 금액의 수업료를 부과한다

<그림 1> “학과”를 “학생”에 부속된 속성으로 정의

<그림 1>의 개체관계도(ERD: Entity-Relationship Diagram)는 위의 업무기술 중 1 ~ 4번 까지만 주어진 상황에 근거하여 도출된 것이다. 이 ERD에서는 "학과"를 "학생"의 속성으로 정의하였는데, 그 이유는 위 업무기술서 상의 내용에서 "학과"에 대한 어떠한 부수적 정보도 포함되어 있지 않았기 때문이다. 만약 이 상태에서 "학과"의 속성을 언급한 업무기술 5, 6번이 추가된다면 <그림 1>의 ERD는 <그림 2>와 같이 수정되어야 한다.

<그림 2> “학과”를 별도의 개체로 정의

사용자의 요구를 투명하게 반영하는 데이터베이스 스키마를 도출하기 위한 이상적인 방법은, 요구의 생성 주체인 현업 담당자가 직접 데이터베이스 설계를 수행하는 것이다. 하지만 현업 담당자에게 설계를 위한 데이터베이스 지식을 갖출 것을 요구하는 것은 현실적으로 무리가 있기 때문에, 데이터베이스 설계는 외부 전문가에게 의뢰하는 것이 일반적이다. 하지만 전문 데이터베이스 설계자의 경우에도 주어진 업무기술서 상의 내용과 사용자의 요구조건을 완벽히 이해한다는 것은 불가능하며, 필연적으로 설계자 자신의 주관적 해석과 관점이 반영된 설계를 수행하게 된다는 한계를 내포한다. 이 경우 사용자의 요구사항과 이에 대한 설계자의 인식 간의 불일치가 발생하는 경우가 비일비재하며, 이는 곧 정보의 중복, 손실, 왜곡 등의 여러 부작용을 야기하게 된다. 이와 같은 문제점을 보완하기 위해서는 데이터베이스 설계에 대한 지식이 없는 업무담당자가 스스로 데이터베이스를 설계할 수 있도록 보조하는 설계 자동화 도구의 고안에 대한 연구가 반드시 수행되어야 한다.

1980년대 후반부터 데이터베이스 설계 자동화 도구들에 대한 연구가 진행되어왔지만, 대부분의 연구는 그 범위를 논리적 설계 또는 물리적 설계 단계로 한정하고 있다. 또한 개념적 설계의 자동화를 위한 기존의 연구는, 당초 연구의 취지와는 달리 실제 현업 담당자들이 데이터베이스에 대한 충분한 사전지식과 이해가 있어야만 사용할 수 있다는 한계를 갖는다. 특히 ERD의 완성도가 개체와 속성이 얼마나 적절하게 분류되었는지에 따라 크게 좌우된다는 사실을 감안할 때, 개체와 속성을 현업 담당자가 직접 구분하여 입력한다는 것은 정작 자동화 도구의 도움을 가장 필요로 하는 작업을 사용자가 직접 수행해야 함을 의미한다. 이러한 문제점을 보완하기 위하여 대부분의 자동화 도구들은 지식베이스(KB: Knowledge-Base)기반의 접근방법(그림 3)을 채택하고 있는데, 이는 과거에 수행된 개체, 속성의 식별 사례를 지식베이스에 보관하고, 이를 통해 사용자에게 유사 사례를 제시함으로써 설계를 지원하는 방법을 의미한다. 하지만 지식베이스 기반의 접근 방법은 과거에 개체로 사용된 객체가 새로운 업무 상황에서 속성으로 사용되거나 혹은 과거의 속성이 새로운 업무 상황에서 개체로 사용되는 등의 유연한 설계를 방해한다는 한계를 갖고 있다.

이처럼 기존 자동화 방법론의 한계로 지적된 설계의 경직성을 극복하기 위한 본 연구에서의 개선 방안을 요약하면 다음과 같다.

․과거 사례에 기반한 지식베이스가 아닌 새롭게 주어진 업무기술서(BD: Business Description) 만을 참조함으로써, 주어진 업무에 충실한 설계를 할 수 있다.

․개체와 속성의 구분을 사용자의 주관적 판단에 맡기지 않고, 데이터마이닝의 연관관계 분석에 기반하여 자동적으로 수행한다.

․연관관계 신뢰도의 임계치 기준을 변화시킴에 따라, 하나의 업무기술서로부터 여러 버전의 ERD를 동시에 획득할 수 있다.

본 논문의 이후 구성은 다음과 같다. 다음 장인 2장에서는 개념적 데이터 모델링에 대한 이론적 연구 및 이를 자동화하기 위한 기존의 연구 성과를 소개하고, 3장에서는 개념적 데이터 모델링의 자동화를 위한 방법론 및 제안하는 모형의 세부적인 동작 원리를 소개한다. 또한 4장에서는 SAS E-Miner를 이용하여 제시한 시스템의 유용성을 검증하며. 마지막으로 본 연구의 기여 및 한계점은 제5장에서 요약한다.

<그림 3> 지식베이스를 활용한 스키마 변경

Ⅱ. 관련연구

논리적, 물리적 데이터베이스 설계에 비해, 개념적 설계 과정에 대한 연구는 상대적으로 미비하였다. 이들 중 테이블 스키마에서 ERD를 역으로 도출하는 역공학(Reverse Engineering) 방법론(Yang and Chu, 1999)을 제외한 대부분의 연구들은, 사용자의 요구를 기반으로 하여 개념적 모델을 도출하는 방법을 채택하였다. 개념적 설계는 흔히 공학 및 과학 영역에 속하기 보다는 예술 영역에 속하는 것으로 인식될 정도로 설계 기준이 모호하며 명확한 지침이 존재하지 않는다. 개념적 설계 기준을 제시한 연구 중 Teorey et al.(1986)의 연구는 ERM 이론에 입각하여 개체를 추출하기 위한 가이드라인을 제시하였으며, 제시된 개체 선정의 주요 기준은 다음의 두 가지로 요약된다. ① 자기 자신을 설명할 수 있는 정보를 가진 객체는 개체로 본다. ② 기술자(Descriptor)가 다중 값을 갖는 경우 자신을 설명하는 정보가 없어도 개체로 간주한다.

Teorey and Fry(1982)에서는 ASM(Attribute Synthesis Method)이라는 통계적 메커니즘을 사용한 개체 선정 방법론을 제시하였다. 주어진 업무내용에서 객체를 추출하고, 이를 여러 단계의 통계적 산출절차를 거쳐 UAT(Usage Across Tasks), UOD(Usage with Other Data), UR(Usage Ratio)의 3개 인덱스를 산출해내는 것이 ASM 방법론의 핵심이다. UAT는 특정 객체가 전체 작업 내에서 출현하는 회수를, UOD는 특정 객체가 하나 또는 여러 개의 작업과 결합하여 사용되는 회수를, UR은 가장 활용도가 높은 객체의 빈도수를 의미한다. ASM은 이 3가지 인덱스를 참조하여 UAT가 높고, UOD가 높고, UR이 낮은 객체를 개체로 판별한다. 그러나 ASM 방법론은 개체 여부를 판정할 수 있는 인덱스 값의 임계치를 명확히 정의하지 않고, 임계치의 설정을 사용자에게 위임하였다는 한계를 갖는다. 즉, ASM 방법론에 의해 최종적으로 산출된 ERD의 품질은 사용자가 설정한 임계치의 값에 의해 결정될 수밖에 없다는 모호성이 존재한다.

데이터베이스 설계 과정 중, 현업의 요구사항으로부터 개체를 추출해내는 개념적 설계 과정(정대율, 1995)은 기술보다는 오히려 예술 영역에 속하는 것으로 인식되었으며, 그만큼 이 과정의 자동화에 대한 시도도 많지 않았다. 명확한 개체의 추출이 업무에 적합한 ERD를 생성하는데 가장 중요한 핵심 요소임을 감안할 때, 개체 추출 과정의 자동화를 지원하지 않는 도구는 단지 ERD를 그려주는 도구(drawing tool)에 지나지 않을 것이다. 최근 약 20여 년간 개념적 설계의 자동화에 대한 연구(Dogac et al., 1989; Noah and Williams, 2000; Storey and Goldstein, 1993)가 다양한 측면에서 진행되어왔다. 이들 대부분은 현업 담당자가 직접 개체 리스트를 초기 입력으로 시스템에 제공하고, 시스템은 내장된 지식베이스(Bouzeghoub et al., 1997; Kilic et al., 1995; Lazarov and Shoval, 2002; Lo and Choobineh, 1999; Mill and Gomma, 2002; Noah and Williams, 2000; Storey and Goldstein, 1993)를 참조하여 사용자로부터 입력받은 개체 리스트를 수정하는 방식으로 설계를 수행하였다. 이러한 연구들 중 VCS(View Creation System)(Storey, 1988)는 여러 문헌에서 인용되었을 뿐 아니라, 지속적인 연구(Storey et al., 2002)를 촉발시킨 연구로 평가된다. VCS 방법론의 핵심은 입력된 개체들에 대해 지식베이스에 기반한 어휘 분석 또는 온톨로지 분석을 통하여 누락된 개체 및 속성들을 발견할 수 있다는 것이다. 그러나 이러한 접근법은 기존 사례에 기반을 두어 구축된 지식베이스가 새로 주어진 업무 환경과 다른 내용을 담고 있는 경우, 대상 업무와는 상이한 방향으로 설계가 진행될 우려가 있다는 한계를 갖고 있다.

데이터베이스 설계 과정에서 관계(Relationship)을 누락 없이 찾아내고 정의하기 위한 많은 연구가 있었던 것과 달리, 데이터 객체를 개체 또는 속성으로 구분해내는 과정 자체에 대한 연구는 거의 찾아보기 어렵다. 이는 기존의 많은 연구들이 개체급 객체와 속성급 객체가 대상 업무와 관계없이 사전에 구분되어 있다는 일반적인 인식을 그대로 수용하였기 때문이다. 이와 달리 본 연구는 동일한 객체일지라도 대상 업무에 참여하고 있는 역할 및 중요도에 따라 개체 또는 속성으로 유연하게 설계될 수 있다는 인식 하에 수행되었으며, 이러한 인식의 필요성은 개체와 속성 구분의 모호성을 온톨로지(정윤수 등, 2009)의 관점에서 지적한 기존의 연구(Wand et al., 1999)에서 이미 언급된 바 있다.

Ⅲ. 연관규칙 기반의 개념적 데이터 모델링

3.1. 개념적 데이터 모델링 자동화 모형

본 논문에서 제시하고자 하는 개념적 데이터 모델링의 자동화 과정은 ①업무기술서 분석, ②연관규칙 도출, ③연관관계도의 생성 및 정제, ④ERD 생성의 4단계(그림 4)로 구성된다.

<그림 4> 개념적 데이터 모델링 자동화 프로세스

제안하는 시스템은 현업 담당자가 자연어로 기술한 업무기술서(BD: Business Description)를 초기 입력자료로 활용한다. 업무기술서는 다수의 문장으로 구성되며, 각 문장은 둘 이상의 비즈니스 객체들을 포함한다. 전체 프로세스 중 첫 모듈인 Object Parser는 업무기술서의 각 문장 별 객체 리스트(Object List)를 생성한다. 생성된 리스트는 (문장번호, 객체명) 으로 구성된 2열의 데이터로 정형화되어, SAS E-Miner로 전달된다. SAS E-Miner는 연관분석(Association Analysis)을 통해 입력 객체간의 연관규칙(Association Rule)을 도출하고, 발견된 연관규칙은 다음 모듈인 ID Generator가 초기 연관관계도(Initial Diagram)를 생성하는 과정에 사용된다. 초기 연관관계도는 업무기술서의 불완전성으로 인해 기술의 중복성과 모호성을 포함하고 있는데, 이 부분은 다음 모듈인 정제기(IDR: Initial Diagram Refiner)에 의해 제거된다. 마지막으로, 정제된 연관관계도를 토대로 최종 ERD를 도출하는 작업은 ERD 생성기(ERD Generator)에 의해 수행된다. 각 모듈의 동작과정은 본 장의 이후 부분에서 자세히 소개된다. 업무기술서로부터 ERD를 생성하는 일련의 작업 중 본 연구에서 중점적으로 다루는 부분은, 객체 간 연관관계를 파악하고 이를 활용하여 개체 및 속성을 식별하는 부분이다. 연구의 범위를 한정하기 위해 도입된 업무기술서 관련 가정은 다음과 같다.

(가정 1): 업무기술서는 해당업무의 전문가에 의해 작성된다.
업무기술서의 정확성은 ERD의 품질에 가장 큰 영향을 미치는 요소이다. 이 가정은 시스템의 사용자가 스스로 객체를 개체와 속성으로 분류할 수 있는 능력은 갖고 있지 않더라도, 해당 업무에 사용되는 주요 객체와 그들의 역할에 대해서 명확히 기술할 수 있음을 전제하기 위해 도입되었다.

(가정 2): 업무기술서 상의 객체들은 고유하고 일관된 명칭을 갖는다.
단일 명칭이 둘 이상의 객체를 지칭할 수 없고, 이와 반대로 둘 또는 그 이상의 명칭이 동일한 객체에 사용되는 경우는 없다고 가정한다. 즉 업무기술서에서 언급된 모든 객체들은 반드시 동음이의어 또는 이음동의어를 가질 수 없다. 이 부분은 동의어 사전을 활용한 전처리 과정을 거쳐서 현실화 될 수 있지만, 본 연구의 범위를 벗어난 자연어처리 분야에 속하는 영역이므로 본 연구에서는 가정으로 대체한다.

(가정 3): 업무기술서는 객체 구분자를 사용하여 작성한다.
이 가정은 제안하는 시스템의 초기 모듈인 BD Parser를 위한 가정으로, 자연어로 작성된 업무기술서의 문장 중 객체만을 정확히 추출하기 위해 적용된다. 이 부분 역시 데이터베이스 설계 보다는 자연어처리 분야에서 다루어져야 할 성격의 주제이므로, 본 연구에서는 객체 추출 과정의 단순화를 위해 객체를 명시하기 위한 식별자로 좌괄호와 우괄호를 사용하여 업무기술서를 작성한다.

3.2. 연관규칙 기반 개체 및 속성 구분

연관규칙이란 객체 간 동시 발생 경향을 기술한 규칙으로 ‘X가 발생하면 Y도 발생한다’와 같은 형태로 기술된다. 연관규칙은 데이터마이닝의 주요 분석 기법인 연관관계 분석을 통해 발견되며, 발견된 지식은 매장 재배치, 카탈로그 디자인, 교차판매 등의 의사 결정에 유용하게 사용될 수 있다. 연관규칙을 평가하기 위한 척도로 신뢰도(Confidence), 지지도(Support) 등의 고전적 척도(Agrawal et al., 1993)를 시작으로 하여 다양한 기준에서의 척도들(Geng and Hamilton, 2006; Lenca et al., 2007; Vaillant et al., 2004)이 고안되어 왔으며, 이 가운데 특히 신뢰도가 가장 널리 활용되는 것으로 알려져 있다. 신뢰도는 조건부확률과 동일한 방식으로 정의되며, 연관규칙 (X → Y)의 신뢰도는 X가 포함된 트랜잭션 중 X와 Y가 동시에 포함된 트랜잭션의 비율로 정의된다.

본 연구에서는 신뢰도를 기준으로 하여 객체 간 연관관계의 강도를 평가하고, 그 결과에 따라 개체 및 속성을 식별한다. 개체 및 속성 식별 과정에서 절대적 기준이 아닌 통계적 척도를 활용하는 이유는, 업무기술서를 작성하는 과정에서 작성자의 주관 및 임의성이 개입되거나 업무의 중복 기술 또는 누락 기술이 발생할 가능성을 배제할 수 없기 때문이다. 즉 본 연구에서 제안하는 시스템은 업무기술서가 사용자의 의도적 또는 비의도적 입력 오류를 포함하고 있는 경우에도 적용 가능하며, 이는 정보의 누락이 없는 완벽한 업무기술서를 가정한 기존의 유사 연구와 가장 대조되는 부분이다.

제안하는 시스템의 입력 처리 과정에서 신뢰도가 활용되는 원리를 간략히 설명하면 다음과 같다. 예를 들면, 연관규칙 (‘학번’ → ‘학생’)은 ‘학번’ 객체가 언급된 문장에서 ‘학생’ 객체가 함께 언급되는 패턴을 지칭하기 위한 규칙이다. 만약 이 연관규칙의 신뢰도가 100%라면, 이는 ‘학번’ 객체는 어떠한 경우에도 ‘학생’ 객체 없이 독립적으로 언급되지 않으므로 ‘학번’ 객체가 ‘학생’ 개체의 속성으로 존재할 가능성이 매우 큼을 암시한다. 예를 들어 <표 1>에서 1번과 2번 문장만이 업무기술서에 존재한다고 가정하면 연관규칙 (‘학번’ → ‘학생’)의 신뢰도는 100%가 된다. 만약 업무기술서에 1, 2번 문장뿐 아니라 3번 문장까지 포함되어 있다고 가정하면, 연관규칙 (‘학번’ → ‘학생’)의 신뢰도는 약 67%로 감소하게 된다. 물론 67%의 신뢰도를 갖는 연관규칙을 의미 있는 패턴으로 판단할 지의 여부는 사용자가 선택한 최소 임계값에 따라 달라지게 된다. 만약 사용자가 설정한 임계값이 80%였다면 이 경우 연관규칙 (‘학번’ → ‘학생’)은 의미 있는 패턴으로 발견되지 않을 것이며, 임계값이 65%였다면 시스템은 연관규칙 (‘학번’ → ‘학생’)을 의미 있는 패턴으로 인정할 것이다.

<표 1> 문장별 객체 리스트 및 누적 신뢰도

문장	문장별 포함 객체	누적 신뢰도 (‘학번’ → ’학생’)
1	학생, 학번, 학과	100.0%
2	학생, 학번, 도서	100.0%
3	수강신청, 학번, 교과목	66.7%
...	...	...

위의 예는 업무기술서로부터 도출되는 연관규칙의 결과가 신뢰도의 임계값에 따라 달라질 수 있고, 결과적으로 연관규칙에 근거하여 도출되는 ERD의 형태도 달라질 수 있음을 보여준다. 본 논문에서 제안하는 자동화 방법론의 핵심은 다양한 임계값에 따라 유연하게 도출되는 연관규칙을 제시하고, 그 결과로 산출되는 다양한 수준의 ERD를 사용자에게 동시에 제공하는 것이다. 본 장의 이후 부분에서는 간단한 예를 통해 업무기술서로부터 ERD를 도출하기 위한 각 모듈의 동작 과정을 설명한다. 3.3절에서는 업무기술서에서 객체를 추출하는 과정을, 3.4절에서는 추출된 객체로부터 SAS E-Miner를 통해 연관규칙을 도출하는 과정을 소개한다. 이후 3.5절과 3.6절에서는 연관규칙을 도식화하여 연관관계도를 생성하고 정제하는 방법을, 마지막으로 3.7절에서는 정제된 연관관계도를 최종 ERD로 변환하는 방법에 대해 살펴보기로 한다.

<표 2> 사내 주차장 관리에 대한 간략한 업무기술서

번호	업무기술 내용	추출객체
S1	(사원)은 (사번)으로 구분되며 (이름), (직급)을 갖는다	사원, 사번, 이름, 직급
S2	(사원)은 (이름)과 (직급)을 갖는다	사원, 이름, 직급
S3	(등록일)은 (사원)이 (차량)을 등록한 일자를 의미한다.	사원, 차량, 등록일
S4	(사원)은 지정된 (차량번호)의 (차량)을 (등록일)로부터 주차할 수 있다.	사원, 차량번호, 차량, 등록일
S5	각 (차량)은 고유의 (차량번호)를 가진다	차량, 차량번호
S6	각 (차량)별로 고유의 (주차구역)이 배정되며 (주차가능시간)이 명시된다.	차량, 주차구역, 주차가능시간
S7	(주차가능시간)과 (주차구역)은 각 (차량)의 (차량번호)로 식별된다.	차량, 차량번호, 주차가능시간, 주차구역
S8	(차량)에 따라 일부 (주차구역)은 사용이 제한된다.	차량, 주차구역
S9	(주차구역)별로 상이한 (주차료)를 책정할 수 있다.	주차구역, 주차료

3.3. 업무기술서로부터의 객체 추출

업무기술서의 문장에서 모든 객체는 본 장의 (가정 3)에 의해 괄호 식별자로 구분되어 입력된 것으로 가정한다. 본 절에서는 사내 주차장 관리를 다룬 간략한 업무기술서를 소개하고, 본 장 전체에 걸친 설명 과정에서 이 업무기술서를 사용하도록 한다. 업무기술서는 총 9 문장으로 구성된 아주 간단한 형태이며, 그 문장 및 추출 객체가 <표 2>에 기술되어 있다.

BD Parser는 각 문장별로 객체 추출 작업을 수행한 후 그 결과를 <그림 5>의 우측 "Extracted Objects"에 나타난 바와 같이 (Sentence, Object)의 2열 형태로 저장한다. (가정 3)으로 인해 BD Parser는 매우 간단하게 구현될 수 있으며, 본 논문에서는 Visual Basic 6.0을 사용하여 이를 구현하였다.

<그림 5> BD Parser를 이용한 객체추출

3.4. SAS E-Miner를 이용한 연관규칙 도출

SAS E-Miner는 회귀분석, 신경망, 의사결정 트리 등 다양한 통계적 분석 기능을 통해, 연관분석, 예측, 군집분석 등 데이터마이닝의 주요 분석 업무를 GUI 환경에서 수행할 수 있도록 제작된 도구이다. 본 절에서는 E-Miner의 여러 모듈 중 연관분석 모듈을 이용하여, 신뢰도의 다양한 임계값에 따라 유연하게 연관규칙이 도출되는 양상을 살펴본다. <그림 5>의 입력 데이터에 대한 신뢰도, 지지도, 향상도 및 출현 빈도수 등의 연관분석의 결과가 <그림 6>에 나타나있다. 이 결과에서 신뢰도가 75% 이상인 규칙들만을 정리한 결과가 <표 3>에 다시 제시되어 있다. 총 14개의 규칙이 75% 이상의 신뢰도를 갖는 것으로 나타났으며, 이 중 하나의 규칙만이 75%의 신뢰도를 갖고 나머지 13개 규칙은 100%의 신뢰도를 갖는 것으로 파악되었다.

<그림 6> 수치화된 연관분석 결과

3.5. 연관관계도의 작성 및 정제

3.5.1 객체 간 존재종속성

본 절에서는 연관분석을 통해 도출된 ‘X → Y'의 형태의 규칙들을 도식화하여 연관관계도를 작성하고 이를 정제하는 과정을 설명한다. 예를 들어 <표 3>의 첫 번째 규칙인 ’차량번호 → 차량‘은

<표 3> 신뢰도 75% 이상의 연관규칙

신뢰도	연관규칙	신뢰도	연관규칙
100%	차량번호 → 차량	100%	이름 → 사원
100%	주차가능시간 → 차량	100%	등록일 → 사원
100%	등록일 → 차량	100%	사번 → 직급
100%	직급 → 이름	100%	주차료 → 주차구역
100%	이름 → 직급	100%	사번 → 이름
100%	직급 → 사원	100%	사번 → 사원
100%	주차가능시간 → 주차구역	75%	주차구역 → 차량

’차량번호‘라는 객체가 문장 내에 존재하면 ’차량‘이라는 객체도 동일한 문장 내에 함께 존재할 가능성이 100%임을 의미한다. 즉 화살표 좌측 객체(X)는 화살표 우측 객체(Y) 없이는 존재할 수 없음을 의미하며, 이 경우 ’X는 Y에 존재종속적이다’ 라고 표현하기로 한다. 물론 존재종속성은 신뢰도가 100%인 경우에만 성립하는 것은 아니다. 예를 들어 임계값이 75%로 주어진 경우, 75% 이상의 신뢰도를 갖는 모든 연관규칙은 존재종속성을 표현하는 것으로 인정된다. 연관규칙의 각 객체는 연관관계도에서 노드(Node)로 표현되며, 객체 간의 존재종속성은 노드 간의 방향성링크(Directional Link)로 표현된다. 노드와 링크로 표현되는 연관관계도의 간단한 예가 <그림 7>에 나타나있다. <그림 7(a)>는 O1 →O2, O2 →O4, O2 →O3, O3 →O2 의 존재종속성을 각각 나타낸 그림이며, <그림 7(b)>는 <그림 7(a)>의 모든 존재종속성을 표현한 간단한 연관관계도이다.

<그림 7> 연관관계도에서 객체 간 존재종속성의 표현

3.5.2. 독립/종속 노드의 분류

E-Miner에 의해 발견된 모든 연관규칙들에 대한 도식화가 완료된 후, 모든 노드들을 독립 노드 또는 종속 노드로 분류함으로써 초기 연관관계도가 완성된다. 종속 노드는 임의의 다른 노드에 존재종속적인 노드를 의미하며, 연관관계도에서 하나 이상의 외향링크(Outgoing Link)를 가진 노드가 이에 해당된다. 독립 노드는 다른 어떤 노드에 대해서도 존재종속성을 갖고 있지 않은 노드를 의미하며, 연관관계도에서 단 하나의 외향링크도 갖고 있지 않은 노드를 의미한다. 예를 들면 <그림 8>에서 노드 'S'는 하나의 내향링크(Incoming Link)를 갖고 외향링크는 단 하나도 갖고 있지 않으므로 독립 노드로 분류되며, 그 외의 다른 모든 노드들은 종속 노드로 분류된다. 연관관계도에서 종속 노드는 흰색으로, 독립 노드는 회색으로 표시된다.

<그림 8> 연관관계도 상의 독립 노드와 종속 노드

<표 3>에 나타난 신뢰도 75% 이상의 연관규칙들에 포함된 객체 및 존재종속성을 도식화하고, 모든 노드에 대해 독립/종속 노드 분류 작업을 수행하면 <그림 9>과 같은 초기 연관관계도를 도출할 수 있다. <그림 9>은 기본적으로 신뢰도의 임계값이 100%로 주어졌을 때의 연관관계도를 나타내고 있으며, 만약 임계값이 75%로 주어지는 경우 <그림 9>에서 점선으로 표시된 링크가 새롭게 추가되게 된다.

<그림 9> 초기 연관관계도(신뢰도의 임계값 = 100%, 75%)

우선 <그림 9>에서 임계값이 100%인 경우의 초기 연관관계도를 살펴보면 총 13개의 링크와 10개의 노드로 구성되어 있다(점선은 포함되지 않음). 노드들 중 외향링크를 갖지 않는 노드는 ‘사원’, ‘차량’, ‘주차구역’의 세 가지이며, 이들은 그림에서 회색으로 표시되었다. 다음으로 <그림 9>에서 임계값이 75%인 경우를 살펴보면, 총 링크의 수는 14개로 증가함을 볼 수 있다(점선 포함). 이 변화로 인해 ‘주차구역’ 노드는 ‘차량’ 노드로 향하는 외향링크를 갖게 되므로 독립 노드가 아닌 종속 노드로 분류된다. 즉, 임계값의 하향 조정은 독립 노드의 수를 감소시키는 효과가 있음을 알 수 있다.

3.5.3. 연관관계도의 정제

초기 연관관계도는 최종 ERD로 변환되기 이전에 정제 과정을 거쳐야 한다. 정제 과정은 연관관계도에 표현된 존재종속성을 보다 단순하고 명확하게 재구성하는 과정이다. 존재종속성은 항상 다음의 두 가지 유형 중의 하나로 표현된다: 직접 존재종속성(‘종속 노드’ → ‘독립 노드’)과 간접 존재종속성(‘종속 노드’ → ‘종속 노드’). 이 외의 다른 유형이 존재할 수 없음은 존재종속성 및 독립 노드의 정의로부터 자명하다. 왜냐하면 독립 노드는 외향링크를 단 하나도 갖지 않으며, 이는 곧 독립 노드가 존재종속성의 좌측에 출현할 수 없음을 의미하기 때문이다. 연관관계도의 정제 과정은 위에서 간접 존재종속성을 직접 존재종속성으로 대체시키는 과정이며, 이를 통해 모든 종속 노드는 독립 노드와만 존재종속성을 갖게 된다.

정제 과정의 기본 절차는 다음과 같다. 종속 노드는 항상 외향링크를 갖고 있으며, 이 링크의 반대편에는 독립 노드 또는 종속 노드가 위치한다. 만약 반대편 노드가 독립 노드라면 이 링크는 직접 존재종속성을 표현하므로 정제의 대상이 되지 않는다. 만약 반대편 노드가 종속 노드라면, 종속 노드의 정의에 의해 이 노드 역시 외향링크를 갖는다. 이러한 방문 과정을 반복하면 결국 외향링크를 갖지 않는 노드인 독립 노드에 다다르게 되는데, 이 과정에서 방문한 모든 링크들을 제거하고 그 대신 각 종속 노드들과 최종 도착지인 독립 노드 간에 직접 링크를 생성함으로써 링크 구조의 개선이 이루어진다. 즉 정제 과정은 링크의 이행성(Transitivity)을 발견하여 간접 존재종속성을 직접 존재종속성으로 대체하는 과정으로 요약된다. 단, 순환 링크가 존재하는 경우 종속 노드의 링크를 계속 따라가도 독립 노드에 도달하지 않는 경우도 있으며, 이에 대해서는 추후 논의한다.

<그림 10> 이행성을 통한 정제 과정

초기 연관관계도의 정제 예가 <그림 10>에 나타나있다. 예를 들면 Case 1은 W1 →W2과 W2 →S의 존재종속성으로부터 W1 →W2 →S의 이행 종속성을 발견하여, 궁극적으로 W1 →S과 W2 →S의 링크로 재구성하는 과정을 보여준다. 한편 Case 2의 경우 W1이 W2와 W3 모두에게 존재종속성을 갖고 있는 경우를 보여준다. 이 경우 두 경로의 탐색이 이루어지게 되며, W1 →W2과 W2 →S1을 통해 W1 →S1을 생성하고, W1 →W3과 W3 →S2를 통해 W1 →S2를 생성하는 방법으로 링크의 재구성이 이루어진다. 마지막으로 Case 3은 다소 복잡한 경우를 묘사하고 있지만, Case 1과 Case 2에서 설명된 동일한 원리를 적용함으로써 쉽게 이해될 수 있다.

<그림 12> 정제된 연관관계도(신뢰도의 임계값 = 100%)

본 장에서 다루고 있는 예에서는 발견되지 않지만, 종속 노드들로 구성된 순환 구조가 존재하는 경우가 있다. 순환 구조란 어떤 노드로부터 출발하여 링크를 따라 탐색하였을 때, 그 출발 노드에 다시 도착할 수 있는 경로가 존재하는 구조를 의미하여, <그림 11(a)>가 이에 해당된다. <그림 11(a)>은 W1 →W2 →W3 →W1 →... 와 W1 →W3 →W2 →W1 →... 으로 이어지는 순환 구조를 보여주고 있다. 순환 구조에 참여하고 있는 노드는 필연적으로 외향링크와 내향링크를 모두 가져야 하는데, 독립 노드는 정의상 외향링크를 가질 수 없으므로 어떠한 경우에도 순환 구조에 참여할 수 없다. 따라서 <그림 11(a)>과 같이 순환 구조가 존재하는 경우 어떠한 종속 노드도 직접 존재종속성을 갖지 않으므로, <그림 10>에서 언급한 방식의 정제 작업이 이루어질 수 없다. 따라서 순환 구조를 갖는 경우에는 의사(Pseudo) 독립 노드를 생성하여, <그림 11(b)>와 같이 순환 구조의 중간에 추가한 이후 정제 작업을 수행한다. 그 결과 <그림 10>에서 설명된 바와 같은 정제 과정을 통해 <그림 11(a)>의 연관관계도는 <그림 11(c)>와 같은 형태로 재구성된다.

<그림 11> 순환 구조에 참여하는 종속 노드들의 정제

위의 과정을 통하여 <그림 9>의 초기 연관관계도를 정제한 결과가 <그림 12>와 <그림 13>에 나타나있다. <그림 12>는 신뢰도의 임계치를 100%로 설정하였을 때의 결과이며, <그림 13>는 임계치를 75%로 설정하였을 때의 결과이다. <그림 12>와 <그림 13>에서 ‘주차구역’ 객체를 제외한 다른 객체들의 독립/종속 구분 결과는 모두 동일하다. 하지만 ‘주차구역’ 객체는 <그림 12>에서는 독립 노드로, <그림 13>에서는 ‘차량’ 객체에 존재종속성을 갖는 종속 노드로 분류되었음을 확인할 수 있다. 또한 이 변화에 의해 ‘주차료’ 및 ‘주차가능시간’ 객체의 외향링크도 재구성되었음을 확인할 수 있다.

<그림 13> 정제된 연관관계도(신뢰도의 임계값 = 75%)

3.6. ERD 작성

본 절에서는 정제된 연관관계도로부터 최종 ERD를 도출하기 위한 4 가지 규칙을 소개한다. 다음의 4 가지 ERD 규칙은 순차적으로 적용된다.

(ERD 규칙 1): 독립 노드는 개체로, 종속 노드는 속성으로 판정한다(그림 14).

<그림 14> 독립 노드의 개체화 및 종속 노드의 속성화

(ERD 규칙 2): 속성 A1이 단 하나의 외향링크를 갖고 있다면, 이 속성은 이 링크의 반대편 노드에 위치하는 개체 E1의 속성으로 확정된다(그림 15).

<그림 15> 개체의 속성 확정

(ERD 규칙 3): 속성 A1이 n>1인 n 개의 외향링크를 갖고 있고, 각 링크의 반대편에 개체 E1, E2, E3... En에 해당되는 개체가 존재한다면, 개체 E1, E2, E3... En이 참여하는 관계 R이 생성되고, 속성 A1은 관계 R의 속성으로 확정된다(그림 16).

<그림 16> 관계의 속성 확정 (n=2 인 경우)

(ERD 규칙 4): 업무기술서의 임의의 문장이 둘 이상의 개체를 포함하고 있다면, 이 개체들이 연관된 관계가 항상 존재해야 한다. 대부분의 관계는 <ERD 규칙 3>의 적용 과정에서 이미 생성되지만, 속성을 갖지 않는 관계의 경우엔 이에 의해 생성되지 않으며, 이들 관계를 추가로 생성하기 위한 별도의 규칙이 필요하다(그림 17).

<그림 17> 속성이 없는 관계의 도출

<그림 18> 최종 ERD(신뢰도의 임계값 = 100%)

위의 ERD 규칙 1~4를 적용하여 <그림 12>와 <그림 13>의 연관관계도를 ERD로 변환한 결과가 <그림 18>과 <그림 19>에 각각 나타나있다. <그림 18>과 <그림 19>의 비교를 통해, 하나의 업무기술서로부터 상이한 ERD가 도출되었음을 알 수 있다. 제안하는 방법론은, 이와 같이 하나의 업무기술서로부터 신뢰도의 다양한 임계값에 대응하는 다양한 수준의 ERD를 생성하여 사용자에게 제공할 수 있다.

<그림 19> 최종 ERD(신뢰도의 임계값 = 75%)

Ⅳ. 실험

본 장에서는, 서울 소재 한 대학의 실제 교직원 인사업무 일부에 대해 작성된 업무기술서로부터 ERD를 도출하는 전체 과정을 수행함으로써, 제안하는 방법론의 현업 적용 가능성을 평가한다.

4.1 업무기술서에서의 객체 추출

사용된 업무기술서는 총 141개의 문장과 102개의 객체로 구성되어 있으며, 이 업무기술서에서 BD Parser를 활용하여 각 문장별 객체를 추출한 결과 일부를 <표 4>에 제시하였다.

<표 4> 추출된 객체 리스트 (일부)

문장	객체	문장	객체	문장	객체
007	교직원	013	부양가족	018	지급일자
007	부양가족	013	가족관계	019	제수당
008	부양가족	014	부양가족	019	가족수당
008	등록일자	014	가족주민번호	020	제수당
009	부양가족	015	부양가족	020	출장수당
009	비고사항	015	가족성명	021	제수당
010	부양가족	015	가족주민번호	021	가족수당
010	개별가족수당	016	제수당	021	부양가족
011	부양가족	016	부양가족	021	개별가족수당
011	교직원	017	제수당	022	가족수당
012	부양가족	017	교직원	022	부양가족
012	부양자순번	018	제수당

<표 5> 도출된 연관규칙 리스트(신뢰도 75%)

Conf.(%)	Association Rules	Conf.(%)	Association Rules
75.0	가족수당 → 제수당	75.0	포상기관 → 포상종별
75.0	기대효과 → 교육/연수	75.0	포상기관 → 포상
75.0	연수내용 → 교육/연수	75.0	학위종별 → 학력
75.0	전공명 → 학력	75.0

4.2. 연관규칙 도출 실제

추출된 객체 리스트를 SAS E-Miner를 활용하여 연관분석을 수행한 결과, 신뢰도 100%인 연관규칙 107개와 75%인 연관규칙 7개가 도출되었다. 이 중 신뢰도 75%인 연관규칙만을 <표5>에 따로 정리하여 나타냈다.

4.3. 연관관계도의 작성 및 정제

다음 <그림 20>은 신뢰도의 임계값을 100% 또는 75%로 설정하였을 때의 초기 연관관계도를 동시에 나타낸 것이며, 신뢰도 100%인 규칙은 실선으로, 75%인 규칙 7개는 점선으로 표시하였다. 음영 처리 된 노드는 임계값 75%인 연관관계도에서 독립 노드로 분류된 노드이며, 총 102개의 노드 중 18개의 노드가 이에 해당된다.

<그림 20>은 3장에서 이미 소개된 바와 같이, 존재종속성의 이행성을 활용한 정제 과정을 통해 보다 명확한 형태로 재구성될 수 있다. <그림 21>은 신뢰도의 임계값 75% 기준으로 작성된 초기 연관관계도가 정제되는 과정의 일부를 보여준다. <그림 20>의 초기 연관관계도가 <그림 21>의 과정을 거쳐서 정제된 결과가 <그림 22>와 <그림 23>에 제시되어있다. 이들은 각각 신뢰도의 임계값을 100%와 75%로 설정하여 정제된 결과이다. 임계값이 100%인 경우의 독립 노드 수는 22개, 임계값이 75%인 경우는 18개로 파악되었다. 즉 ‘포상기관’, ‘연수내용’, ‘기대효과’, ‘전공명’ 객체는 <그림 22>에서는 독립 노드로 분류되었으나, <그림 23>에서는 종속 노드로 분류되었다. 또한 <그림 23>에서 종속 노드로 분류된 ‘학위종별’ 객체는 <그림 22>에서는 어떤 연관규칙에도 포함되지 않아서 제거되었다.

<그림 21> 연관관계도 정제 과정의 일부(신뢰도의 임계값 = 75%)

<그림 20> 초기 연관관계도(신뢰도의 임계값 = 75, 100%)

<그림 22> 정제된 연관관계도(신뢰도의 임계값 = 100%)

<그림 23> 정제된 연관관계도(신뢰도의 임계값 = 75%)

<그림 24> ERD 규칙 1, 2의 적용

4.4. ERD 작성

본 절에서는 <그림 22>와 <그림 23>의 연관관계도로부터 최종 ERD를 도출하는 과정을 살펴본다. ERD 규칙 1과 2는 독립 노드를 개체로, 종속 노드를 속성으로 분류한 뒤, 속성과 개체의 소속관계를 맺어주는 과정을 규정한다. 이 규칙에 의해 <그림 22>의 연관관계도의 일부가 ERD로 변환되는 과정이 <그림 24>에 나타나있다.

<그림 26> ERD 규칙 4의 적용

<그림 25> ERD 규칙 3의 적용

ERD 변환 규칙 3은 둘 이상의 외향링크를 가진 속성이 관계의 속성으로 배치되는 과정을 규정하고 있으며, <그림 23> 중 이에 해당하는 부분이 <그림 25>에 나타나있다.

<그림 27> 최종 ERD(신뢰도의 임계값 = 100%)

ERD 규칙 4는 규칙 3에 의해 발견되지 않은 관계를 찾아내기 위한 규칙이며, <그림 23> 중 이에 해당하는 부분이 <그림 26>에 나타나있다. 즉 정제된 연관관계도에서 객체 ‘교직원’과 ‘부양가족’을 연결하는 어떠한 링크도 존재하지 않지만, 업무기술서에서 이 두 객체가 동시에 언급된 문장(4.1절, <표 4>, 007번 문장 참조)이 있기 때문에 이 두 객체 간에는 규칙 4에 의해서 관계가 형성됨을 알 수 있다.

신뢰도의 임계값을 100%로 설정하였을 때의 연관관계도인 <그림 22>로부터 도출되는 최종 ERD는 총 22개의 개체를 포함하며, 그 결과가 <그림 27>에 제시되어 있다. 또한 임계값이 75%일 때의 최종 ERD는 총 18개의 개체를 포함하며, 그 결과가 <그림 28>에 제시되어 있다. ‘포상기관’, ‘연수내용’, ‘기대효과’, ‘전공명’의 네 가지 객체는 <그림 27>에서는 개체로 분류된 반면 <그림 28>에서는 각각 ‘포상’, ‘교육/연수’, ‘교육/연수’, ‘학력’ 개체의 속성으로 분류되었음을 알 수 있다. <그림 27>, <그림 28>이 나타내듯이, 동일한 업무기술서로부터 신뢰도 임계값의 변화에 따라 다양한 수준의 ERD를 도출할 수 있음을 알 수 있었다. 비교를 위해 두 결과물 중 서로 다르게 나타난 부분을 정리하여 <그림 29>에 별도로 제시하였다. <그림 29>에서, 신뢰도의 임계값을 낮출수록 객체들 간에 존재하는 연관 규칙의 수가 증가하며, 이로 인해 독립 노드의 수가 감소하고, 그 결과 여러 개체가 하나의 개체로 통합되는 경향이 나타남을 알 수 있다.

<그림 28> 최종 ERD(신뢰도의 임계값 = 75%)

물론 임계값을 100%로 설정한 경우와 75%로 설정한 경우 중 어느 한 쪽이 다른 한 쪽에 비해 항상 유리하다고 단정할 수는 없다. 하지만 본 실험의 경우, 현업 담당자와 설계 담당자 모두 임계값 75% 기준으로 도출된 ERD가 100%의 경우에 비해 현장 요구 조건을 충실히 반영하고 있다는 의견을 주었다. 이는 업무기술 과정에서 발생할 수 있는 정보 누락에 대해, 임계값 100%의 경우는 매우 민감하게 반응하는 반면 임계값 75%의 경우는 상대적으로 더디게 반응하는 경향을 보이기 때문이다. 따라서 업무기술서의 정확성이 매우 높은 수준으로 보장되지 않는 경우에는 임계값을 지나치게 높게 설정하는 것은 바람직하지 않은 것으로 사료된다. 하지만 임계값이 지나치게 낮게 설정되는 경우, 객체 간에 희미하게 존재하는 연관성이 확대 해석되어 각기 독립된 의미를 갖는 개체들이 하나로 무분별하게 통합될 우려가 있다. 따라서 신뢰도의 임계값은 가급적 높게 설정하고, 이를 뒷받침하기 위해 업무기술서의 정확성을 높이기 위한 교육 및 훈련을 동시에 수행하는 것이 가장 바람직하다.

<그림 29> 신뢰도 임계값의 변화에 따른 ERD의 변화

Ⅴ. 결 론

현업 사용자들의 데이터베이스 설계 과정을 지원하기 위한 자동화 시스템에 대한 많은 연구가 있었으나, 대부분의 기존 시스템들은 개체, 속성 및 관계의 식별을 사용자가 직접 수행할 것을 요구하였기 때문에, 데이터베이스 지식이 없는 사용자가 이들 시스템으로부터 실질적인 도움을 받기가 매우 어려웠다. 또한 기존 시스템은 과거 사례로부터 구축된 지식베이스를 활용하여 설계를 수행함으로써, 새롭게 주어진 환경에 유연하게 반응하지 못한다는 한계를 갖고 있었다. 본 논문에서 제안한 방법론은 지식베이스 등 과거의 정보에 의존하지 않고 현업 담당자가 기술한 업무기술서에만 근거해서 개념적 데이터 모델링을 수행한다는 측면에서 기존의 연구와 차별성을 갖는 것으로 사료된다. 제안하는 방법론은 업무기술서에 기재된 객체 간의 연관분석을 통해 연관규칙을 도출한 뒤, 이에 근거해서 최종 ERD를 도출한다. 제안하는 자동화 방법론은 하나의 업무기술서를 입력으로 받아서 다양한 신뢰도의 임계값 수준에 따라 다양한 ERD를 사용자에게 동시에 제시할 수 있기 때문에, 업무 환경에 따라 가장 적합한 ERD를 유연하게 선택할 수 있다는 장점을 갖는다.

본 논문에서 제안한 자동화 방법론은, 업무에 대해 비교적 정확한 정보가 기술되어 있는 업무기술서를 획득하는 것으로부터 시작된다. 하지만 실제 기업의 대부분의 업무들은 고유의 양식 또는 보고서 형태로 기술되어 있기 때문에, 제안하는 방법론의 입력으로 사용되기 위한 체계적 업무기술서를 획득하는 것 자체가 매우 어려운 일이다. 따라서 설계 자동화를 위한 입력으로 업무기술서 이외의 다른 자료를 활용할 수 있는 방안에 대한 연구가 추후 수행되어야 한다. 예를 들면 반구조적 문서로부터 업무 규정을 추출하는 기법, 자연어 처리를 보다 용이하고 정확하게 수행하기 위한 업무 표준 용어사전 구축 등을 들 수 있다. 또한, 연관규칙의 임계값에 따라 다양한 수준의 ERD를 제공한다는 것은 유연성 측면에서는 강점으로 인정받을 수 있지만, 다양한 ERD 중 하나를 선택해야 하는 사용자 입장에선 이러한 최종 선택이 부담으로 작용할 수 있다. 이러한 부담을 덜기 위해서는, 다양한 업무 분야 및 규모에 대한 실험을 통해 임계값이 결과물에 미치는 영향을 파악하고, 이를 체계화하여 그 활용 지침을 사용자에게 사전에 제시하기 위한 노력이 필요하다. 마지막으로 본 연구는 방법론 제시에 초점을 두어 수행되었으므로, 전체 설계 과정 중 일부분에 대한 자동화만 이루어진 상태이다. 다양한 분야에서의 방대한 실험을 위해서는, 설계 과정 전체에 대한 자동화가 반드시 이루어져야 할 것이다.

<참고문헌>

김병곤, 박순창, "데이터 웨어하우징의 성공적 구현에 영향을 미치는 요인," 정보시스템연구, 제17권 제4호, 2008, pp. 51-77.

정대율, "객체지향적 모델관리시스템을 위한 기능요구분석," 정보시스템연구, 제4권 제1호, 1995, pp. 129-153.

정윤수, 이춘열, 김남규, “토픽맵의 다중역할 토픽 보존을 위한 관계형 데이터베이스 구조,” 정보시스템연구 제18권 제3호, 2009, pp. 327-349.

Agrawal, R., Imielinske, T., and Swami, A., "Mining Association Rules between Sets of Items in Large Databases," In Proceedings of ACM SIGMOD International Conference on Management of Data, Washington D. C., 1993, pp. 207-216.

Bouzeghoub, M., Fabret, F., Llirbat, F., Matulovic, M., and Simon, E., "ACTIVE-DESIGN: A Generic Toolkit for Deriving Specific Rule Execution Models," In Proceedings of the 3rd International Workshop on Rules in Database Systems, Skovde, Sweden, 1987, pp. 197-211.

Dogac, A., Yuruten, B., and Spaccapietra, S., "A Generalized Expert System for Database Design," IEEE Transactions on Software Engineering, Vol. 15. 1989, pp. 479-491.

Geng, L. and Hamilton, H. J., "Interestingness Measures for Data Mining: A Survey," ACM Computing Surveys, Vol. 38, No. 3, 2006, pp. 1-32.

Kilic, E., Ozhan, G., Dengi, C., Kesim, N., Koksal, P., and Dogac, A., "Experiences in Using CORBA for a Multidatabase Implementation," In Proceedings of the 6th International Workshop on Database and Expert System Applications, London, UK, 1995, pp. 223-230.

Lazarov, A. and Shoval, P., "A Rule-based System for Automatic Assignment of Technicians to Service Faults," Decision Support Systems, Vol. 32, No. 4, 2002, pp. 343-360.

Lenca, P., Vaillant, B., Meyer, P., and Lallich, S., "Association Rule Interestingness Measures: Experimental and Theoretical Studies," Quality Measures in Data Mining, Springer, 2007, pp. 51-76.

Lo, W. A. and Choobineh, J., "Knowledge-based Systems as Database Design Tools: A Comparative Study," Journal of Database Management, Vol. 10, No. 3, 1999, pp. 26-40.

Mills, K. L. and Gomaa, H., "Knowledge-based Automation of a Design Method for Concurrent Systems," IEEE Transactions on Software Engineering, Vol. 28, No. 3, 2002, pp. 228-255.

Noah, S. A. and Williams, M., "Exploring and Validating the Contributions of Real-world Knowledge to the Diagnostic Performance of Automated Database Design Tools," In Proceedings of the 5th IEEE International Conference on Automated Software Engineering, 2000, pp. 177-185.

Storey, V. C., View Creation: An Expert System for Database Design, International Center for Information Technologies, Washington, D. C., 1988.

Storey, V. C. and Goldstein, R. C., "Knowledge- based Approaches to Database Design," MIS Quarterly, Vol. 17, 1993, pp. 25-46.

Storey, V. C., Goldstein, R. C., and Ullrich, H., "Naive Semantics to Support Automated Database Design," IEEE Transactions on Knowledge and Data Engineering, Vol. 14, 2002, pp. 1-12.

Teorey, T. J. and Fry, J. P., Design of Database Structures, Prentice-Hall, New Jersey, 1982.

Teorey, T. J., Yang, D., and Fry, J. P., "A Logical Design Methodology for Relational Databases Using the Extended Entity- Relationship Model," ACM computing Surveys, Vol. 18, 1986, pp. 197-222.

Vaillant, B., Lenca, P., and Lallich, S., "A Clustering of Interestingness Measure," In Proceedings of 7th International Conference on Discovery Science, Padova, Italy, 2004, pp. 290-297.

Wand, Y., Storey, V. C., and Weber, R., "An Ontological Analysis of the Relationship Construct in Conceptual Modeling," ACM Transactions on Database Systems, Vol. 24, 1999, pp. 494-528.

Yang, H. and Chu, W. C., "Acquisition of Entity Relationship Models for Maintenance- Dealing with Data Intensive Programs in a Transformation System," Journal of Information Science and Engineering, Vol. 15, 1999, pp. 173-198.

손윤호(Son, Yoon-Ho):

현재 국민대학교 행정직으로 재직 중이다. 단국대학교 사범대학에서 학사학위를 취득하였으며, 국민대학교 비즈니스IT전문대학원에서 2009년 정보시스템 전공 석사학위를 취득하였다. 주요 관심분야는 데이터베이스 설계, 데이터 마이닝 등이다.

김인규(Kim, InKyu)

현재 국민대학교 비즈니스IT학부에서 부교수로 재직 중이다. 영남대학교 전자공학과에서 학사 학위를 취득하고, 미국 오레곤 주립대학에서 소프트웨어 공학을 전공하여 전산학 석사학위를 취득하였고, 오레곤 대학에서 실시간 시스템전공으로 박사학위를 취득하였다. 한국ITA/EA학회 부회장으로 활동 중이다. 주요 관심분야는 소프트웨어 공학, 소프트웨어 아키텍처, 엔터프라이즈 아키텍처, 온톨로지 등이다.

김남규(Kim, Namgyu)

현재 국민대학교 비즈니스IT학부에서 조교수로 재직 중이다. 서울대학교 컴퓨터공학과에서 학사 학위를 취득하고, KAIST 테크노경영대학원에서 Database와 MIS를 전공하여 경영공학 석사 및 박사학위를 취득하였다. 한국지능정보시스템학회, 한국CRM학회 이사 및 한국정보시스템학회, 한국경영정보학회 종신회원으로 활동 중이다. 주요 관심분야는 시멘틱 데이터 관리, 데이터베이스 설계 및 데이터 마이닝 등이다.

<Abstract>

Automated Conceptual Data Modeling

Using Association Rule Mining

Yoon-Ho Son․InKyu Kim․Namgyu Kim

Data modeling can be regarded as a series of processes to abstract real-world business concerns. The conceptual modeling phase is often regarded as the most difficult stage in the entire modeling process, because quite different conceptual models may be produced even for similar business domains based on users’varying requirements and the data modelers’ diverse perceptions of the requirements. This implies that an object considered as an entity in one domain may be considered as an attribute in another, and vice versa. However, many traditional knowledge-based automated database design systems unfortunately fail to construct appropriate Entity-Relationship Diagrams(ERDs) for a given set of requirements due to the rigid assumption that an object should be classified as an entity if it has been classified as an entity in previous applications. In this paper, we propose an alternative automation system which can generate ERDs from business descriptions using association rule mining technique. Our system can be differentiated from the traditional ones in that our system can perform data modeling only based on business descriptions written by domain workers, rather than relying on any kind of knowledge base. Since the proposed system can produce various versions of ERDs from the same business descriptions simultaneously, users can have the opportunity to choose one of the ERDs as being the most appropriate, based on their business environment and requirements. We performed a case study for personnel management in a university to evaluate the practicability of the proposed system. This paper summarizes the result of it in the experiment section.

Keywords: Data Mining, Association Rule Mining, Conceptual Data Modeling, Entity-Relationship Model, Database Design Automation

* 이 논문은 2009년 11월 20일 접수하여 1차 수정을 거쳐 2009년 12월 05일 게재 확정되었습니다.