
논문에 대한 완벽한 이해가 되지 않은 상태입니다. 이 글을 읽은 또다른 논문 리뷰어의 의견을 들려주시면 감사하겠습니다 :)
한줄 요약: LLM을 사용한 온톨로지 엔지니어링 방법에 대한 논의
Towards Complex Ontology Alignment Using Large Language Models 논문과 연결되는 내용이 있습니다.
위 작업들은 Semantic Web Search가 등장한 지 1/4가 지난 이 시점에서,
KGOE(Knowledge Graph and Ontology Engineering)는 다음과 같은 작업들이 포함된다.
KGOE를 구축하는 작업은 여전히 노동집약적이고, 자동화하기 어렵다는 특징이 있다. 그럼에도 KG와 온톨로지는 여전히 데이터 통합과 관리 측면에서 중요하다. 최근에는 LLM의 환각 현상을 완화할 수 있는 정답(ground-truth)의 역할을 할 수 있다는 점과 다른 뉴로 심볼릭 분야의 접근법으로 주목 받고 있다.
따라서 KGOE를 자동 혹은 최소한 반자동화하여 구축하는 방법은 중요한 연구이다. 이 논문에서는 LLM을 KGOE를 구축하는 과정에서 (1) 대략적으로 질의할 수 있는 자연어 지식 베이스로 활용하고 (2) 구조화된 방식으로 정보를 이해하고 생성하는 측면에서 사용하면 인간의 시간과 노력을 줄일 수 있다고 한다.
이러한 접근의 시도는 이 논문이 처음이 아니고 현재 많은 Semantic Web Community에서 논의되고 있으며, 이 논문에서도 이를 언급하고 있다.
대부분의 'useful'한 온톨로지와 KG는 '대규모'라는 특징이 있다. 그 예시로, 유전학 분야의 온톨로지는 클래스의 개수만 4만개가 넘고, Wikipedia나 DBpedia는 10의 6~8 지수만큼 이상의 클래스를 갖는다. 일반적으로 인간은 300개가 넘어가면 전반적인 계층 관계나 구조를 한번에 파악하지 못하는데, 이러한 대규모의 특징은 온톨로지나 KG의 구축의 허들이 된다.
LLM의 등장 이전에도 Semantic Web을 연구하는 분야에서는 인간이 더 잘 이해할 수 있는 크기로 온톨로지를 분할(?)하기 위해서 모듈 사용을 연구해왔다(e.g. Ontology Design Patters). 따라서 논문에서 주장하는 LLM 기반 KGOE에 적합한 방법은 개념적으로 의미가 있는 부분들로 온톨로지를 분할한다면, LLM의 context 제한에도 무리가 없으며, 온톨로지 관리 측면에서도 더 관리하기 쉬운 형태가 될 수 있다고 한다.
Ontology aglignment 측면에서 예시를 들면, OAEI GeoLink complex Ontology alignment benchmark에서는 두 온톨로지 간의 복잡한 매핑 규칙 생성에 대한 연구를 했다. 이 벤치마크에서 사용하는 두 온톨로지의 크기는 다음과 같다.
이 벤치마크를 다룬 논문에서는 ontology alignment에서 모듈화 접근법의 중요성을 언급한다. 초기에는 LLM을 사용하여 두 온톨로지 전체를 프롬프트에 넣고 정렬을 하려고 했는데, 이 결과는 거의 사용할 수 없었다고 한다. 따라서 모듈화 접근법을 시도했는데, 먼저 LLM에 alignment 규칙 head와 20개 모듈 이름 목록을 제공하고, 규칙 생성에 필요한 모듈을 식별할 것을 요청했다. 이후 식별된 모듈을 제공하여 규칙의 body를 생성하도록 요청했다고 한다.
이 설명만으로는 완벽히 이해되지 않고, 선행연구를 읽어봐도 알쏭달쏭하다. Claude가 풀어서 해준 설명은 다음과 같다.
- 헤드(Head): 매핑의 목표나 결론을 나타냅니다. 예를 들어 "온톨로지 A의 개념 X는 온톨로지 B의 개념 Y와 매핑된다"와 같은 형태입니다.
- 본체(Body): 헤드가 참이 되기 위한 조건이나 제약을 지정합니다. 이는 더 복잡한 매핑 로직을 표현하며, 온톨로지의 클래스, 속성, 관계 등을 사용합니다.
정리해보면, 우선 20개의 모듈 이름과 정렬규칙(head)을 제시해서 alignment에 필요한 모듈을 질문하고, 이를 기반으로 생성한 모듈을 다시 제공하여 규칙 본문(body)를 생성한다는 것이다. 이때 말하는 모듈은 작은 단위로 쪼갠 샘플(Organization or Physical Sample) 정도로 이해할 수 있을 것 같다.
❓ Ontology alignment란?
- 출처: Wikipedia
온톨로지에서 개념 간의 일치를 결정하는 프로세스로, 서로 다른 온톨로지에서 의미적으로 대응되는 엔티티를 식별하고 매핑하는 것을 의미한다.쉽게 생각해서 서로 다른 두개의 데이터셋이 있고 이를 merge하고 싶을 때 공통의 의미를 갖는 컬럼을 찾는 과정이라고 생각하면 될 것 같다.
Semantic Web Community에서 Modules의 의미는 다양한데, 여기서는 온톨로지의 일부로, 도메인 전문가 관점에서 중요한 핵심 개념과 관련된 클래스, 속성, 그리고 공리들로 구성된다. 즉, 큰 온톨로지를 인간이 이해하기 쉬운 개념적으로 의미 있는 작은 조각들로 분할함으로써 복잡한 엔지니어링 작업을 더 관리하기 쉽게 만드는 방법을 의미한다.
모듈은 겹치거나 중첩될 수 있으며, 특정 온톨로지 조각(Piece)가 어떤 모듈에 속해야 하는지에 대한 명확한 규칙이 의도적으로는 없다고 설명한다. 대신, 도메인 전문가의 관점, 사용 사례 관점과 온톨로지와 관련된 사용 가능한 데이터의 관점을 포함한 여러 관점에서 이해해야 하므로, 모듈은 인간 전문가 개념화와 데이터 현실 사이의 개념적 다리 역할을 한다고 한다.
모듈이라는 것의 정의가 여전히 모호한 상황에서, 모듈이 겹치거나 중첩될 수 있다는 설명은 매우 혼란스럽다. 논문에서 든 예시를 살펴보자
- GeoLink 온톨로지에는 'Organization', 'Physical Smaple' 등의 모듈이 정의되었음
- Enslaved.org 온톨로지에서는 'Event', 'Place', 'Provenance', 'PersonRecord' 등의 모듈이 사용되었음
이러한 모듈 사이에는 엄격한 경계가 없어서 자연스럽게 겹치거나 중첩될 수 있는데, 그럼에도 개념적으로 일관성있는 단위로 기능한다고 한다.
좀 더 쉬운 예시를 생각해보겠다. '연구 모듈'과 '교수 모듈'이 있다고 가정했을 때, 이 둘은 완전히 분리되는 모듈이 아니다. 개념적으로 상하위를 구분할 수 없지만 중첩되는 부분이 있기 때문이다. 이는 실제 인간의 사고방식을 기반으로 하며, 유연한 모듈을 맥락에 맞게 사용할 수 있다는 장점이 있다.
이러한 MOMo(Modular Ontology Modeling) 방법은 온톨로지 스키마 뿐만 아니라 실제 데이터까지 일관된 방식으로 모듈화할 수 있다고 한다.
온톨로지 스키마를 T-Box라고 하고, 이를 기반으로 실제 데이터를 지식그래프로 표현한 걸 A-Box라고 한다는 걸 이제 이해했다!
온톨로지 자동 설계와 관련된 연구는 주소 2000년대 초반에 NLP 관점에서 연구되었고, ODP(Ontology Design Patterns) 기반 방법론이 확산되면서 후보 패턴의 식별과 인간 개입을 활용하는 방식 등 새로운 시도가 등장했다.
LLM 등장 이전의 시기에는 incremental evoluation(점진적 진화), 귀납적 논리 프로그래민, 언어학과 통계적 NLP를 통해서 온톨로지 학습이 발전해왔는데, 이 결과는 도메인 전문가와 온톨로지 엔지니어링 전문가가 직접 제작한 것에 비해서 품질이 떨어졌다고 한다.
이러한 상황에서 LLM은 인간 전문가 지식의 넓은 범위를 대략적으로 갖고 있다는 점에서 좋은 프롬프팅을 하면 지식을 구조화할 수 있는 것이다. 현재 수준의 LLM은 완전 자동화된 방식으로 사용하기에는 상식과 추론 능력이 제한적이긴 하지만, 인간 연구자의 작업 속도를 향상시키는데 도움을 줄 수 있는 정도는 된다고 설명한다.
앞서 언급된 MOMo(Modular Ontology Modeling)를 다시 정리하면, 복잡한 온톨로지 모델링 작업을 명확하게 단계적 프로세스로 나눠서 진행하며, 고품질 온톨로지 설계 패턴(ODP, Ontology Design Pattern)을 기반으로 한다. 단계별로 진행하는 것은 데이터를 한번에 온톨로지로 생성하는 것보다 자동화하기가 더 쉽다고 한다.
MOMo는 LLM 등장 이전에 설계되었지만, LLM과 결합하여 더 효과적인 온톨로지 구축이 가능하다고 한다. MOMo의 기본 구성 요소는 다음과 같다.
온톨로지 설계의 단계에서는 우선 LLM을 사용하여 수백 개의 단순한 '상식적' 패턴을 생성한다. 이러한 '마이크로패턴'(간단한 의미론과 구조를 가진)은 설계 라이브러리로 조직되어 RAG 시스템 등을 통한 프로그래밍 방식으로 접근이 가능하며 모듈식 방식으로 연결된다.
온톨로지 모델링을 스텝 바이 스텝으로 분리하고, 각 단계(모듈)을 생성하고 수정하는 단계에서 LLM을 활용할 수 있다는 것
이 부분은 위에서 이미 다룬 내용인데, 복잡한 alignment에 대한 연구는 계속 진행해왔으나(문자열 매칭이나 dictionary를 만드는 방법 등으로) 완전 자동화는 여전히 어려운 상태이고, LLM을 사용해서 오히려 simple ontology alignment로 돌아온 것 같다고 언급한다.
Ontology Population는 온톨로지 구조에 실제 인스턴스나 개체를 추가하는 과정으로, 온톨로지의 스키마가 정의된 후, 그 구조에 맞는 실제 데이터나 인스턴스를 채워넣는 작업이다. 논문에서는 채워하는 대상(개념, 이론적)을 알려지지 않은 개체라고 하고, 들어가는 대상을 알려진 개체라고 표현한다.
LLM을 활용한 온톨로지 채우기에서 modularity의 두 가지 주요 측면을 활용할 수 있다.
Conceptual Consistency(개념적 일관성):
모듈의 구성 클래스와 속성들이 특히 인간의 관점에서 함께 속한다는 의미로, LLM 프롬프트에서 더 밀접한 "감정(sentiment)" 또는 의미 클러스터를 제공한다. 이후 관련 개념들이 함께 그룹화되어 LLM이 맥락을 더 잘 이해하도록 돕는다.
한 모듈을 구성하는 요소들은 개념적 일관성을 갖고 있다는 의미로 해석했다.
Tight Scope(좁은 범위):
LLM은 지시사항보다 패턴을 따르는 데 더 능숙하며, 이는 프롬프트 길이와도 상관관계가 있다. 따라서 모듈 단위로 범위를 좁히면 LLM이 더 효과적으로 작업할 수 있다.
실험 결과, 모듈화된 온톨로지 접근법이 LLM과 결합했을 때 Onology population의 효율성은 크게 향상되었다고 한다.
entity disambiguation은 위에서 설명한 ontology population과 밀접한 관련이 있다. 차이점은 ontology population은 entity의 추출에 중점을 두고 이론적 후보(클래스나 entity)와 비교하지만, entity disambiguation은 두 개의 알려진, 또는 다른 이름의 엔티티를 비교하고 동일한 엔티티의 정도에 해당하는 값을 생성하는 방식이다.
예를 들어, 'Apple can be red or green.' 라는 문장이 있을 때, Ontology population는 'Apple'라는 개체를 추출해서 'red'와 'green'의 속성을 추가하지만, Entity disambiguation은 이 Apple이 과일을 의미하는 건지 회사 'Apple'을 의미하는 것인지 구분하는 것을 의미한다.
Entity disambiguation은 맥락과 관계가 있으므로 맥락을 이해하는 능력이 뛰어날수록 개체를 명확하게 파악하고 구분하는 성능도 향상된다.
논문에서 지금까지 언급한 conceptual module은 이전의 온톨로지와 지식 그래프(KG) 문헌에서 사용되는 다른 모듈 정의와는 구별되지만, 크게는 지식을 논리적으로 일관된 방식으로 분할한다는 점에서 유사한 측면이 있다.
또한 비모듈식 온톨로지 구축에 대한 연구도 계속되어야 한다고 하는데,
연구자들은 LLM 기반 KGOE에서 모듈성의 가치가 분명해짐에 따라, 시맨틱 웹, 지식 그래프, 온톨로지 연구 커뮤니티가 추구해야 할 구체적인 연구 과제를 다음과 같이 제안한다.
실제 데이터 기반 벤치마크 개발:
실제 세계 데이터에 기반한 KGOE 작업용 비합성(non-synthetic) 벤치마크 개발이 필요하다. 이상적으로는 벤치마크 생성이 아닌 응용 목적으로 수행된 수동 KGOE 작업에서 사후에 도출되어야 한다고 한다.
비합성 벤치마크 데이터셋은 평가를 목적으로 데이터를 기반으로 (QA등의 형식으로) 생성하지 않고, 실제 사용자의 질문과 그에 대한 답변으로 구성된 데이터셋 등을 의미하는 것으로 이해했다.
시맨틱 웹 표준/웹 방법론 수정 연구:
OWL, RDF와 같은 시맨틱 웹 표준은 수정에 많은 비용이 든다고 한다. 따라서 KGOE 작업을 쉽게 수행할 수 있는 방법에 대한 연구(전통적인 방법 혹은 LLM을 활용한 방법)가 필요하다는 의미이다. 이와 유사하게 시멘틱 웹 방법론을 개선하는 방법에 대한 연구도 효율성을 높일 수 있는 방법을 연구할 필요가 있다.
체계적 비교 연구:
다양한 KGOE 작업에 대한 MOMo 모듈성(또는 표준이나 방법론의 다른 제안된 개선사항)의 부가가치에 대한 체계적인 비교 연구 수행이 필요하다.
이러한 연구 방향은 LLM과 온톨로지, 지식 그래프 기술의 통합을 개선하고, KGOE 작업의 효율성과 효과를 향상시키는 데 기여할 것이라고 언급한다.
지식그래프와 온톨로지는 LLM 시대에 새로운 부활(?) 가능성을 보였으며, RAG시스템이나 텍스트 출력의 가이드레일을 제공할 수 있다. 그러나 이를 구축하고 관리하는 과정은 여전히 매우 어려운데, 어쨌든 이 과정에서 LLM을 활용하는 적절할 것 같다는 것이 논문의 결론이다.
.
.
.
이때까지 LLM의 성능을 향상시키기 위한 KG, Ontology 관점의 논문들을 많이 읽었고 그 역 방향으로는 공부를 많지 하지 않았더니 이 논문이 낯설고 어려웠다. 참고 문헌 중에 Semantic Web, Ontology 관련 논문들이 많은데 하나씩 읽어봐야...겠다.