KR20170112102A - 대규모 병렬 정성 시간 추론 장치 및 방법 - Google Patents

대규모 병렬 정성 시간 추론 장치 및 방법 Download PDF

Info

Publication number
KR20170112102A
KR20170112102A KR1020160038659A KR20160038659A KR20170112102A KR 20170112102 A KR20170112102 A KR 20170112102A KR 1020160038659 A KR1020160038659 A KR 1020160038659A KR 20160038659 A KR20160038659 A KR 20160038659A KR 20170112102 A KR20170112102 A KR 20170112102A
Authority
KR
South Korea
Prior art keywords
knowledge base
processing node
hdfs
unit
inference
Prior art date
Application number
KR1020160038659A
Other languages
English (en)
Other versions
KR101788303B1 (ko
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 KR1020160038659A priority Critical patent/KR101788303B1/ko
Publication of KR20170112102A publication Critical patent/KR20170112102A/ko
Application granted granted Critical
Publication of KR101788303B1 publication Critical patent/KR101788303B1/ko

Links

Images

Classifications

    • G06F17/30731
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2219Large Object storage; Management thereof
    • G06F17/30153
    • G06F17/30194
    • G06F17/30318
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

본 발명에 따른 대규모 병렬 정성 시간 추론 장치는 다수의 지식 베이스를 하둡 분산 파일 시스템(HDFS) 형태로 저장하는 HDFS부, 둘 이상의 처리 노드부에 각각 태스크(Task)를 할당하는 작업 관리부 및 할당된 태스크에 기초하여 수신된 지식 베이스에 대해 추론 작업을 수행하여 확장된 지식 베이스를 산출하고, 산출된 확장된 지식 베이스를 HDFS부에 저장하는 둘 이상의 처리 노드부를 포함한다.

Description

대규모 병렬 정성 시간 추론 장치 및 방법{APPARATUS AND MEYHOD FOR LARGE SCALE PARALLEL TEMPORAL REASONING}
본 발명은 시간 추론에 관한 기술로서, 보다 상세하게는 대규모 병렬 정성 시간 추론에 관한 기술이다.
웹(Web)을 이용하는 이용자의 수와 정보의 양이 기하급수적으로 증가함에 따라, 웹 이용자의 요구도 점차 더 다양해지고 복잡해지고 있다. 이에 따라 대규모 비정형 웹 데이터로부터 이용자의 목적에 부합하는 정보만을 효율적으로 추출해내고 이용자의 요구에 효과적으로 답할 수 있는 시맨틱 웹(semantic web) 기술에 관한 연구가 활발히 진행되고 있다. 시맨틱 웹 기술은 응용 영역에 필요한 기초 개념(concept)들과 그들 간의 관계(relationship), 공유 어휘(common vocabulary), 추론 규칙(inference rule) 등을 체계적으로 정의한 온톨로지 지식(ontological knowledge)을 이용함으로써, 프로그램 스스로 웹 콘텐츠의 의미(semantics)를 올바르게 이해하고 작업을 수행할 수 있도록 해준다. 대표적인 온톨로지 표현 언어로는 RDF(Resource Description Framework), OWL(Web Ontology Language) 등이 주로 이용되고 있다.
최근 공학 기술 분야, 의학 및 신약 기술 분야, 보안 기술 분야 등을 비롯해 다양한 응용 분야들에서 수많은 새로운 사실들과 발견들이 웹을 통해 발표되고 있다. 따라서 이러한 빠른 웹 정보의 변화에 잘 대응하기 위해서는, 시맨틱 웹 기술이 단순히 단편적인 사실과 지식만을 표현하는 데서 벗어나, 해당 사실과 지식이 실제로 유효한 시간(time)과 장소(location)들도 함께 표현하고 그들 간의 관계도 추론할 수 있도록 기술적 확장이 필요하다.
시간 지식과 질의를 처리하는 기존의 많은 시스템들에서는 질의(query)에 대한 답을 얻기 위해, 시간 점(time point)과 시간 간격(time interval)을 나타내는 시간 데이터에 관한 연산(computation of temporal data)에 주로 의존하는 정량적 시간 추론(quantitative temporal reasoning)을 많이 수행하였다.
정량적 시간 표현과 추론은 실시간성과 정밀성을 요구하는 생산 자동화, 제어 시스템과 같은 응용 분야에서 더 효과적으로 이용될 수 있는데 반해, 자연어 이해(natural language understanding), 질의-응답 시스템(question-answering system), 의사 결정 지원 시스템(decision support system)과 같은 특정 응용 분야들에서는 사건들 간의 시간 순서 관계를 정성적으로 표현하고 이들을 추론하는 정성적 시간 추론(qualitative temporal reasoning)이 더 효과적으로 이용될 수 있다.
정량적 시간 표현과 추론은 실시간성과 정밀성을 요구하는 생산 자동화, 제어 시스템과 같은 응용 분야에서 더 효과적으로 이용될 수 있는데 반해, 자연어 이해(natural language understanding), 질의-응답 시스템(question-answering system), 의사 결정 지원 시스템(decision support system)과 같은 특정 응용 분야들에서는 이벤트들 간의 정성적 순서 관계를 표현하고 추론하는 정성적 시간 추론이 더 효과적으로 이용될 수 있다.
GQR, SOWL, 그리고 CHRONOS에 이르기까지 현재까지 개발된 거의 모든 정성 시간 추론 기술들은 단일 컴퓨터 실행 환경을 가정하고 개발되어, 이들은 공통적으로 웹 스케일의 대규모 지식 베이스를 추론하기에는 성능에 한계가 있다.
"시구간 기반 시간 정보의 표현과 추론을 위한 시간 온톨로지 언어", 김상균, 이규철, 송미영, 정보과학회논문지: 소프트웨어 및 응용, 36권 7호, pp. 509-522, 2009.
본 발명이 해결하고자 하는 과제는 다양한 일상의 사건(Event) 사이의 대규모 시간 순서 관계를 자동으로 추론하는 병렬 정성 시간 추론 장치 및 추론 방법을 제공하는 것이다.
본 발명에 따른 대규모 병렬 정성 시간 추론 장치는 다수의 지식 베이스를 하둡 분산 파일 시스템(HDFS) 형태로 저장하는 HDFS부, 둘 이상의 처리 노드부에 각각 태스크(Task)를 할당하는 작업 관리부 및 할당된 태스크에 기초하여 수신된 지식 베이스에 대해 추론 작업을 수행하여 확장된 지식 베이스를 산출하고, 산출된 확장된 지식 베이스를 HDFS부에 저장하는 둘 이상의 처리 노드부를 포함한다.
본 발명의 처리 노드부는 지식 베이스에 대해 사전 인코딩 작업을 수행하고, 인코딩 된 지식 베이스에 대해 역 관계 및 동일 관계 추론(Inverse & Equal Reasoning)을 수행하고, 새로운 사실들이 유도되지 않을 때까지 이행 관계 추론(Transitive Reasoning) 및 관계 정제(Refining)를 반복 수행한 후, 추론이 완료된 지식 베이스를 HDFS부에 저장하는 과정을 통해 병렬 정성 시간을 추론할 수 있다.
이 때, 처리 노드부는 디코딩 작업을 통해 지식 베이스를 텍스트 형태로 변환하고, 텍스트 형태로 변환된 지식 베이스를 HDFS부에 저장한다. 그리고 처리 노드부는 지식 베이스에 포함된 문자열 형태의 각 트리플 문장(Triple Statement)을 숫자 형태의 주어 식별자(Subject ID), 술어 식별자(predicate ID) 및 목적어 식별자(object ID)의 조합으로 변환하여 인코딩 작업을 수행한다.
처리 노드부는 이행 관계 추론을 통해 정의된 이행 관계 추론 규칙을 지식 베이스에 적용하며, 이행 관계 추론을 통해 이접 관계(disjunctive relation)의 집합을 축소할 수 있다. 그리고 처리 노드부는 관계 정제 작업을 통해 추론된 사실 사이의 모순을 체크하고 인접 관계 사실을 정제할 수 있다.
처리 노드부는 지식 베이스를 구성하는 트리플 문장을 주어, 술어 및 목적어 중에서 적어도 하나 이상을 포함하는 구성 요소 별로 분해하고, 각 구성 요소의 통합 자원 식별자(URI)에 고유한 식별자를 부여하여 사전에 등록하고, 동시에 각 구성 요소의 통합 자원 식별자를 사전에 등록된 고유 식별자로 변환한 후, 변환된 구성 요소의 식별자를 결합하여 간결한 트리플 문장을 재구성한다. 또한, 지식 노드부는 인코딩된 지식 베이스에 대해 역 관계 및 동일 관계를 동시에 추론한다.
본 발명에 따란 병렬 정성 시간 추론 장치를 이용한 병렬 정성 시간 추론 방법은 먼저 할당된 태스크에 따라 지식 베이스를 인코딩하고, 인코딩 된 지식 베이스에 대해 역 관계 및 동일 관계 추론(Inverse & Equal Reasoning)을 수행한다. 그리고 새로운 사실들이 유도되지 않을 때까지 이행 관계 추론(Transitive Reasoning) 및 관계 정제(Refining)를 반복 수행하여 지식 베이스를 추론한다. 다음으로, 추론이 완료된 지식 베이스를 HDFS에 저장한다.
본 발명에 따른 대규모 병렬 정성 시간 추론 장치 및 방법은 하둡(Hadoop) 클러스터 시스템과 맵리듀스(MapReduce) 병렬 프레임워크를 이용한 병렬 시간 추론 기술을 통해, 종래의 소규모 시간 추론이 가지는 한계성에서 벗어나 웹 스케일의 대규모 정성 시간 추론을 가능하게 한다.
또한, 본 발명에 따른 대규모 병렬 정성 시간 추론 장치 및 방법은 공간 및 시간 추론 능력이 필수적으로 요구되는 산업 분야인 시맨틱 웹 기반의 정보 검색, 시간-공간 데이터베이스, 지능형 서비스 로봇, 지식 관리 시스템 및 질의-응답 시스템과 같은 분야에 폭넓게 활용될 수 있다.
도 1은 본 발명의 일 실시예에 따른 대규모 병렬 정성 시간 추론 장치의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 대규모 병렬 정성 시간 추론 장치의 시간 온톨로지 일례를 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 대규모 병렬 정성 시간 추론 장치의 이접 관계 서술자 집합의 일례를 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 대규모 병렬 정성 시간 추론 장치의 처리 노드부(130)의 동작을 나타내는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 대규모 병렬 정성 시간 추론 장치의 처리 노드부(130)의 사전 인코딩 작업(S401)의 처리 과정을 나타내는 도면이다.
도 6a 및 도 6b는 본 발명의 일 실시예에 따른 대규모 병렬 정성 시간 추론 장치의 처리 노드부(130)의 역 관계 동일 관계 추론 작업(S402)의 처리 과정을 나타내는 도면이다.
도 7a 및 도 7b는 본 발명의 일 실시예에 따른 대규모 병렬 정성 시간 추론 장치의 처리 노드부(130)의 이행 관계 추론 작업(S403)의 처리 과정을 나타내는 도면이다.
도 8a 및 도 8b는 본 발명의 일 실시예에 따른 대규모 병렬 정성 시간 추론 장치의 처리 노드부(130)의 관계 정제 작업(S404)의 처리 과정을 나타내는 도면이다.
이하, 본 발명의 실시예를 첨부된 도면들을 참조하여 상세하게 설명한다. 본 명세서에서 사용되는 용어 및 단어들은 실시예에서의 기능을 고려하여 선택된 용어들로서, 그 용어의 의미는 발명의 의도 또는 관례 등에 따라 달라질 수 있다. 따라서 후술하는 실시예에서 사용된 용어는, 본 명세서에 구체적으로 정의된 경우에는 그 정의에 따르며, 구체적인 정의가 없는 경우는 당업자들이 일반적으로 인식하는 의미로 해석되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 대규모 병렬 정성 시간 추론 장치의 구성도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 대규모 병렬 정성 시간 추론 장치는 하둡 맵리듀스(Hadoop MapReduce) 병렬 프로그래밍 프레임워크를 기반으로 병렬 정성 시간을 추론한다.
본 발명의 일 실시예에 따른 대규모 병렬 정성 시간 추론 장치는 작업 관리부(110), 네임 노드부(120), 둘 이상의 처리 노드부(130), HDFS부(140) 및 사용자 처리부(150)를 포함한다.
처리 노드부(130)는 하둡 클러스터 시스템의 분산 파일 시스템인 HDFS(Hadoop Distributed File System)부(140)로부터 대용량의 지식 베이스를 읽어 들인다. 그리고 처리 노드부(130)는 스케줄러부(131) 및 노드 매니저부(132)를 통해 태스크(Task)를 클러스터를 구성하는 하나 이상의 처리 노드부(130)로 각각 할당하여 전송한다.
둘 이상의 처리 노드부(130)는 작업 관리부(110)에 의해 할당된 태스크에 대해, 역 관계 및 동일 관계 추론 작업(Inverse & Equal Reasoning), 이행 관계 추론 작업(Transitive) 및 관계 정제 작업(Refining)을 포함하는 추론 작업 파이프라인(Pipeline)을 차례대로 병행 수행한다. 그리고, 둘 이상의 처리 노드부(130)는 추론의 결과로 얻어지는 확장된 지식 베이스를 다시 분산 파일 시스템부(140)에 저장한다. 각 구성요소에서 수행되는 세부 절차는 후술하는 도면을 통해 추가적으로 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 대규모 병렬 정성 시간 추론 장치의 시간 온톨로지 일례를 나타내는 도면이다.
도 2를 참조하면, 도 2에 도시된 시간 온톨로지는 시간 지식 표현의 기초가 되는 시간 온톨로지(Temporal Ontology)의 일부를 도시한다. 본 발명의 일 실시예에 따른 대규모 병렬 정성 시간 추론 장치는 시맨틱 웹(Semantic Web) 표준 온톨로지 언어인 RDF와 OWL을 기초로, 시간 지식을 주어(Subject), 술어(Predicate), 목적어(Object)들로 구성되는 트리플(Triple) 형태로 표현한다. 그리고 본 발명의 일 실시예에 따른 대규모 병렬 정성 시간 추론 장치는 앨랜(Allen)의 간격 대수 이론과 코츠(Kautz)의 점 대수 이론을 확장하여 도 2와 같은 시간 온톨로지와 시간 지식 표현 체계를 이용한다.
도 2의 온톨로지에서 문장(rdfs:Statement) 클래스는 사실(fact)들의 집합을 나타내며, 하나의 사실을 나타내는 각 문장은 RDF와 OWL의 형식에 따라 단순히 주어(subject), 술어(predicate), 목적어(object)들로 구성되는 트리플(triple) 형태로만 표현된다.
하지만, 본 온톨로지에서 각 문장은 해당 사실이 유효한 시간 정보를 부여해주기 위해 occursOn 프로퍼티를 통해 하나의 시간 이벤트(kgu:Time Event)와 연결될 수 있다. 한편, 하나의 시간 이벤트(kgu:Time Event)는 점 대수 이론과 같이 하나의 시간 점(kgu:Time Point)이 될 수도 있고, 하나의 시간 간격(kgu:Time Interval)이 될 수도 있다. 하나의 시간 간격(kgu:Time Interval)은 각각 kgu:tm_begin 프로퍼티와 kgu:tm_end 프로퍼티를 통해 시작 점(starting point)과 종료 점(ending point)에 해당하는 두 개의 시간 점(kgu:Time Point)들과 연결될 수 있다. 그리고 이 온톨로지의 가장 중요한 부분은 바로 두 개의 시간 이벤트(kgu:Time Event)들 사이의 순서 관계를 나타내는 13 가지의 시간 프로퍼티(Temporal Property)들이다.
도 3은 본 발명의 일 실시예에 따른 대규모 병렬 정성 시간 추론 장치의 이접 관계 서술자 집합의 일례를 나타내는 도면이다.
도 3을 참조하면, 도 3은 13가지의 시간 순서 관계 프로퍼티, 즉 시간 서술자(Temporal Property)로부터 공간 이행 관계 추론을 통해 도출할 수 있는 28개의 축소된 이접 관계(disjunctive relation)의 집합을 나타낸다. 13 개의 시간 순서관계 서술자들로부터 만들 수 있는 가능한 모든 이접 관계들은 이론적으로는 총 213개가 존재한다.
하지만, 시간 이행 관계 추론을 위해 가능한 모든 이접 관계들의 조합 표(composition table)를 구성하면, 이 조합 표는 213*213의 크기를 갖기 때문에, 이 조합 표를 저장하고 추론에 참조하기 위해서는 매우 큰 기억 공간과 많은 계산 시간을 요구하게 된다. 이러한 문제점을 극복하기 위해 본 발명에서는 시뮬레이션 추론과정을 거쳐 이행 관계 추론 과정 중에 실제 등장 가능한 이접 관계들의 집합을 산출한다.
본 발명의 일 실시예에 따른 대규모 병렬 정성 시간 추론 장치는 이접 관계들의 집합을 산출한 결과, 213개의 이접 관계들 중 도 3에 열거한 총 28 개의 이접 관계들만 추론과정에서 발생한다. 반면에, 본 발명의 일 실시예에 따른 대규모 병렬 정성 시간 추론 장치에서는 나머지 많은 이접 관계들은 실제로는 생성되지 않는다.
따라서 본 발명에서는 이행 관계 추론 규칙을 213*213 크기의 낭비적인 이접 관계 조합 표 대신 도 3에 열거한 28 개의 이접 관계들의 조합만을 표현한 28*28 크기의 이접 관계 조합 표로 축소 및 정의할 수 있다. 이와 같은 최적화된 이접 관계 집합의 발견과 조합 표의 축소는 시간 추론 전반에 걸쳐 연산량을 감소시켜 성능을 향상시킬 수 있다.
도 4는 본 발명의 일 실시예에 따른 대규모 병렬 정성 시간 추론 장치의 처리 노드부(130)의 동작을 나타내는 흐름도이다.
도 1 및 도 4를 참조하면, 본 발명에 따른 대규모 병렬 정성 시간 추론 장치는 작업 관리부(110)에 의해 태스크가 둘 이상의 처리 노드부(130)로 각각 전송된다.
처리 노드부(130)는 먼저 사전 인코딩(Encoding) 작업을 수행한다(S401). 본 발명에 따른 병렬 정성 시간 추론 장치의 처리 노드부(130)에서 가장 먼저 수행되는 맵리듀스 작업은 사전 인코딩 작업이다. 사전 인코딩 작업은 지식 베이스에 포함된 문자열 형태의 각 트리플 문장(Triple Statement)를 숫자 형태의 주어 식별자(Subject ID), 술어 식별자(predicate ID), 목적어 식별자(object ID)들의 조합으로 변환한다. 이를 통해, 추론 작업 이전에 미리 지식 베이스의 크기를 효과적으로 축소한다. 이러한 사전 인코딩 작업은 추론 작업 전반의 효율성을 높일 수 있다.
다음으로, 인코딩 작업이 끝난 지식 베이스에 대해, 처리 노드부(130)는 역 관계 및 동일 관계 추론(Inverse & Equal Reasoning) 작업을 수행한다(S402). S402 단계에서는 인코딩된 지식 베이스에 대해 역 관계와 동일 관계를 동시에 추론한다.
그리고 처리 노드부(130)는 이어서 더 이상 새로운 사실들이 유도되지 않을 때까지, 이행 관계 추론(Transitive Reasoning) 작업(S403)과 관계 정제(Refining) 작업(S404)을 수행한다. 이행 관계 추론 작업에서는 앞서 정의한 이행 관계 추론 규칙들을 적용하여 새로운 사실들을 유도하며, 관계 정제 작업에서는 추론된 사실들 간의 모순을 체크하고 인접 관계 사실들을 간결하게 정제하는 일을 수행한다.
처리 노드부(130)는 트리플 문장이 획득되었는지 여부를 판단(S405)하여, 이행 관계 추론 작업(S403) 및 관계 정제 작업(S404)를 차례대로 반복하여 수행한다.
트리플 문장이 획득되면, 처리 노드부(130)는 사전 디코딩(Decoding) 작업을 수행한다(S406). 처리 노드부(130)는 디코딩 작업을 통해 추론이 완료된 최종 결과 지식 베이스를 다시 원래 모습인 텍스트 형태로 변환한다. 그리고 처리 노드부(130)는 텍스트 형태로 변환된 지식 베이스를 HDFS부(140)에 다시 저장한다.
도 5는 본 발명의 일 실시예에 따른 대규모 병렬 정성 시간 추론 장치의 처리 노드부(130)의 사전 인코딩 작업(S401)의 처리 과정을 나타내는 도면이다.
도 4 및 도 5를 참조하면, 본 발명의 일 실시예에 따른 대규모 병렬 정성 시간 추론 장치의 처리 노드부(130)는 가장 먼저 수행되는 맵리듀스 작업으로 사전 인코딩 작업을 수행한다. 사전 인코딩 작업은 지식 베이스에 포함된 문자열 형태의 각 트리플 문장(Triple Statement)를 숫자 형태의 주어 식별자(Subject ID), 술어 식별자(predicate ID), 목적어 식별자(object ID)들의 조합으로 변환한다. 이를 통해, 추론 작업 이전에 미리 지식 베이스의 크기를 효과적으로 축소한다.
예컨대, "<http://kgu//a> <http://kgu//after> <http://kgu//b>" 와 같은 URI들을 포함하는 긴 문자열 형태의 트리플 문장들을 사전(dictionary)을 이용해 "100 41 101"와 같이 숫자로 된 짧은 식별자(ID)들의 조합으로 변환한다. 사전에는 원래 주어, 술어, 목적어의 URI들과 그들에 대응되는 각각 식별자들을 함께 저장한다다.
이와 같은 인코딩 작업은 도 5와 같이 2 개의 순차적인 세부 맵리듀스(MapReduce) 작업들로 구성된다. 제1 작업(510)에서는 지식 베이스를 구성하는 각 트리플 문장을 주어, 술어, 목적어 등 구성 요소별로 분해하고, 각 구성 요소의 URI에 고유한 식별자(ID)를 부여하여 사전에 등록한다. 그와 동시에 각 구성 요소의 URI를 사전에 등록된 고유 식별자로 변환한다.
제2 작업(520)에서는 변환된 구성 요소들의 식별자들을 결합하여, 식별자들로만 구성된 간결한 트리플 문장을 재구성한다. 시간 추론 작업들이 모두 완료된 후에는 최종 결과 지식 베이스를 다시 본래의 모습인 문자열 형태로 재 변환하는 디코딩(Decoding) 작업이 수행된다. 디코딩 작업에서는 인코딩 작업 때 만들어 둔 사전(dictionary)을 이용해, 각 문장에 포함된 식별자(ID)들을 다시 원래의 URL로 변환하는 일을 수행한다.
도 6a 및 도 6b는 본 발명의 일 실시예에 따른 대규모 병렬 정성 시간 추론 장치의 처리 노드부(130)의 역 관계 동일 관계 추론 작업(S402)의 처리 과정을 나타내는 도면이다.
도 6a 및 도 6b를 참조하면, 처리 노드부(130)는 인코딩 작업이 끝난 지식 베이스에 대해 역 관계 및 동일 관계 추론(Inverse & Equal Reasoning) 작업을 수행한다. 이 때, 처리 노드부(130)는 인코딩된 지식 베이스에 대해 역 관계와 동일 관계를 동시에 추론한다.
도 6a는 하나의 맵리듀스 작업으로 구현하는 역 관계 및 동일 관계 추론의 일례를 보여준다. 이 작업에서는, 예컨대, "a after b"라는 두 이벤트 a와 b의 순서 관계를 나타내는 하나의 사실에 대해, 역 관계(inverse relation)를 나타내는 "b before a"와 동일 관계(equal relation)를 나타내는 "a equal a", "b equal b" 들을 각각 유도한다. 이를 위해, 맵 단계에서는 역 관계를 나타내는 "b before a"를 키(key)로, 널(null)을 값(value)로 갖는 (키, 값) 쌍을 생성한다. 이어서 리듀스 단계에서는 하나의 키 "b before a"에 대해, 동일 관계들인 "a equal a"와 "b equal b" 들을 추가적으로 생성하여 그 결과들을 출력한다. 6b는 도 6a에서 설명된 한 쌍의 맵 함수와 리듀스 함수로 구현한 역 관계 및 동일 관계 추론 작업 알고리즘을 나타낸다.
도 7a 및 도 7b는 본 발명의 일 실시예에 따른 대규모 병렬 정성 시간 추론 장치의 처리 노드부(130)의 이행 관계 추론 작업(S403)의 처리 과정을 나타내는 도면이다.
도 7a 및 도 7b를 참조하면, 처리 노드부(130)는 더 이상 새로운 사실들이 유도되지 않을 때까지, 이행 관계 추론(Transitive Reasoning) 작업(S403)과 관계 정제(Refining) 작업(S404)을 수행한다. 이행 관계 추론 작업에서는 앞서 정의한 이행 관계 추론 규칙들을 적용하여 새로운 사실들을 유도한다.
도 7a는 하나의 맵리듀스 작업으로 구현하는 이행 관계 추론(Transitive Reasoning)의 일례를 보여준다. 이행 관계 추론 작업은 이접 관계 조합 표를 이용하여, 트리플 문장들로 표현된 2 개의 사실들부터 새로운 이접 관계 사실을 유도해내는 작업이다. 예컨대, 사건 a, b, c에 관한 "a contains(di) b" 와 "b metby(mi) c"라는 2 개의 기존 사실들로부터 "a overlappedby(oi) | contains(di) | startedby(si) c"라는 새로운 이접 관계(disjunctive relation) 사실을 유도한다.
이를 위해, 맵 단계에서는 각 문장에서 주어와 목적어를 추출하여, 주어와 목적어를 키(key)로, 원래 문장에서 키의 역할을 나타내는 플래그(flag)와 원래 문장을 결합하여 값(value)으로 하는 (키, 값) 쌍들을 만든다. 키의 역할이 원래 문장에서 주어(subject)이면, 플래그는 s로 표기하고, 목적어(object)이면, 플래그는 o로 표기한다.
즉, "a contains b"로부터는 (a, <s, a contains b>), (b, <o, a contains b>)와 같은 2 개의 (키, 값) 쌍들이 만들어진다. 이어서 리듀스 단계에서는 키가 동일한 (b, <o, a contains b>)와 (b, <s, b metby c>)에 대해, 역할 플래그가 목적어(o)를 나타내면 이접 관계 조합 표(composition table)의 contains(di) 행(row)과 대응시키고, 플래그가 주어(s)를 나타내면 조합 표의 metby(mi) 열(column)과 대응시켜 서로 교차하는 난(entry)에서 지정하는 방식대로 새로운 이접 관계 사실인 "a | overlappedby(oi) | contains(di) | startedby(si) | c"를 유도해낸다.
도 7b는 상술한 한 쌍의 맵 함수와 리듀스 함수로 구현한 이행 관계 추론 알고리즘의 일례를 나타낸다.
도 8a 및 도 8b는 본 발명의 일 실시예에 따른 대규모 병렬 정성 시간 추론 장치의 처리 노드부(130)의 관계 정제 작업(S404)의 처리 과정을 나타내는 도면이다.
도 8a 및 도 8b를 참조하면, 처리 노드부(130)는 이어서 더 이상 새로운 사실들이 유도되지 않을 때까지, 이행 관계 추론 작업(S403)과 관계 정제 작업(S404)을 수행한다. 관계 정제 작업에서는 추론된 사실들 간의 모순을 체크하고 이접 관계 사실들을 간결하게 정제하는 일을 수행한다.
도 8a는 하나의 맵리듀스 작업으로 구현되는 관계 정제(Refining) 작업의 일례를 보여준다. 관계 정제 작업은 추론된 사실들 간의 불일치성을 체크하고 이접 관계 사실들을 간결하게 정제하는 일을 수행한다. 예컨대, 추론을 진행하는 동안에"a overlappedby(oi) b"와 "a contains(di) | startedby(si) b"라는 두 사실이 유도되었다고 하자. 이 경우 동일한 두 이벤트 a와 b에 대해, 이 두 사실은 서로 동시에 만족할 수 있는 순서 관계를 전혀 포함하고 있지 않기 때문에 서로 불일치성 혹은 모순을 보인다고 판단할 수 있다.
반면에, "a overlappedby(oi) b"와"a overlappedby(oi) | contains(di) | startedby(si) b" 라는 두 사실들의 경우, 두 이벤트 a와 b에 대해 순서 관계 overlappedby(oi)를 공통으로 포함하고 있으므로 서로 모순을 갖지 않는다고 판단하며, 서로 다른 두 사실은 공통 순서 관계들만을 포함한 하나의 사실 "a overlappedby b" 로 대체함으로써 지식을 보다 간결하게 정제할 수 있다.
이를 위해, 하나의 MapReduce 작업으로 구현되는 관계 정제 작업에서는 "a overlappedby(oi) b", "a during(d) b", "a overlappedby(oi) | contains(di) | startedby(si) b" 등과 같은 시간 관계 사실들이 입력으로 주어졌을 때, 맵 단계에서는 각 문장의 주어와 목적어를 결합하여 이것을 키(key)로, 원래 문장을 값(vlaue)으로 하는 (ab, <a oi b>), (ac, <a d c>), (ab, <a oi | di | si b>) 와 같은 (키, 값) 쌍들을 만든다.
이와 같은 과정을 통해 같은 주어와 목적어를 가진 문장들끼리 그룹화(grouping)가 이루어진다. 리듀스 단계에서는 같은 키를 가진, 즉 같은 주어와 목적어를 가진 문장들에 대해 이접 관계들의 교집합(intersection)을 구한 다음, 원래 문장들을 대신하는 보다 정제된 하나의 문장 "a overlappedby(oi) b"를 결과로 출력한다. 도면 8b는 한 쌍의 맵 함수와 리듀스 함수로 구현한 관계 정제 알고리즘의 세부 과정을 나타낸다.
상술한 내용을 포함하는 본 발명은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체 또는 정보저장매체에 저장되고, 컴퓨터에 의하여 판독되고 실행함으로써 본 발명의 방법을 구현할 수 있다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.
이상 바람직한 실시예를 들어 본 발명을 상세하게 설명하였으나, 본 발명은 전술한 실시예에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당분야에서 통상의 지식을 가진자에 의하여 여러 가지 변형이 가능하다.
110: 작업 관리부
120: 네임 노드부
130: 처리 노드부
140: HDFS부
150: 사용자 처리부

Claims (12)

  1. 다수의 지식 베이스를 하둡 분산 파일 시스템(HDFS) 형태로 저장하는 HDFS부;
    둘 이상의 처리 노드부에 각각 태스크(Task)를 할당하는 작업 관리부; 및
    할당된 태스크에 기초하여 상기 HDFS부로부터 수신된 지식 베이스에 대해 추론 작업을 수행하여 확장된 지식 베이스를 산출하고, 산출된 확장된 지식 베이스를 HDFS부에 저장하는 둘 이상의 처리 노드부;
    를 포함하는 대규모 병렬 정성 시간 추론 장치.
  2. 제1항에 있어서,
    상기 처리 노드부는
    상기 지식 베이스에 대해 사전 인코딩 작업을 수행하고, 인코딩 된 지식 베이스에 대해 역 관계 및 동일 관계 추론(Inverse & Equal Reasoning)을 수행하고, 새로운 사실들이 유도되지 않을 때까지 이행 관계 추론(Transitive Reasoning) 및 관계 정제(Refining)를 반복 수행한 후, 추론이 완료된 지식 베이스를 HDFS부에 저장하는 것을 특징으로 하는 대규모 병렬 정성 시간 추론 장치.
  3. 제2항에 있어서,
    상기 처리 노드부는 디코딩 작업을 통해 지식 베이스를 텍스트 형태로 변환하고, 텍스트 형태로 변환된 지식 베이스를 HDFS부에 저장하는 것을 특징으로 하는 대규모 병렬 정성 시간 추론 장치.
  4. 제2항에 있어서,
    상기 처리 노드부는,
    지식 베이스에 포함된 문자열 형태의 각 트리플 문장(Triple Statement)을 숫자 형태의 주어 식별자(Subject ID), 술어 식별자(predicate ID) 및 목적어 식별자(object ID)의 조합으로 변환하여 인코딩 작업을 수행하는 것을 특징으로 하는 대규모 병렬 정성 시간 추론 장치.
  5. 제2항에 있어서,
    상기 처리 노드부는 이행 관계 추론을 통해 정의된 이행 관계 추론 규칙을 지식 베이스에 적용하며, 이행 관계 추론을 통해 이접 관계(disjunctive relation)의 집합을 축소하는 것을 특징으로 하는 대규모 병렬 정성 시간 추론 장치.
  6. 제2항에 있어서,
    상기 처리 노드부는 관계 정제 작업을 통해 추론된 사실 사이의 모순을 체크하고 인접 관계 사실을 정제하는 것을 특징으로 하는 대규모 병렬 정성 시간 추론 장치.
  7. 제2항에 있어서,
    상기 처리 노드부는 지식 베이스를 구성하는 트리플 문장을 주어, 술어 및 목적어 중에서 적어도 하나 이상을 포함하는 구성 요소 별로 분해하고, 각 구성 요소의 통합 자원 식별자(URI)에 고유한 식별자를 부여하여 사전에 등록하고, 동시에 각 구성 요소의 통합 자원 식별자를 사전에 등록된 고유 식별자로 변환한 후, 변환된 구성 요소의 식별자를 결합하여 간결한 트리플 문장을 재구성하는 것을 특징으로 하는 대규모 병렬 정성 시간 추론 장치.
  8. 제2항에 있어서
    상기 지식 노드부는,
    인코딩된 지식 베이스에 대해 역 관계 및 동일 관계를 동시에 추론하는 것을 특징으로 하는 대규모 병렬 정성 시간 추론 장치.
  9. 제1항에 따른 대규모 병렬 정성 시간 추론 장치를 이용한 병렬 정성 시간 추론 방법에 있어서,
    할당된 태스크에 따라 지식 베이스를 인코딩하는 단계;
    인코딩 된 지식 베이스에 대해 역 관계 및 동일 관계 추론(Inverse & Equal Reasoning)을 수행하는 단계;
    새로운 사실들이 유도되지 않을 때까지 이행 관계 추론(Transitive Reasoning) 및 관계 정제(Refining)를 반복 수행하는 단계; 및
    추론이 완료된 지식 베이스를 HDFS에 저장하는 단계;
    를 포함하는 것을 특징으로 하는 대규모 병렬 정성 시간 추론 방법.
  10. 제9항에 있어서,
    추론이 완료된 지식 베이스를 HDFS에 저장하는 단계는 디코딩 작업을 통해 지식 베이스를 텍스트 형태로 변환하고, 텍스트 형태로 변환된 지식 베이스를 HDFS에 저장하는 것을 특징으로 하는 대규모 병렬 정성 시간 추론 방법.
  11. 제9항에 있어서,
    상기 인코딩하는 단계는,
    지식 베이스에 포함된 문자열 형태의 각 트리플 문장(Triple Statement)을 숫자 형태의 주어 식별자(Subject ID), 술어 식별자(predicate ID) 및 목적어 식별자(object ID)의 조합으로 변환하여 인코딩 작업을 수행하는 것을 특징으로 하는 대규모 병렬 정성 시간 추론 방법.
  12. 제9항에 있어서,
    상기 관계 정제 작업은 추론된 사실 사이의 모순을 체크하고 인접 관계 사실을 정제하는 것을 특징으로 하는 대규모 병렬 정성 시간 추론 방법.
KR1020160038659A 2016-03-30 2016-03-30 대규모 병렬 정성 시간 추론 장치 및 방법 KR101788303B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160038659A KR101788303B1 (ko) 2016-03-30 2016-03-30 대규모 병렬 정성 시간 추론 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160038659A KR101788303B1 (ko) 2016-03-30 2016-03-30 대규모 병렬 정성 시간 추론 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20170112102A true KR20170112102A (ko) 2017-10-12
KR101788303B1 KR101788303B1 (ko) 2017-11-15

Family

ID=60141818

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160038659A KR101788303B1 (ko) 2016-03-30 2016-03-30 대규모 병렬 정성 시간 추론 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101788303B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109753242A (zh) * 2018-12-10 2019-05-14 航天信息股份有限公司 基于SaltStack实现HDFS扩容的方法和装置,存储介质和电子设备
CN113360626A (zh) * 2021-07-02 2021-09-07 北京容联七陌科技有限公司 一种智能客服机器人的多场景混合问答推荐方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101091592B1 (ko) 2010-08-17 2011-12-13 숭실대학교산학협력단 모바일 기반의 온톨로지 추론 시스템 및 그 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109753242A (zh) * 2018-12-10 2019-05-14 航天信息股份有限公司 基于SaltStack实现HDFS扩容的方法和装置,存储介质和电子设备
CN113360626A (zh) * 2021-07-02 2021-09-07 北京容联七陌科技有限公司 一种智能客服机器人的多场景混合问答推荐方法

Also Published As

Publication number Publication date
KR101788303B1 (ko) 2017-11-15

Similar Documents

Publication Publication Date Title
US11763175B2 (en) Systems and methods for semantic inference and reasoning
Casado et al. Emerging trends and technologies in big data processing
Barbierato et al. Performance evaluation of NoSQL big-data applications using multi-formalism models
CN101124537B (zh) 采用术语构建知识关联的知识发现技术
Jabbar et al. A methodology of real-time data fusion for localized big data analytics
KR20150145231A (ko) 지식 포착 및 발견 시스템
WO2017040209A1 (en) Data preparation for data mining
JP2007317189A (ja) 3要素モデルに基づく検索情報加工方法
Mami et al. Querying data lakes using spark and presto
Banane et al. A new system for massive RDF data management using Big Data query languages Pig, Hive, and Spark
Ranganathan et al. Action rules for sentiment analysis on twitter data using spark
Fan et al. Storing and querying fuzzy RDF (S) in HBase databases
CN116108194A (zh) 基于知识图谱的搜索引擎方法、系统、存储介质和电子设备
KR101788303B1 (ko) 대규모 병렬 정성 시간 추론 장치 및 방법
CN108932225B (zh) 用于将自然语言需求转换成为语义建模语言语句的方法和系统
Lin et al. An agent-based approach to reconciling data heterogeneity in cyber-physical systems
Wiederhold The roles of artificial intelligence in information systems
WO2013137903A1 (en) Systems and methods for semantic inference and reasoning
Khashan et al. An adaptive spark-based framework for querying large-scale NoSQL and relational databases
Zavuschak The context analysis and the process of its formation
Bai et al. A goal decomposition approach for automatic mashup development
Ruiz-Rube et al. Non-functional aspects of information integration and research for the web science
Lorenzo et al. Applying mapreduce to spreading activation algorithm on large rdf graphs
Bosch et al. How to accelerate the process of designing domain ontologies based on XML schemas
Szabari et al. Word pattern prediction using Big Data frameworks

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right