1. 온톨로지란 무엇일까?
어디서 온 온톨로지일까. 왜 팔란티어는 핫하고, 우리 회사는 이걸 하고 싶어할까. 궁금증이 생겼다.
팔란티어가 성공적으로 온톨로지를 활용한 이유는 국방·보안·정부 기관처럼 매우 복잡한 데이터를 처리하는 환경에서 강력한 성능을 발휘했기 때문이다.
하지만 모든 기업이 팔란티어처럼 온톨로지를 활용할 수 있을까? 그리고, 온톨로지는 뭘까?
1. 온톨로지 정의
온톨로지(Ontology) = Ontos(존재) + logia(탐구, 학문)
→ 존재하는 것에 대한 탐구와 학문, 즉 존재에 대한 탐구이다.
존재를 탐구하는 것은 어떤 것일까?
한 존재에 대해 여러 측면으로 들여다 보는 것으로 이해했다.
존재한다는 것은 실재하는 세계가 있다는 것이고, 세계와 어떤 연결고리가 있다는 것이다.
너무 철학적이니까 조금 더 쉽게 설명해보자.
‘나’ 그러니까 글쓴이는
- 국적 : 대한민국.
- 사는 곳: 경기도
- 직업: 데이터 사이언티스트
- 취미: 드럼
등등 지금 우리가 사는 이 세계와 다양한 연결고리가 존재한다.
이 연결고리들을 통해서 ‘나’라는 글쓴이 존재를 구체적으로 풍부하게 탐구할 수 있게 되는 것이다.
즉, 온톨로지는 대상들의 관계파악을 통해 존재의 본질에 대해 더 구체적으로 풍부하게 탐구하는 것이다.
어떤 영역인지에 따라, 그리고 어떤 세계관인지에 따라 온톨로지는 여러가지 방향으로 정의될 수 있을 것이다.
이렇게 추상적인 온톨로지 세계 속에서 우리의 나침반이 되어줄 친구들을 만나보자.
2. 온톨로지의 주요 요소들
온톨로지의 맥락을 이해하기 위해서는 이 주요 구성 요소들을 알고 있어야 한다.
클래스(Class):
개념이나 사물을 분류할 수 있는 객체의 이름 같은 것이다.
사물이나 개념등에 붙어있는 “글쓴이”, “사랑”, “키보드” 등 모두 클래스라고 할 수 있다.
인스턴스(Instance):
사물이나 개념의 클래스의 구체적인 사례나 예시를 의미한다.
“글쓴이 A”, “해피해킹 키보드” 등을 인스턴스라 부른다.
클래스와 인스턴스는 매우 비슷한 개념이지만, 어떻게 보느냐(응용, 사용목적 등)에 따라 클래스였다가 다른 경우에는 인스턴스가 될 수 있다.
속성(Properties):
클래스나 인스턴스의 특정한 성질, 성향 등을 나타내기 위하여 클래스나 인스턴스를 특정한 값과 연결시킨 것이다.
아래 그림처럼 글쓴이의 취미속성은 드럼, 국적 속성은 대한민국, 직업 속성은 데이터 사이언티스트인 것이다.
관계(Relation):
두 개 이상의 개념(클래스, 개체) 사이의 연관성을 나타내는 요소다.
관계를 명확하게 정의함으로써 AI가 개념 간의 연결을 이해하고, 논리적으로 추론할 수 있도록 돕는다.
관계는 크게 계층적(Hierarchical) 관계와 비계층적(Non-hierarchical) 관계로 나뉜다.
- 계층적인관계
- 이 관계는 상위 개념(Superclass)과 하위 개념(Subclass) 사이의 포함 관계를 나타낸다.
- "is-a(~이다)" 관계 ex)고래는 포유류이다. 강아지는 동물이다.
- 비계층적인 관계
- 이 관계는 서로 다른 개념 간의 연관성을 나타내며, 주로 연관(Related-to) 또는 속성(Property-based) 관계가 포함된다.
- "has-a(~을 가지고 있다)" 관계 ex) 아빠는 자동차를 가지고 있다.
- "part-of(~의 일부이다)" 관계 ex) 타이어는 자동차 부품 중 하나이다.
대상A | 관계 | 대상 B | 관계속성 |
글쓴이 A | ~이다 | 사람 | 계층적(사람 > 글쓴이 A) |
글쓴이 A | 소유하고 있다 | 에어팟 | 비계층적 |
드럼 | 드럼 구성요소 중 하나이다 | 스네어 | 비계층적 |
철학적이기만 한 개념이 조금은 갈피가 잡히는 기분이다. 그렇다면 이 개념이 어떻게 디지털에서 확장될 수 있을까?
2. 온톨로지가 왜 뜰까?
기존 데이터베이스 시스템은 데이터를 저장, 검색하는 데에 중점을 두었다. 실제 ‘값’ 밖에 저장하지 못했기 때문에 데이터의 맥락과 상황적 의미들이 저장되지 않았다. 이러면서 데이터 간의 유기적 관계를 표현하기 어려웠다.
1. 지식기반시스템에서의 온톨로지
- 암묵지에서 형식지로
- 데이터의 맥락과 의미적 관계들을 암묵지(보이지 않는 지식)에서 형식지(명시적인 지식)로 변할 수 있게 됐다. “관계”구조를 통해 맥락에 대한 정보를 저장하여 추론 가능한 지식구조를 제공하는 것이다.
- 데이터 구조화
- 공통적인 데이터의 구조 체계가 생기면서 표준화된 구조가 만들어진다. 이는 다양한 분야의 엄청난 양의 데이터를 효과적으로 분류하고, 구조화 할 수 있다는 것이다. 이를 통해 원활한 데이터 공유뿐만 아니라 지식의 재사용성도 확장될 수 있다.
- 예를 들어, 의료 데이터에서 "환자"와 "진료 기록"의 관계를 온톨로지로 정의하면 여러 병원이 동일한 데이터 구조를 공유할 수 있다.
2. AI에서 온톨로지 기반 관계 데이터 활용
인공지능(AI)가 발전하면서 AI 모델링에서 중요해진 도전과제 중 하나는 모델의 ‘이해’와 ‘추론’능력 향상이다.
- 추론 및 맥락 이해
- 예를 들어, 글쓴이 A의 국적은 대한민국이다. 국적이 대한민국인 사람들은 한국어를 사용한다. 이 정보를 학습한 AI는, “글쓴이 A는 한국어를 사용할 줄 안다.”의 정보를 유추해 낼 수 있는것이다.
- 이는 AI의 추론 능력을 향상시켜 보다 복잡한 문제 해결이 가능하게 한다.
이렇게 온톨로지는 AI시스템에서 데이터를 논리적으로 연결하는 데 중요한 역할을 하게 되는것이다.
3. 회사에서 온톨로지가 적용가능할까?
어떻게 적용할 수 있을까?
1) 검색 엔진의 지식 그래프
구글(Google) 검색 엔진은 지식 그래프(Knowledge Graph)를 활용하여 단순한 키워드 검색이 아니라, 개념 간의 관계를 분석해 사용자에게 적절한 정보를 제공한다.
- 예를 들어 "엘론 머스크"를 검색하면 그의 회사(테슬라, 스페이스X), 자녀, 출생지, 업적 등 관련 정보를 자동으로 추론하여 보여준다.
2) 자율주행 AI
도로 환경에서 "자동차", "보행자", "신호등" 간의 관계를 정의하여 AI가 안전한 주행 결정을 내릴 수 있다.
- "보행자가 횡단보도를 건너고 있다" → "차량은 멈춰야 한다" 같은 논리를 AI가 스스로 이해하고 적용할 수 있다.
- 이런 방식으로 다양한 도메인에 대해서 적용할 수 있을 것이다.
온톨로지 적용의 한계와 도전 과제
물론 온톨로지를 회사에 적용하는 것이 항상 쉬운 일은 아니다. 다음과 같은 몇 가지 한계점이 존재한다.
- 초기 구축 비용과 시간
- 온톨로지를 설계하고 구축하는 과정이 복잡하며, 많은 시간이 필요하다.
- 또, 많은 도메인 전문가가 필요하다. 맞는 관계인지 그리고 복잡하고 유기적으로 얽혀있는 관계를 어떻게 정의할 건지를 판단하는 과정이 필요하다.
- 데이터 업데이트 문제
- 기업 환경은 끊임없이 변화하기 때문에, 온톨로지 모델도 지속적으로 업데이트되어야 한다.
- 기존 시스템과의 통합 문제
- 기존의 데이터베이스 및 ERP, CRM 시스템과 온톨로지를 효과적으로 연결하는 과정이 필요하다.
이러한 문제를 해결하기 위해 AI 기반 온톨로지 자동 생성 기술과 클라우드 기반 온톨로지 관리 시스템 등이 발전하고 있어 귀추가 주목된다고 한다.
여담이자 마무리.
이번 글에서는 회사에서 관심있어하는 온톨로지에 대해 알아보았다.
지식그래프와 거의 유사하지만 조금 더 구조화 되어있다는 것이 흥미로운 점으로 다가왔다.
데이터를 체계화 할 수 있다는 것이 엄청나게 강력한 장점이지 않은가?
다만, 온톨로지 기반으로 실제 비지니스 데이터를 구축하려면, 많은 시행착오가 필요해 보인다.
REF
'Data Science > Basic' 카테고리의 다른 글
지표를 설계해보자 (1) | 2024.11.10 |
---|---|
지표, 넌 누구니? (1) | 2024.10.27 |
Pytorch Tutorial (1) _ Tensor (0) | 2022.06.05 |
Sequential Model, Functional Model (0) | 2022.04.30 |
댓글