KR101226163B1 - 스키마 매칭 장치 및 방법 - Google Patents

스키마 매칭 장치 및 방법 Download PDF

Info

Publication number
KR101226163B1
KR101226163B1 KR1020120077381A KR20120077381A KR101226163B1 KR 101226163 B1 KR101226163 B1 KR 101226163B1 KR 1020120077381 A KR1020120077381 A KR 1020120077381A KR 20120077381 A KR20120077381 A KR 20120077381A KR 101226163 B1 KR101226163 B1 KR 101226163B1
Authority
KR
South Korea
Prior art keywords
matching
similarity value
similarity
terminal
node
Prior art date
Application number
KR1020120077381A
Other languages
English (en)
Inventor
이민호
윤화묵
이원구
최윤수
정한민
성원경
Original Assignee
한국과학기술정보연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술정보연구원 filed Critical 한국과학기술정보연구원
Priority to KR1020120077381A priority Critical patent/KR101226163B1/ko
Application granted granted Critical
Publication of KR101226163B1 publication Critical patent/KR101226163B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

본 발명은 스키마 매칭 장치 및 방법에 관한 것으로, 매칭 대상 스키마를 파싱하여 계층 구조를 생성하는 스키마 파싱부, 상기 생성된 계층 구조상의 단말 노드들간의 언어 유사도 값을 측정하는 언어 유사도 측정부, 상기 측정된 언어 유사도 값을 이용하여 매칭되는 단말 노드를 선택 및 단말 노드 대응 관계를 결정하는 단말 노드 매칭부를 포함한다.

Description

스키마 매칭 장치 및 방법{Apparatus and Method for matching schema}
본 발명은 스키마 매칭 장치 및 방법에 관한 것으로, 보다 상세하게는 매칭 대상 스키마를 파싱하여 계층 구조를 생성하고, 생성된 계층 구조상의 단말 노드들간의 언어 유사도 값을 측정하여, 매칭되는 단말 노드를 선택 및 단말 노드 대응 관계를 결정하는 스키마 매칭 장치 및 방법에 관한 것이다.
데이터베이스는 정보 생산 주체에 따라 정보의 구조를 표현하는 스키마가 각각 다르다. 데이터의 통합, 변환, 분산 검색 등 정보의 상호운용을 위해서는 공통의 통합 스키마를 생성하든지, 이질적인 데이터베이스의 스키마 매칭을 수행하여야만 한다. 여기서, 스키마 매칭이란 두 개의 스키마를 입력으로 하여 서로 의미적으로 연관된 두 스키마 간의 대응 관계를 발견하는 스키마 조작 연산이다.
종래에는 수작업을 통하여 스키마 매칭을 수행하였는데 대량의 스키마 매칭을 수행하거나, 스키마 요소의 수가 많은 경우 시간과 노력이 많이 소모되고, 오류 발생 가능성이 높은 문제점이 있었다.
또한, 정보 생산 주체가 다양해지고 생산량도 방대해짐에 따라, 기계에 의한 자동 스키마 매칭의 요구가 증가하고 있다.
본 발명은 상기한 문제점을 해결하기 위하여 안출된 것으로, 계층 구조를 가진 스키마에서 노드간의 관계를 이용하여 자동으로 스키마 매칭을 수행할 수 있는 스키마 매칭 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명의 다른 목적은 스키마내 단말 노드의 대응 관계를 결정하기 위하여 어휘 유사도뿐만 아니라 노드간의 위치와 매칭관계를 통하여 유사도를 측정함으로써 보다 정확한 대응 관계를 결정할 수 있는 스키마 매칭 장치 및 방법을 제공하는데 있다.
상기 목적들을 달성하기 위하여 본 발명의 일 측면에 따르면, 매칭 대상 스키마를 파싱하여 계층 구조를 생성하는 스키마 파싱부, 상기 생성된 계층 구조상에 존재하는 단말 노드들간의 언어 유사도 값을 측정하는 언어 유사도 측정부, 상기 측정된 언어 유사도 값을 이용하여 매칭되는 단말 노드를 선택 및 단말 노드 대응 관계를 결정하는 단말 노드 매칭부를 포함하는 스키마 매칭 장치를 포함한다.
상기 스키마 매칭 장치는 상기 단말 노드 매칭부의 매칭 결과 두 개 이상의 단말 노드가 선택된 경우, 매칭 단말 노드들을 대상으로 구조 유사도 값을 측정하는 구조 유사도 측정부를 더 포함하고, 상기 단말 노드 매칭부는 상기 측정된 구조 유사도 값들 중에서 그 값이 가장 큰 매칭 단말 노드를 선택 및 단말 노드 대응 관계를 결정할 수 있다.
상기 구조 유사도 값은 경로 유사도 값과 형제 노드 유사도 값의 연산으로 구해진 값일 수 있다.
상기 구조 유사도 측정부는 상기 매칭 단말 노드들을 대상으로, 각 매칭 단말 노드로부터 루트 노드까지의 계층 구조 경로상에 속하는 모든 노드들의 언어 유사도 값을 합하여 경로 유사도 값을 구할 수 있다.
또한, 상기 구조 유사도 측정부는 상기 매칭 단말 노드들을 대상으로, 각 매칭 단말 노드로부터 루트 노드까지의 계층 구조 경로 상에 존재하는 노드 외에 주위 형제 노드들의 매칭 비율을 측정하여 형제 노드 유사도 값을 구할 수 있다.
상기 스키마 파싱부는 상기 매칭 대상 스키마를 분석하여, 매칭 대상 스키마를 이루고 있는 노드들의 이름, 속성, 값(설명)을 포함하는 계층구조를 생성할 수 있다.
상기 언어 유사도 값은 어휘 유사도값, 의미 유사도 값을 포함하고, 상기 언어 유사도 측정부는 상기 어휘 유사도 값과 상기 의미 유사도 값에 각각 가중치를 적용 및 연산하여 언어 유사도 값을 구할 수 있다.
또한, 상기 언어 유사도 측정부는 상기 계층 구조 내 단말 노드들의 이름 또는 설명을 스트링 매칭하거나, 문장 파싱을 통한 단어 매칭을 통해 어휘 유사도 값을 구할 수 있다.
또한, 상기 언어 유사도 측정부는 시소러스나 온톨로지를 이용하여 상기 단말 노드의 이름과 동의어 관계 또는 상하 관계를 갖는 어휘들을 획득하고, 상기 획득된 어휘와 상기 단말 노드의 이름 간의 유사도를 측정하여, 의미 유사도 값으로 구할 수 있다.
상기 단말 노드 매칭부는 상기 측정된 언어 유사도 값이 기 설정된 임계치 이상인 단말 노드들을 매칭 단말 노드로 선택하여, 단말 노드 대응 관계를 결정할 수 있다.
본 발명의 다른 측면에 따르면, 스키마 매칭 장치가 스키마를 매칭하는 방법에 있어서, 매칭 대상 스키마를 파싱하여 계층 구조를 생성하는 단계, 상기 생성된 계층 구조상에 존재하는 단말 노드들간의 언어 유사도 값을 측정하는 단계, 상기 측정된 언어 유사도 값을 이용하여 매칭되는 단말 노드를 선택 및 단말 노드 대응 관계를 결정하는 단계를 포함하는 스키마 매칭 방법이 제공된다.
상기 측정된 언어 유사도 값을 이용하여 매칭되는 단말 노드를 선택 및 단말 노드 대응 관계를 결정하는 단계에서, 상기 선택된 매칭 단말 노드가 두 개 이상인 경우, 매칭 단말 노드들을 대상으로 구조 유사도 값을 측정하는 단계, 상기 측정된 구조 유사도 값들 중에서 그 값이 가장 큰 매칭 단말 노드를 선택하고, 단말 노드 대응 관계를 결정하는 단계를 더 포함할 수 있다.
상기 구조 유사도 값은 경로 유사도 값과 형제 노드 유사도 값의 연산으로 구해진 값일 수 있다.
상기 경로 유사도 값은 상기 매칭 단말 노드들을 대상으로, 각 매칭 단말 노드로부터 루트 노드까지의 계층 구조 경로 상에 존재하는 모든 노드들의 언어 유사도 값을 합하여 구해질 수 있다.
상기 형제 노드 유사도 값은 상기 매칭 단말 노드들을 대상으로, 각 매칭 단말 노드로부터 루트 노드까지의 계층 구조 경로 상에 존재하는 노드 외에 주위 형제 노드들의 매칭 비율을 측정하여 구해질 수 있다.
상기 매칭 대상 스키마를 파싱하여 계층 구조를 생성하는 단계는, 상기 매칭 대상 스키마를 분석하여, 매칭 대상 스키마를 이루고 있는 노드들의 이름, 속성, 값(설명)을 포함하는 계층구조를 생성하는 것을 특징으로 할 수 있다.
상기 언어 유사도 값은 어휘 유사도 값과 의미 유사도 값에 각각 가중치를 적용 및 연산하여 구해질 수 있다.
상기 어휘 유사도 값은 상기 계층 구조 내 단말 노드들의 이름 또는 설명을 스트링 매칭하거나, 문장 파싱을 통한 단어 매칭을 통해 구해질 수 있다.
상기 의미 유사도 값은 시소러스나 온톨로지를 이용하여 상기 단말 노드의 이름과 동의어 관계 또는 상하 관계를 갖는 어휘들을 획득하고, 상기 획득된 어휘와 상기 단말 노드의 이름 간의 유사도의 측정을 통해 구해질 수 있다.
상기 측정된 언어적 유사도 값을 이용하여 매칭되는 단말 노드를 선택 및 단말 노드 대응 관계를 결정하는 단계는, 상기 측정된 언어 유사도 값이 기 설정된 임계치 이상인 단말 노드들을 매칭 단말 노드로 선택하여, 단말 노드 대응 관계를 결정할 수 있다.
본 발명의 또 다른 측면에 따르면, 매칭 대상 스키마를 파싱하여 계층 구조를 생성하는 단계, 상기 생성된 계층 구조상에 존재하는 단말 노드들간의 언어 유사도 값을 측정하는 단계, 상기 측정된 언어 유사도 값을 이용하여 매칭되는 단말 노드를 선택 및 단말 노드 대응 관계를 결정하는 단계를 포함하는 스키마 매칭 방법이 프로그램으로 기록되고 전자장치에서 판독 가능한 기록매체가 제공된다.
본 발명에 따르면, 계층 구조를 가진 스키마에서 노드간의 관계를 이용하여 자동으로 스키마 매칭을 수행할 수 있다.
또한, 스키마내 단말 노드의 대응 관계를 결정하기 위하여 어휘적 유사도뿐만 아니라 노드간의 위치와 매칭관계를 통하여 유사도를 측정함으로써 보다 정확한 대응 관계를 결정할 수 있다.
도 1은 본 발명에 따른 스키마 매칭 시스템을 나타낸 도면.
도 2는 본 발명에 따른 스키마 매칭 장치의 구성을 개략적으로 나타낸 블럭도.
도 3은 본 발명에 따른 구조 유사도 값을 구하는 방법을 설명하기 위한 예시도.
도 4는 본 발명에 따른 스키마 매칭 장치가 스키마를 매칭하는 방법을 나타낸 흐름도.
본 발명의 전술한 목적과 기술적 구성 및 그에 따른 작용 효과에 관한 자세한 사항은 본 발명의 명세서에 첨부된 도면에 의거한 이하 상세한 설명에 의해 보다 명확하게 이해될 것이다.
도 1은 본 발명에 따른 스키마 매칭 시스템을 나타낸 도면이다.
도 1을 참조하면, 스키마 매칭 시스템은 문헌들이 저장된 복수 개의 데이터베이스 서버(200), 각 데이터베이스 서버(200)로부터의 파일을 입력받아 스키마를 매칭하는 스키마 매칭 장치(100)를 포함한다.
각 데이터베이스 서버(200)에는 문헌들의 독립성을 위하여 여러 계층의 스키마를 사용하여 데이터베이스를 표현하고 있다. 문헌은 특허, 논문, 기술보고서 등을 포함하고, 스키마(schema)는 데이터베이스에 존재하는 자료의 구조 및 내용, 그리고 이러한 자료들에 대한 논리적, 물리적 특성에 대한 정보들을 표현하는 데이터베이스의 논리적 구조를 지칭한다.
또한, 스키마는 데이터베이스 개체의 특성을 나타내는 속성과 속성들의 집합으로 이루어진 개체, 개체들 사이에 존재하는 관계에 대한 정의와 이들이 유지해야 할 제약조건들을 기술한 것으로 데이터베이스에 어떤 구조로 데이터가 저장되는가를 나타낸다.
스키마 매칭 장치(100)는 사용자로부터 매칭 대상 스키마를 직접 입력받거나, 데이터베이스 서버(200)로부터 매칭 대상 스키마를 수집할 수 있다.
스키마 매칭 장치(100)는 매칭 대상 스키마를 파싱하여 계층 구조를 생성하고, 생성된 계층 구조상의 단말 노드들간의 언어 유사도 값 또는 구조 유사도값을 구한다. 그런 다음 스키마 매칭 장치(100)는 구해진 언어 유사도 값 또는 구조 유사도 값을 종합하여 단말 노드들의 대응 관계를 결정한다. 여기서, 단말 노드는 자식 노드가 없는 노드를 말하고, 언어 유사도 값은 어휘 유사도 값과 의미 유사도 값을 포함한다.
상기와 같은 역할을 수행하는 스키마 매칭 장치(100)에 대한 상세한 설명은 도 2를 참조하기로 한다.
도 2는 본 발명에 따른 스키마 매칭 장치의 구성을 개략적으로 나타낸 블럭도, 도 3은 본 발명에 따른 구조 유사도 값을 구하는 방법을 설명하기 위한 예시도이다.
도 2를 참조하면, 스키마 매칭 장치(100)는 스키마 파싱부(110), 언어 유사도 측정부(120), 단말 노드 매칭부(130), 구조 유사도 측정부(140), 매칭 노드 정보 데이터베이스(160)를 포함한다.
스키마 파싱부(110)는 매칭 대상 스키마를 파싱하여 계층 구조를 생성한다. 즉, 스키마 파싱부(110)는 매칭 대상 스키마를 분석하여, 매칭 대상 스키마를 이루고 있는 노드들의 이름, 속성, 값(설명)을 포함하는 계층구조를 생성한다. 이때, 지원하는 스키마는 XML 스키마, XML 문서 구조를 정의하는 다른 스키마일 수 있고, 스키마의 각 노드는 이름, 속성(예: 타입, 도메인 등), 설명(Description)으로 구성될 수 있다.
언어 유사도 측정부(120)는 스키마 파싱부(110)에서 생성된 계층 구조에 존재하는 단말 노드들간의 언어 유사도 값을 측정한다. 언어 유사도 값은 어휘 유사도 값 또는 의미 유사도 값을 포함할 수 있다.
언어 유사도 측정부(120)는 계층 구조 내 단말 노드들의 이름 또는 설명을 스트링 매칭하거나, 문장 파싱을 통한 단어 매칭을 통해 어휘 유사도 값을 구한다. 어휘 유사도 값은 동일 어휘를 대상으로 구한 값 일 수 있다. 언어 유사도 측정부(120)가 어휘 유사도 값을 구하는 방법은 종래의 다양한 기술을 이용하므로, 그 설명은 생략하기로 한다.
또한, 언어 유사도 측정부(120)는 계층 구조 내 단말 노드의 이름에 대해 동의어 또는 상하 관계를 포함하는 의미 유사도를 측정한다. 즉, 언어 유사도 측정부(120)는 시소러스나 온톨로지를 이용하여 단말 노드의 이름과 동의어 관계 또는 상하 관계를 갖는 어휘들을 획득하고, 획득된 어휘와 단말 노드의 이름 간의 유사도를 측정한다. 이때, 언어 유사도 측정부(120)는 유사 계수(Similarity Measures) 또는 거리 계수(Distance Measures)에 적용하여 유사도를 측정한다. 유사 계수로 내적 계수(Inner Product Coefficient), 코사인 계수(Cosine Coefficient) 등과, 거리 계수로 유클리드 거리(Euclidean Distance) 등을 대표적인 유사도 측정 함수로 사용할 수 있다.
언어 유사도 측정부(120)는 시소러스나 온톨로지로부터 단말 노드의 이름과 동일한 동의어를 찾고, 그 찾아진 동의어와의 매칭 여부를 이용하여 의미 유사도 값을 구하거나, 시소러스와 온톨로지의 구조상에서 관계를 찾아 의미 유사도 값을 구할 수 있다.
또한, 언어 유사도 측정부(120)는 어휘 유사도 값과 의미 유사도값에 각각 가중치를 적용 및 연산하여 언어 유사도 값을 구할 수도 있다.
따라서, 언어 유사도 측정부(120)에서 구해진 언어 유사도 값은 어휘 유사도 값, 의미 유사도 값 또는 이들의 조합중 하나일 수 있다.
단말 노드 매칭부(130)는 언어 유사도 측정부(120)에서 측정된 언어 유사도 값을 이용하여 매칭되는 단말 노드를 선택 및 단말 노드 대응 관계를 결정한다.
즉, 단말 노드 매칭부(130)는 언어 유사도 측정부(120)에서 측정된 언어 유사도 값이 기 설정된 임계치 이상인 단말 노드들을 매칭 단말 노드로 선택한다. 그런 다음 단말 노드 매칭부(130)는 선택된 매칭 단말 노드가 1:1 쌍인 경우, 그 매칭 단말 노드들을 대응 노드로 관계를 결정한다.
만약, 선택된 매칭 단말 노드가 2개 이상인 경우 즉, 하나의 단말 노드가 다른 여러 단말 노드들과 매칭되는 다중 매칭인 경우, 단말 노드 매칭부(130)는 매칭 단말 노드들의 정보를 구조 유사도 측정부에 제공한다. 예를 들면, A 노드의 매칭 결과, A-1 노드, A-2 노드, A-3 노드 총 3개의 매칭 단말 노드가 선택된 경우, 단말 노드 매칭부(130)는 3개의 매칭 단말 노드들 중에서 최적의 단말 노드를 선택하여 A 노드와 1:1로 매칭시켜야 한다. 그러기 위해 단말 노드 매칭부(130)는 선택된 3개의 매칭 단말 노드에 대한 정보를 구조 유사도 측정부(40)에 제공한다.
구조 유사도 측정부(140)는 단말 노드 매칭부(130)의 매칭 결과 두 개 이상의 단말 노드가 선택된 경우, 매칭 단말 노드들을 대상으로 구조 유사도 값을 측정한다. 구조 유사도 값은 경로 유사도 값과 형제 노드 유사도 값의 연산(예를 들면, 덧셈 연산임)으로 구해진 값이다.
경로 유사도 값은 매칭 단말 노드들을 대상으로, 각 매칭 단말 노드로부터 루트 노드(root node)까지 계층 구조의 경로에 속하는 모든 노드의 언어 유사도 값을 합하여 구한 값일 수 있다.
따라서, 구조 유사도 측정부(140)는 수학식 1을 이용하여 경로 유사도 값(STS)을 구한다.
Figure 112012056736015-pat00001
여기서, S는 해당 단말 노드를 루트로 하는 경로 상의 중간 노드 집합, S(s)는 원시 경로, S(t)는 목적 경로일 수 있다.
형제 노드 유사도 값은 매칭 단말 노드들을 대상으로, 각 매칭 단말 노드로부터 루트 노드까지 계층 구조의 경로 상에 있는 노드 외에 주위 형제 노드들이 얼만큼 매칭되었는지를 의미하는 형제 노드 매칭 비율의 합으로 구한 값일 수 있다.
따라서, 구조 유사도 측정부(140)는 수학식 2를 이용하여 형제 노드의 유사도(BNS)를 구한다.
Figure 112012056736015-pat00002
여기서, B는 해당 단말 노드의 형제 노드 집합일 수 있다.
상기와 같이 구조 유사도 측정부(140)는 경로 유사도 값과 형제 노드 유사도 값의 합을 이용하여 구조 유사도 값을 구한다. 계층 구조를 가지는 스키마의 경우, 단말 노드까지의 경로상에 있는 노드들은 단말 노드를 표현하는 의미를 내포하고 있다. 도 3을 참조하면, A 스키마의 company 단말 노드의 경우 전체 경로는 /document/contentinfo/info/company이고, 이는 '문서 내용 정보 중 회사정보’라는 의미를 내포하고 있다. B 스키마의 PublisherName 단말 노드의 경우, 전체 경로는 /Journal/information/Publisher이고, 이는 ‘저널 정보 중 출판사’라는 의미를 내포하고 있다.
이 경우, 구조 유사도 측정부는 Company 노드로부터 document 노드까지의 경로상에 있는 모든 중간 노드(즉, contentinfo노드, info노드 임)들의 언어 유사도 값을 각각 구하고, 그 구해진 언어 유사도 값들을 합하여 경로 유사도 값을 구한다.
또한, 구조 유사도 측정부(140)는 PublisherName 노드로부터 Journal 노드까지의 경로 상에 있는 모든 중간 노드(즉, information임)들의 언어 유사도 값을 각각 구하고, 그 구해진 언어 유사도 값을 합하여 경로 유사도 값을 구한다.
그러나, Company와 PublisherName 노드 이름의 어휘 유사도 값과 의미 유사도 값만을 가지고 유사성을 판단하는 것보다는 경로상에서 나온 노드들의 매칭 정도를 추가적으로 계산함으로써 매칭 정확도를 높일 수 있다.
그러므로, 구조 유사도 측정부(140)는 Company와 PublisherName에 대한 형제 노드 유사도 값을 구하고, 그 형제 노드 유사도 값을 경로 유사도 값과 합하여 구조 유사도 값을 구한다.
A스키마의 Company 단말 노드의 형제 노드는 title, ISSN으로, company 단말 노드를 제외한 형제 노드들은 모두 B스키마의 /Journal/information 아래의 노드들과 매칭되어 있다. 즉, title 노드는 B스키마의 Journaltitle 노드와 매칭되고, ISSN 노드는 B 스키마의 ISSN과 매칭되어 있다.
이를 통해 A스키마의 /document/contentinfo/info는 B스키마의 Journal/information 노드와 비슷한 의미를 갖는다고 추정할 수 있으며 그 하위 노드들은 같은 의미를 가질 확률이 높다고 가정할 수 있다.
따라서, 매칭 단말 노드의 주위 형제 단말 노드들이 얼만큼 매칭되었는지를 측정하여, 구조 유사도 값에 포함시키는 것이다.
구조 유사도 측정부(140)에서 구조 유사도 값이 구해지면, 단말 노드 매칭부(130)는 측정된 구조 유사도 값들 중에서 그 값이 가장 큰 매칭 단말 노드를 선택 및 단말 노드 대응 관계를 결정한다.
매칭 노드 정보 데이터베이스(160)에는 단말 노드 매칭부(130)에서 선택된 매칭 단말노드, 단말노드들의 대응 관계 등이 저장되어 있다.
도 4는 본 발명에 따른 스키마 매칭 장치가 스키마를 매칭하는 방법을 나타낸 흐름도이다.
도 4를 참조하면, 스키마 매칭 장치는 매칭 대상 스키마가 입력되면(S302), 매칭 대상 스키마를 파싱하여 계층 구조를 생성한다(S304). 즉, 스키마 매칭 장치는 매칭 대상 스키마를 파싱하여 각 스키마를 이루고 있는 노드들의 이름, 속성, 값을 포함하는 계층구조를 생성한다.
단계 S304의 수행 후 스키마 매칭 장치는 계층 구조상에 존재하는 단말 노드들간의 언어 유사도 값을 측정한다(S306). 즉, 스키마 매칭 장치는 단말노드들의 어휘 유사도 또는 의미 유사도 값을 구하고, 구해진 어휘 유사도 또는 의미 유사도를 이용하여 언어 유사도 값을 구한다.
이 경우, 스키마 매칭 장치는 어휘 유사도와 의미 유사도에 각각 가중치를 적용 및 연산하여 언어 유사도 값을 구할 수 있다.
어휘 유사도 값은 단말 노드의 이름, 설명을 스트링 매칭, 문장 파싱을 통한 단어 매칭 방법을 통해 구해지고, 의미 유사도 값은 시소러스 또는 온톨로지로부터 단말 노드의 이름과 동의어 관계 또는 상하 관계를 갖는 어휘들을 획득하여 구할 수 있다.
단계 S306의 수행 후 스키마 매칭 장치는 측정된 언어 유사도 값을 이용하여 매칭되는 단말 노드를 선택한다(S308). 이때, 스키마 매칭 장치는 언어 유사도 값이 기 설정된 임계치 이상인 단말 노드들이 존재하는지의 여부를 판단한다. 그 판단결과 임계치 이상인 단말 노드들이 존재하면, 스키마 매칭 장치는 그 단말 노드들을 선택한다. 상기 선택된 단말 노드들이 매칭 단말 노드일 수 있다.
단계 S308의 수행 후, 스키마 매칭 장치는 선택된 매칭 단말 노드의 개수가 2개 이상인지의 여부를 판단한다(S310).
단계 S310의 판단결과 매칭 단말 노드의 개수가 2개 이상인 경우, 스키마 매칭 장치는 매칭 단말 노드들을 대상으로 구조 유사도 값을 측정한다(S312). 즉, 스키마 매칭 장치는 매칭 단말 노드들을 대상으로 경로 유사도와 형제 노드 유사도를 구하고, 그 구해진 경로 유사도와 형제 노드 유사도를 연산하여 구조 유사도 값을 구할 수 있다.
단계 S312의 수행 후 스키마 매칭 장치는 측정된 구조 유사도 값들 중에서 그 값이 가장 큰 매칭 단말 노드를 선택하고(S314), 그 선택된 매칭 단말 노드와 대응 관계를 결정한다(S316).
만약, 단계 S310의 판단결과 매칭 단말 노드의 개수가 2개 이상이 아니면, 스키마 매칭 장치는 선택된 매칭 단말 노드와 대응 관계를 결정한다(S316).
이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다.
예컨대, 본 발명에 따른 스키마 매칭 장치는 메모리에 의하여 정보를 저장할 수 있는데, 일 구현예의 경우 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현예에서 메모리는 휘발성 메모리 유닛일 수 있으며, 다른 구현예의 경우 메모리는 비휘발성 메모리 유닛일 수 있다. 또한, 메모리는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장 장치를 포함할 수도 있다.
스키마 매칭 장치는 또한 예컨대 이더넷 카드와 같은 하나 이상의 네트워크 인터페이스 장치, 예컨대 RS-232 포트와 같은 직렬 통신 장치 및/또는 예컨대 802.11 카드와 같은 무선 인터페이스 장치를 외부 입출력 장치로서 포함할 수 있다. 다른 구현예에서, 이러한 입출력 장치는 다른 입출력 장치로 출력 데이터를 전송하고 입력 데이터를 수신하도록 구성된 드라이버 장치, 예컨대 키보드, 프린터 및 디스플레이 장치 등을 포함할 수 있다.
스키마 매칭 장치(100)는 실행 시 하나 이상의 처리 장치로 하여금 전술한 기능과 프로세스를 수행하도록 하는 명령에 의하여 실현될 수 있다. 예를 들어 그러한 명령으로는, 예컨대 JavaScript나 ECMAScript 명령 등의 스크립트 명령과 같은 해석되는 명령이나 실행 가능한 코드 혹은 컴퓨터로 판독 가능한 매체에 저장되는 기타의 명령이 포함될 수 있다.
본 발명에 따른 스키마 매칭 장치는 서버 팜(Server Farm)과 같이 네트워크에 걸쳐서 분산형으로 구현될 수 있으며, 혹은 단일의 컴퓨터 장치로 구현될 수 있다.
본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 처리 시스템의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다.
컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.
본 명세서에서 “시스템”이나 “장치"라 함은 예컨대 프로그래머블 프로세서, 컴퓨터 혹은 다중 프로세서나 컴퓨터를 포함하여 데이터를 처리하기 위한 모든 기구, 장치 및 기계를 포괄한다. 처리 시스템은, 하드웨어에 부가하여, 예컨대 프로세서 펌웨어를 구성하는 코드, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제 혹은 이들 중 하나 이상의 조합 등 요청 시 컴퓨터 프로그램에 대한 실행 환경을 형성하는 코드를 포함할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.
한편, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 EPROM, EEPROM 및 플래시메모리 장치와 같은 반도체 메모리 장치, 예컨대 내부 하드디스크나 외장형 디스크와 같은 자기 디스크, 자기광학 디스크 및 CD-ROM과 DVD-ROM 디스크를 포함하여 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치를 포함할 수 있다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다.
본 명세서에서 설명한 주제의 구현물은 예컨대 데이터 서버와 같은 백엔드 컴포넌트를 포함하거나, 예컨대 어플리케이션 서버와 같은 미들웨어 컴포넌트를 포함하거나, 예컨대 사용자가 본 명세서에서 설명한 주제의 구현물과 상호 작용할 수 있는 웹 브라우저나 그래픽 유저 인터페이스를 갖는 클라이언트 컴퓨터와 같은 프론트엔드 컴포넌트 혹은 그러한 백엔드, 미들웨어 혹은 프론트엔드 컴포넌트의 하나 이상의 모든 조합을 포함하는 연산 시스템에서 구현될 수도 있다. 시스템의 컴포넌트는 예컨대 통신 네트워크와 같은 디지털 데이터 통신의 어떠한 형태나 매체에 의해서도 상호 접속 가능하다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 마찬가지로, 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
또한, 본 명세서에서는 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다
이와 같이, 본 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하려는 의도가 아니다. 따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 당업자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100 : 스키마 매칭 장치 110 : 스키마 파싱부
120 : 언어 유사도 측정부 130 : 단말 노드 매칭부
140 : 구조 유사도 측정부 160 : 매칭 노드정보 DB
200 : 데이터베이스 서버

Claims (21)

  1. 매칭 대상 스키마를 파싱하여 계층 구조를 생성하는 스키마 파싱부;
    상기 생성된 계층 구조상에 존재하는 단말 노드들간의 언어 유사도 값을 측정하는 언어 유사도 측정부; 및
    상기 측정된 언어 유사도 값을 이용하여 매칭되는 단말 노드를 선택 및 단말 노드 대응 관계를 결정하는 단말 노드 매칭부;
    상기 단말 노드 매칭부의 매칭 결과 두 개 이상의 단말 노드가 선택된 경우, 매칭 단말 노드들을 대상으로 경로 유사도 값과 형제 노드 유사도 값을 구하고, 상기 구해진 경로 유사도 값과 형제 노드 유사도 값을 연산하여 구조 유사도 값을 측정한 후, 상기 단말 노드 매칭부가 상기 측정된 구조 유사도 값들 중에서 그 값이 가장 큰 매칭 단말 노드를 선택 및 단말 노드 대응 관계를 결정하도록 하는 구조 유사도 측정부;
    를 포함하는 스키마 매칭 장치.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 구조 유사도 측정부는 매칭 단말 노드들을 대상으로, 각 매칭 단말 노드로부터 루트 노드까지의 계층 구조 경로 상에 존재하는 모든 노드들의 언어 유사도 값을 합하여 경로 유사도 값을 구하는 것을 특징으로 하는 스키마 매칭 장치.
  5. 제1항에 있어서,
    상기 구조 유사도 측정부는 매칭 단말 노드들을 대상으로, 각 매칭 단말 노드로부터 루트 노드까지의 계층 구조 경로 상에 존재하는 노드 외에 주위 형제 노드들의 매칭 비율을 측정하여 형제 노드 유사도 값을 구하는 것을 특징으로 하는 스키마 매칭 장치.
  6. 제1항에 있어서,
    상기 스키마 파싱부는 상기 매칭 대상 스키마를 분석하여, 매칭 대상 스키마를 이루고 있는 노드들의 이름, 속성, 설명을 포함하는 계층구조를 생성하는 것을 특징으로 하는 스키마 매칭 장치.
  7. 제1항에 있어서,
    상기 언어 유사도 값은 어휘 유사도 값, 의미 유사도 값을 포함하고,
    상기 언어 유사도 측정부는 상기 어휘 유사도 값과 상기 의미 유사도 값에 각각 가중치를 적용 및 연산하여 언어 유사도 값을 구하는 것을 특징으로 하는 스키마 매칭 장치.
  8. 제7항에 있어서,
    상기 언어 유사도 측정부는 상기 계층 구조 내 단말 노드들의 이름 또는 설명을 스트링 매칭하거나, 문장 파싱을 통한 단어 매칭을 통해 어휘 유사도 값을 구하는 것을 특징으로 하는 스키마 매칭 장치.
  9. 제7항에 있어서,
    상기 언어 유사도 측정부는 시소러스나 온톨로지를 이용하여 상기 단말 노드의 이름과 동의어 관계 또는 상하 관계를 갖는 어휘들을 획득하고, 상기 획득된 어휘와 상기 단말 노드의 이름 간의 유사도를 측정하여, 의미 유사도 값으로 하는 것을 특징으로 하는 스키마 매칭 장치.
  10. 제1항에 있어서,
    상기 단말 노드 매칭부는 상기 측정된 언어 유사도 값이 기 설정된 임계치 이상인 단말 노드들을 매칭 단말 노드로 선택하여, 단말 노드 대응 관계를 결정하는 것을 특징으로 하는 스키마 매칭 장치.
  11. 스키마 매칭 장치가 스키마를 매칭하는 방법에 있어서,
    매칭 대상 스키마를 파싱하여 계층 구조를 생성하는 단계;
    상기 생성된 계층 구조상에 존재하는 단말 노드들간의 언어 유사도 값을 측정하는 단계;
    상기 측정된 언어 유사도 값을 이용하여 매칭되는 단말 노드를 선택 및 단말 노드 대응 관계를 결정하는 단계;
    상기 선택된 매칭 단말 노드가 두 개 이상인 경우, 매칭 단말 노드들을 대상으로 경로 유사도 값과 형제 노드 유사도 값을 구하고, 상기 구해진 경로 유사도 값과 형제 노드 유사도 값을 연산하여 구조 유사도 값을 측정하는 단계; 및
    상기 측정된 구조 유사도 값들 중에서 그 값이 가장 큰 매칭 단말 노드를 선택하고, 단말 노드 대응 관계를 결정하는 단계;
    를 포함하는 스키마 매칭 방법.
  12. 삭제
  13. 삭제
  14. 제11항에 있어서,
    상기 경로 유사도 값은 상기 매칭 단말 노드들을 대상으로, 각 매칭 단말 노드로부터 루트 노드까지의 계층 구조 경로 상에 속하는 모든 노드들의 언어 유사도 값을 합하여 구해진 것을 특징으로 하는 스키마 매칭 방법.
  15. 제11항에 있어서,
    상기 형제 노드 유사도 값은 상기 매칭 단말 노드들을 대상으로, 각 매칭 단말 노드로부터 루트 노드까지의 계층 구조 경로 상에 있는 노드 외에 주위 형제 노드들의 매칭 비율을 측정하여 구해진 것을 특징으로 하는 스키마 매칭 방법.
  16. 제11항에 있어서,
    상기 매칭 대상 스키마를 파싱하여 계층 구조를 생성하는 단계는,
    상기 매칭 대상 스키마를 분석하여, 매칭 대상 스키마를 이루고 있는 노드들의 이름, 속성, 설명을 포함하는 계층구조를 생성하는 것을 특징으로 하는 스키마 매칭 방법.
  17. 제11항에 있어서,
    상기 언어 유사도 값은 어휘 유사도 값과 의미 유사도 값에 각각 가중치를 적용 및 연산하여 구해진 것을 특징으로 하는 스키마 매칭 방법.
  18. 제17항에 있어서,
    상기 어휘 유사도 값은 상기 계층 구조 내 단말 노드들의 이름 또는 설명을 스트링 매칭하거나, 문장 파싱을 통한 단어 매칭을 통해 구해진 것을 특징으로 하는 스키마 매칭 방법.
  19. 제17항에 있어서,
    상기 의미 유사도 값은 시소러스나 온톨로지를 이용하여 상기 단말 노드의 이름과 동의어 관계 또는 상하 관계를 갖는 어휘들을 획득하고, 상기 획득된 어휘와 상기 단말 노드의 이름 간의 유사도의 측정을 통해 구해진 것을 특징으로 하는 스키마 매칭 방법.
  20. 제11항에 있어서,
    상기 측정된 언어적 유사도 값을 이용하여 매칭되는 단말 노드를 선택 및 단말 노드 대응 관계를 결정하는 단계는,
    상기 측정된 언어 유사도 값이 기 설정된 임계치 이상인 단말 노드들을 매칭 단말 노드로 선택하여, 단말 노드 대응 관계를 결정하는 것을 특징으로 하는 스키마 매칭 방법.
  21. 스키마 매칭 장치에 의해 실행될 때,
    매칭 대상 스키마를 파싱하여 계층 구조를 생성하는 단계;
    상기 생성된 계층 구조상에 존재하는 단말 노드들간의 언어 유사도 값을 측정하는 단계; 및
    상기 측정된 언어 유사도 값을 이용하여 매칭되는 단말 노드를 선택 및 단말 노드 대응 관계를 결정하는 단계;
    상기 선택된 매칭 단말 노드가 두 개 이상인 경우, 매칭 단말 노드들을 대상으로 경로 유사도 값과 형제 노드 유사도 값을 구하고, 상기 구해진 경로 유사도 값과 형제 노드 유사도 값을 연산하여 구조 유사도 값을 측정하는 단계; 및
    상기 측정된 구조 유사도 값들 중에서 그 값이 가장 큰 매칭 단말 노드를 선택하고, 단말 노드 대응 관계를 결정하는 단계를 포함하는 스키마 매칭 방법이 프로그램으로 기록되고 전자장치에서 판독 가능한 기록매체.
KR1020120077381A 2012-07-16 2012-07-16 스키마 매칭 장치 및 방법 KR101226163B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120077381A KR101226163B1 (ko) 2012-07-16 2012-07-16 스키마 매칭 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120077381A KR101226163B1 (ko) 2012-07-16 2012-07-16 스키마 매칭 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101226163B1 true KR101226163B1 (ko) 2013-01-24

Family

ID=47842574

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120077381A KR101226163B1 (ko) 2012-07-16 2012-07-16 스키마 매칭 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101226163B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101396131B1 (ko) 2013-11-18 2014-05-19 한국과학기술정보연구원 패턴 기반 관계 유사도 측정 장치 및 방법
US20200226160A1 (en) * 2018-12-21 2020-07-16 Impira Inc. Database for unstructured data

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100912471B1 (ko) * 2008-02-29 2009-08-14 충남대학교산학협력단 히스토그램과 평면적 크기 계산을 이용한 xml 스키마매칭 과정에서의 변환 질의의 적합성 검사 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100912471B1 (ko) * 2008-02-29 2009-08-14 충남대학교산학협력단 히스토그램과 평면적 크기 계산을 이용한 xml 스키마매칭 과정에서의 변환 질의의 적합성 검사 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101396131B1 (ko) 2013-11-18 2014-05-19 한국과학기술정보연구원 패턴 기반 관계 유사도 측정 장치 및 방법
US20200226160A1 (en) * 2018-12-21 2020-07-16 Impira Inc. Database for unstructured data

Similar Documents

Publication Publication Date Title
US9852133B2 (en) Scalable, schemaless document query model
KR101755365B1 (ko) 레코드 포맷 정보의 관리
US10664558B2 (en) Method and apparatus for document planning
US8495042B2 (en) Information extraction apparatus and methods
Dimou et al. Assessing and refining mappingsto rdf to improve dataset quality
US20170116203A1 (en) Method of automated discovery of topic relatedness
US20210209421A1 (en) Method and apparatus for constructing quality evaluation model, device and storage medium
JP6720641B2 (ja) 多言語データティアのデータ制約
US20120079364A1 (en) Finding Partition Boundaries for Parallel Processing of Markup Language Documents
US20120102069A1 (en) Data migration system and data migration method
US20210073257A1 (en) Logical document structure identification
US11604794B1 (en) Interactive assistance for executing natural language queries to data sets
CN109558166A (zh) 一种面向缺陷定位的代码搜索方法
KR101226163B1 (ko) 스키마 매칭 장치 및 방법
Arenas-Guerrero et al. Declarative generation of RDF-star graphs from heterogeneous data
Pamungkas et al. B-BabelNet: business-specific lexical database for improving semantic analysis of business process models
Steiner et al. Adding meaning to social network microposts via multiple named entity disambiguation apis and tracking their data provenance
KR20230060320A (ko) 지식 그래프의 통합 방법 및 이를 이용한 기계 학습 장치
US9135327B1 (en) System and method to facilitate the association of structured content in a structured document with unstructured content in an unstructured document
Diván et al. A Library for Articulating the Measurement Streams with Columnar Data
Bawakid A schema exploration approach for document-oriented data using unsupervised techniques
CA2983510A1 (en) Systems and methods for code parsing and lineage detection
Chawla et al. A taxonomy for the representation of privacy and data control signals
Westphal Quality assurance of RDB2RDF mappings
Zou et al. Extracting business execution processes of api services for mashup creation

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160118

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161228

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180102

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190114

Year of fee payment: 7