시맨틱 웹 구현의 중요한 수단인 온톨로지는 검색, 추론, 지식표현 등 다양한 분야에서 사용되고 있다. 그러나 잘 구성된 온톨로지를 개발하는 것은 시간적, 물질적으로 많은 자원이 소모된다. 이러한 문제를 극복하기 위해 온톨로지를 자동으로 구축하는 시도가 있었다. 본 연구에서는 자연어 문장으로부터 직접 온톨로지를 자동적으로 생성하기 위해 형태소와 문장의 구조를 분석하고 자연어 문장의 서술어를 찾아 해당 온톨로지 서술어로 변환되게 하기 위하여 '서술어 온톨로지(predicate ontology)'를 두어서 분석된 자연어 문장의 서술어가 적절한 온톨로지 서술어로 변환될 수 있도록 한다. 인간 온톨로지 구축가와 제안한 방법을 비교한 실험 결과 정확도에서 나은 결과를 보였다.
시맨틱 웹 구현의 중요한 수단인 온톨로지는 검색, 추론, 지식표현 등 다양한 분야에서 사용되고 있다. 그러나 잘 구성된 온톨로지를 개발하는 것은 시간적, 물질적으로 많은 자원이 소모된다. 이러한 문제를 극복하기 위해 온톨로지를 자동으로 구축하는 시도가 있었다. 본 연구에서는 자연어 문장으로부터 직접 온톨로지를 자동적으로 생성하기 위해 형태소와 문장의 구조를 분석하고 자연어 문장의 서술어를 찾아 해당 온톨로지 서술어로 변환되게 하기 위하여 '서술어 온톨로지(predicate ontology)'를 두어서 분석된 자연어 문장의 서술어가 적절한 온톨로지 서술어로 변환될 수 있도록 한다. 인간 온톨로지 구축가와 제안한 방법을 비교한 실험 결과 정확도에서 나은 결과를 보였다.
Ontologies, the important implementation tools for semantic web, are widely used in various areas such as search, reasoning, and knowledge representation. Developing well-defined ontologies, however, requires a lot of resources in terms of time and materials. There have been efforts to construct ont...
Ontologies, the important implementation tools for semantic web, are widely used in various areas such as search, reasoning, and knowledge representation. Developing well-defined ontologies, however, requires a lot of resources in terms of time and materials. There have been efforts to construct ontologies automatically to overcome these problems. In this paper, ontologies are automatically constructed from the natural languages sentences directly. To do this, the analysis of morphemes and a sentence structure is performed at first. then, the program finds predicates inside the sentence and the predicates are transformed to the corresponding ontology predicates. For matching the corresponding ontology predicate from a predicate in the sentence, we develop the "predicate ontology". An experimental comparison between human ontology engineer and the program shows that the proposed system outperforms the human engineer in an accuracy.
Ontologies, the important implementation tools for semantic web, are widely used in various areas such as search, reasoning, and knowledge representation. Developing well-defined ontologies, however, requires a lot of resources in terms of time and materials. There have been efforts to construct ontologies automatically to overcome these problems. In this paper, ontologies are automatically constructed from the natural languages sentences directly. To do this, the analysis of morphemes and a sentence structure is performed at first. then, the program finds predicates inside the sentence and the predicates are transformed to the corresponding ontology predicates. For matching the corresponding ontology predicate from a predicate in the sentence, we develop the "predicate ontology". An experimental comparison between human ontology engineer and the program shows that the proposed system outperforms the human engineer in an accuracy.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
이러한 방법들 중 자연어 처리를 이용하는 방법이 가장 이상적으로 구축할 수 있는 방법이지만, 자연어 처리의 까다로움으로 인하여 개척되지 못한 것이 현실이다. 본 논문에서는 관심 영역전문가와 온톨로지 구축가의 많은 노력 이 필요했던 온톨로지 구축을 자연어로부터 직접 자동으로 구축함으로써 온톨로지 구축을 매우 용이하게 할 수 있는 방법을 제안한다. 온톨로지 자동 구축의 다른 장점은 사람이 수동으로 구축함으로써 나타나는 지식의 불일치성, 편견을 줄이고 보편적인 지식에 기반을 둔 온톨로지를 구축할 수 있다는 것이다.
본 연구는 많은 비용과 시간이 소모되는 온톨로지 구축을 자동화하기 위해서 형태소 분석을 통하여 자연어 문장으로부터 각각의 형태소를 추출하고, 구문분석을 통하여 자연어 문장의 서술구조를 분석하여 자연어 문장을 온톨로지로 구축하는 방법을 제안하였다. 그리고 자연어문장의 서술어를 온톨로지 구문의 서술어로 변환 할 수 있는 서술어 온톨로지를 제안하고 이를 사용하여 시스템을 개발하였으며, 실험을 통하여 본 연구에서 제안한 방법을 사용하면 빠른 시간에 대규모의 문장을 분석하고 온톨로지로 변환하여 저장할 수 있음을 증명하였다.
본 연구에서는 자연어 문장으로부터 온톨로지로 구축하기 위하여 그림 2의 온톨로지 자동구축 구조를 제안한다. 제안된 구조는 형태소 분석기, 문장 구조 분석기, 온톨로지 구축기의 세 가지 모듈과 서술어 온톨로지로 구성되어 있다.
가설 설정
둘째, 존재한다면 해당하는 subject 와 predicate에 'predicate'를 사용하여 해당 개체가 저장하고 있는 서술어를 찾아서 배열 형태로 저장하여 반환한다. 셋째, 존재하지 않는다면 '구성되'에 해당하는 개체가 없는 것이다. 이 경우에는 '구성되'의 품사인 'Verb'를 토대로 서술어를 결정하기 위하여 서술어 온톨로지에서 subject가 'Verb', predicate가 'default'인 개체를 검색하여 기본 서술어를 반환한다.
제안 방법
서술어 온톨로지에서는 역 관계 특성을 자체 정의함으로서 이러한 부담을 줄이고자 하였으며, 제안된 시스템을 사용하여 구축된 온톨로지에는 역 관계가 표준 특성인 "inverseOf” 특성으로 구축된다.
주어, 서술어, 목적어 관계를 결정한다. 그 후 서술어의 품사와 기본형으로부터 서술어 온톨로지를 추론하여 구축할 온톨로지 구문에 사용할 서술어를 결정하고 결정된 서술어를 사용하여 온톨로지를 구축한다.
첫째, 서술어 온톨로지에서 predicate가 'primitive'이고, object가 '구성되'인 subject가 존재하는지 검색한다. 둘째, 존재한다면 해당하는 subject 와 predicate에 'predicate'를 사용하여 해당 개체가 저장하고 있는 서술어를 찾아서 배열 형태로 저장하여 반환한다. 셋째, 존재하지 않는다면 '구성되'에 해당하는 개체가 없는 것이다.
먼저 자연어 문장으로부터 형태소 분석을 통하여각 형태소의 품사와 기본형을 결정하고 구문분석을 통하여 주어, 서술어, 목적어 관계를 결정한다. 그 후 서술어의 품사와 기본형으로부터 서술어 온톨로지를 추론하여 구축할 온톨로지 구문에 사용할 서술어를 결정하고 결정된 서술어를 사용하여 온톨로지를 구축한다.
온톨로지를 구축하는 일반적인 과정은 다음 그림 1과 같다. 먼저, 구축할 온톨로지의 목적을 정하고 범위와 명세를 규정한 다음 정보를 획득하고 형식화한다. 정보의 형식화 단계에서 온톨로지를 구체적으로 구축하게 되며, 마지막으로 구축된 온톨로지에 대한 평가를 수행한다.
본 연구에 사용된 자연어 처리 모듈 중 형태소 분석기는 공개된 모듈[17] 을 수정하여 본 논문에서 제안한 XML양식으로 출력할 수 있도록 수정하여 사용하였다. 표 6은 이 형태소 분석기를 사용한 결과 XML 파일을 보이고 있다.
”의 명사인, 온톨로지 자동 생성기', '형태소 분석 기', '문장 구조 분석기'와 '온톨로지 구축기'는 온톨로지 개념으로서 생성되었으며 자연어 서술어인 '구성되'가 'po:assembledWith'로 변환되어 '온톨로지 자동 생성기'와 형태소 분석기', '문장 구조 분석기'와 '온톨로지 구축기' 사이의 관계를 설명하고 있다. 본 연구에서 제안한 서술어 온톨로지의 URI prefix 이름은 'po:'로 지정하였으며 자동적으로 생성된 온톨로지의 접두사(URI prefix)는 'ABo:'로 지정하였다.
본 연구에서 제안한 온톨로지 자동 생성 방법의 성능 측정을 위해 비교적 큰 크기의 예문을 입력으로 하여 실험하였다. 인간 온톨로지 구축가와 제안된 방법을 실행하여 그 결과를 비교하였다.
한다. 본 연구에서는 '서술어 온톨로지'를 통하여 문장 서술어를 정형화된(well formatted) 온톨로지로 변환한다. 구축된 온톨로지와 서술어 온톨로지가 공개된다면 어떠한 시스템에도 범용 적으로 활용될 수 있다.
인간 온톨로지 구축가와 제안된 방법을 실행하여 그 결과를 비교하였다. 성능 측정 방법으로서 개념과 관계가 미리 결정되어 있는 주어진 문장들로부터 제안한 방법을 통하여 추출한 개념과 관계의 개수를 측정하였다. 결과는 표 8과 같다.
온톨로지 자동 구축의 다른 장점은 사람이 수동으로 구축함으로써 나타나는 지식의 불일치성, 편견을 줄이고 보편적인 지식에 기반을 둔 온톨로지를 구축할 수 있다는 것이다. 이를 달성하기 위하여 문장 서술어와 온톨로지 개념간의 매칭을 위하여 서술어 온톨로지 (predicate ontology)를 제 안 하며, 자연어 문장을 온톨로지로 변환하기 위한 특별한 규칙들을 제시한다.
온톨로지 구축기에 전달한다. 이를 위하여 문장구조 분석 기는 유한 상태 기계 (finite state machine) 로 설계하여 현재 상태와 다음 단어의 품사에 따라 문장의 구조를 분석한다.
실험하였다. 인간 온톨로지 구축가와 제안된 방법을 실행하여 그 결과를 비교하였다. 성능 측정 방법으로서 개념과 관계가 미리 결정되어 있는 주어진 문장들로부터 제안한 방법을 통하여 추출한 개념과 관계의 개수를 측정하였다.
먼저, 구축할 온톨로지의 목적을 정하고 범위와 명세를 규정한 다음 정보를 획득하고 형식화한다. 정보의 형식화 단계에서 온톨로지를 구체적으로 구축하게 되며, 마지막으로 구축된 온톨로지에 대한 평가를 수행한다.
제안한다. 제안된 구조는 형태소 분석기, 문장 구조 분석기, 온톨로지 구축기의 세 가지 모듈과 서술어 온톨로지로 구성되어 있다. 형태소 분석기는 입력된 문장을 분석하여 문장을 형태소 단위로 나누어주며 형태소의 품사를 결정하고 이렇게 결정된 형태소와 품사는 문장 구조 분석기의 입력으로 사용된다.
온톨로지 구축기는 다음의 순서를 통하여 온톨로지에 사용될 서술어를 결정한다. 첫째, 서술어 온톨로지에서 predicate가 'primitive'이고, object가 '구성되'인 subject가 존재하는지 검색한다. 둘째, 존재한다면 해당하는 subject 와 predicate에 'predicate'를 사용하여 해당 개체가 저장하고 있는 서술어를 찾아서 배열 형태로 저장하여 반환한다.
먼저 사용자로부터 분석해야 할 텍스트를 입력 받는다. 텍스트 내의 각 문장에 대해 형태소 분석을 수행하고 유한 상태 기계(FSM: finite state machine)를 이용하여 문장을 분석하며 서술어 온톨로지를 이용하여 온톨로지를 생성한다. 그리고 이를 온톨로지 저장소에 저장한다.
서술어의 형태는 "rdfs:subClassOf‘, "owl:oneOf” 등의 이미 표준으로 정의되어 있는 형태이거나, "color", "partOf"와 같이 본 서술어 온톨로지에서 특별히 정의되어 있는 형태이다. 형태소 분석을 통하여 나온 형태소들 중 온톨로지의 3항-구조 (triple) 요소 중 하나인 서술어에 적합한 형태소를 판단하여 적절한 서술어에 맞춰 주기 위하여 사용한다. 그림 3는 본 연구에서 개발된 서술어 온톨로지의 개념 구조를 보여주고 있다.
대상 데이터
"일 때 주어, 서술어, 목적어 쌍이 온톨 로지 생성기, 지르, 온톨"과 같이 자연어 처리기 형태소 분석이 잘못된 결과를 출력한 결과이다. 개념간의 관계의 경우에도 온톨로지 구축가는 1923개로 부족하게 찾은 반면, 제안된 시스템은 2152 개로 108개가 초과되어 생성되었다. 초과되어 생성된 관계들은 예시 문에서 주어진 개념간의 관계 이외에 온톨로지를 다루기 위해 사용된 Jena[19] 프레임워크에서 자체적으로 생성된 관계들로 판별되었다.
결과는 표 8과 같다. 제안한 온톨로지 자동 생성 시스템의 결과로부터 성공적으로 찾아낸 개념이 총 886개로서 예시문에 비하여 30개를 초과하여 찾아내었다. 초과 달성된 이유를 분석하기 위해 실험 진행 기록을 분석한 결과, 자연어 처리기가 잘못 동작되어 발생한 것으로 판명되었는데, 예를 들어 주어진 문장이 "온톨로지 생성기는 온톨로지를 생성한다.
성능/효과
그리고 자연어문장의 서술어를 온톨로지 구문의 서술어로 변환 할 수 있는 서술어 온톨로지를 제안하고 이를 사용하여 시스템을 개발하였으며, 실험을 통하여 본 연구에서 제안한 방법을 사용하면 빠른 시간에 대규모의 문장을 분석하고 온톨로지로 변환하여 저장할 수 있음을 증명하였다.
실험을 통하여 얻은 결과로부터 본 논문에서 제안한 온톨로지 자동 구축방법은 개념이 856/fl, 관계가 1944개 포함된 예시 문들로부터 개념과 관계를 각각 886개, 2152개 찾았으며 잘못 찾은 경우는 3.34%인 30개에 불과하였다. 인간 온톨로지 구축가는 주어진 문장들로부터 개념을 847개, 관계를 1923개 추출하여 개념과 관계를 더 적게 추출하였다.
후속연구
마지막으로, 생성된 온톨로지의 정확도를 높이기 위하여 자동으로 생성된 온톨로지를 검증하고, 검증된 결과에 따라 정제하기 위한 방법에 대한 연구도 진행되어야 할 것이며, 또한 생성된 온톨로지를 다른 응용프로그램에서 활용하기 위해서는 OpenAPI와 같이 손쉽게 사용할 수 있는 방법도 연구되어야 할 것이다.
참고문헌 (19)
T. Berners-Lee, J. Handler, and O. Lassila, "The Semantic Web," Scientific American, May 2001.
김수경, 안기홍, "시맨틱 웹 응용을 위한 웹 온톨로지 구축기법," 한국정보처fl학회 정보처리학회 논문지 D, 제15-D권, 제01호, pp.47-60, 2008. 2.
S.J. Kang, and J.H. Lee, "Semi-Automatic Practical Ontology Construction by Using a Thesaurus," Workshop on Human Language Technology and Knowledge Management ACL2001, Toulouse France, July 2001.
S.Y. Lim, S.O. Koo, M.H. Song, and S.J. Lee, "Hub word based on Ontology Construction for Document Retrieval," IC-AI'03, Las Vegas USA, June 2003.
P. Clerkin, P. Cunningham, and C. Hayes, "Ontology Discovery for the Semantic Web Using Hierarchical Clustering," Trinity College Dublin Computer Science Dept., Technical Reports, 2001.
A. Wrobel and O. Wurmli, "Data Mining for Ontology Building," Diploma Thesis-Dept. of Computer Science WS 2002/2003.
M. Cannataro and C. Comito, "A Data Mining Ontology for Grid Programming," 1st Workshop on Semantic in Peer-to-Peer and Grid Computing at the Twelfth International World Wide Web Conference, May 2003.
임수연, 구상옥, 송무희, 이상조, "접미사 패턴을 이용한 온톨로지의 구축 방안," 한국정보과학회 2003년 추계학술대회, Vol.30, No.2-1, pp. 547-549, 2003. 10.
J. Saias and P. Quaresma, "Using NLP Techniques to Create Legal Ontologies in Logic Programming Based Web Information Retrieval System," In Proceedings of the International Conference on Artificial Intelligence and Law, June 2003.
구미숙, 황정희, 류근호, 홍장의, "데이터마이닝 기법을 이용한 XML 문서의 온톨로지 반자동 생성," 한국정보처리학회논문지 D, 제13-D권, 제3호, pp.299-308, 2006. 6.
김희수, 최익규, 김민구, "개념간 관계의 추출과 명명을 위한 통계적 접근 방법," 한국정보처리학회논문지 B, 제12-B권, 제4호, pp.479-486, 2005. 8.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.