OPTIMA

Saltlux

Jump to: navigation, 찾기

개요
OPTIMA는 Ontology Population Tool based on Information extraction and MAtching의 줄임말이다. Web문서, text 문서내에 테이블과 같은 구조문과 일반 텍스트인 비구조문으로부터 개체명을 추출하고 개체명간의 관계를 추출하여 이 정보를 온톨로지의 클래스의 인스턴스로 생성하는 작업을 반자동으로 처리해주는 도구이다.

배경
KAIST 주관으로 5개년간 국가 IT Core Ontology 구축 선도과제의 일환으로 온톨로지 구축, 온톨로지 인스턴스 생성, 온톨로지 기반 추론, 온톨로지 기반 서비스 분과로 나뉘어 그중 온톨로지 인스턴스를 생성하기 위한 자동화 도구 개발의 산출물로 개발되었다. 1차년도에 온톨로지 인스턴스 생성기라는 이름에서 2차년도에 OPTIMA라는 이름으로 분산환경의 온톨로지 인스턴스 생성 작업 후 대용량 온톨로지 인스턴스를 저장하는 Client/Server 환경의 시스템을 개발하였다.
OPTIMA를 이용하여 KAIST에서 만든 IT Core Ontology에 16만개의 인스턴스를 자동으로 생성하여 축적하였다. 인스턴스를 추출하기 위한 원문 데이터는 IT분야 제품, 인물, 도서의 web 문서와 일반 텍스트 문서를 대상으로 하였다.

시스템 구성
image:semantic_product_01_6_1.jpg
<OPTIMA 시스템 구성도>

OPTIMA는 클라이언트와 서버로 구성되어 있다. 클라이언트에는 원문데이터로부터 정보를 추출하여 정보추출하는 information extraction 모듈, 추출된 정보들과 ontology간의 매칭하여 추출정보가 ontology class중 어느 부분에 들어갈 것인지를 결정하는 instance 후보를 만드는 ontology matching 모듈, 후보 instance를 대용량 ontology instance 저장소에 저장하고 저장된 내용을 관리하는 instance management 모듈로 구성되어 있다.
서버에는 SOR를 통해 triple 저장소인 AllegroGraph를 관리하고 저장된 triple을 관리한다.

시스템 기능
OPTIMA client는 Information Extraction, Ontology Matching, Instance Management로 구성되어 인스턴스를 생성하기 위한 절차대로 되어 일괄처리를 위한 자동 작업과 사용자에 의한 수정 및 선택을 위한 반자동 작업으로 대용량의 데이터를 처리하게 된다.

정보추출기(Information Extraction)
image:semantic_product_01_6_2.jpg
<정보추출기>

IT분야의 구조문 형태의 HTML문서 혹은 비구조문 형태의 Text 문서를 원본데이터로 하여 정보추출할 데이터를 선택한다.
정보추출작업을 시작하면 선택된 데이터들이 일괄적으로 정보추출되어 XML형태로 원본데이터 분류체계와 같이 저장된다.
정보추출 문서를 선택하면 Named Entity, Relation, Coreference 정보가 나오며 이 정보가 원문데이터의 어느 부분에서 추출되었는지 보여준다.
추출 방법은 CRF, ME, SVM, Voted Perceptron의 machine learning에 의한 자동화된 정보추출작업을 수행한다.

온톨로지 매칭(Ontology Mathcing)
image:semantic_product_01_6_3.jpg
<온톨로지 매칭기>

온톨로지를 로딩 후 로딩된 온톨로지와 정보추출기의 결과인 정보추출 xml 파일들이 일괄적으로
자동 매칭되어 정보추출 결과가 인스턴스가 되어 속성과 속성값을 가지고 어느 클래스에 속할 수
있는지 규칙과 통계를 이용하여 추천된다. 추천된 후보 클래스를 작업자가 수동으로 선택하여
후보 클래스를 변경할 수 있다.
서버에 있는 대용량 온톨로지 저장소에 후보 인스턴스를 업로드 하면 온톨로지 저장소에 저장
가능한 triple 형태로 변환되어 인스턴스가 저장된다.

온톨로지 인스턴스 관리
image:semantic_product_01_6_4.jpg
<온톨로지 인스턴스 관리기>

온톨로지 매칭기에 의해 저장되어 인스턴스가 온톨로지 저장소에 온톨로지 스키마와 함께 저장됨으로써 온톨로지 인스턴스가 생성되었다.
온톨로지 인스턴스 관리기는 서버에 있는 저장소에 연결하여 온톨로지 클래스 계층도와 각 클래스마다 가지고 있는 속성들을 조회할 수 있다.
어떤 클래스를 선택하면 그 클래스에 생성된 인스턴스 리스트를 저장소로부터 조회 가능하다.
또한 선택한 클래스에 대해 새로운 인스턴스를 생성하고 그 인스턴스의 속성에 값을 입력하여 수동으로 인스턴스를 생성할 수있다.
온톨로지 인스턴스 관리기는 저장소에 있는 인스턴스에 대해 삭제, 속성 추가, 속성값 변경, 속성값 삭제의 기능을 제공한다.

개발환경
운영체제 : 윈도우, 개발언어 : JAVA1.6, 개발도구 : Eclipse3.2, 저장소 : SOR-AllegroGraph,

적용분야
OPTIMA는 현재 정보추출기와 온톨로지 매칭 모듈이 IT Core Ontology에 한하고 있으며 다양한 분야의 온톨로지 인스턴스를 생성하기 위해서는 그에 맞는 정보추출 모듈 및 매칭 모듈을 개발하여 OPTIMA에 넣어 해당 분야의 정보추출, 인스턴스 매칭 작업이 가능하다.
또한 IBM의 UIMA(Unstructured Information Management Architecture)의 각 기능 인터페이스의 구현 내용으로서 OPTIMA의 모듈을 연동하면 UIMA를 기반으로 하는 다른 모듈들의 기능을 활용할 수 있게 된다.