교육 문의커뮤니티 입장하기

AI시대 일반인을 위한 온톨로지 설명회

온톨로지는 대상의 종류와 속성, 관계의 의미를 명시하는 방법입니다. 피자와 도서관 예시로 클래스와 인스턴스, 속성을 구분하고, 관계와 규칙에서 추론이 나오는 조건을 정리했습니다.

지금까지 100명 넘게 읽었어요, 35%가 끝까지 읽었어요
Share
AI시대 일반인을 위한 온톨로지 설명회 대표 이미지
목차
  1. 온톨로지는 대상과 관계의 뜻을 적는 방법입니다
  2. 피자의 종류와 지금 주문한 한 판은 다릅니다
  3. 다른 대상과 연결할 때와 값을 적을 때
  4. 분류 체계에 관계를 더하면 무엇을 물을 수 있을까요?
  5. 같은 이름이라고 같은 대상은 아닙니다
  6. 추론에는 사실과 규칙이 함께 필요합니다
  7. 철학에서 빌려온 이름과 컴퓨터에서 쓰는 정의
  8. 구글, 넷플릭스, 팔란티어가 밝힌 범위
  9. 책 목록에 관계를 적는 예
  10. 자주 묻는 질문

세 줄로 먼저 읽기

  1. 온톨로지는 다룰 대상의 종류와 속성, 관계를 어떤 뜻으로 쓸지 명시하는 방법이며 톰 그루버는 1993년 이를 개념화의 명시적 명세라고 정의했습니다.
  2. 마르게리따 피자라는 종류는 클래스, 주문한 한 판 Z001은 인스턴스이고 대상끼리의 연결은 객체 속성, 가격 같은 값은 데이터 속성으로 적습니다.
  3. 강남구가 서울에 속하고 서울이 한국에 속한다는 두 사실에 전이 규칙을 더해야 강남구가 한국에 속한다는 결론이 나오며, 같은 규칙을 '안다' 관계에 쓰면 틀린 결론이 나옵니다.

온톨로지는 대상과 관계의 뜻을 적는 방법입니다

도서관에서 “총균쇠 같은 책을 추천해 주세요”라고 부탁했다고 해 봅시다. 같은 역사 분야를 원하는지, 환경이 문명에 미친 영향을 다룬 책을 원하는지에 따라 추천이 달라집니다. 책을 어느 칸에 꽂을지만 정해서는 부족하고, 책의 주제와 저자, 다른 책과의 관계까지 적어야 합니다.

온톨로지(Ontology)는 다룰 대상의 종류와 속성, 관계를 어떤 뜻으로 쓸지 명시하는 방법입니다. 이렇게 적어 두면 사람과 프로그램이 같은 용어를 같은 의미로 씁니다.

이 글은 피자 한 판으로 종류와 개별 대상을 나누고, 도서관과 지도 예시로 관계와 추론을 설명합니다. 온톨로지에 적는 내용은 아래 다섯 가지입니다.

온톨로지에 적는 다섯 가지

  1. 1. 종류클래스
    예) 마르게리따 피자
  2. 2. 개별 대상인스턴스
    예) 주문한 한 판 Z001
  3. 3. 값데이터 속성
    예) 가격 25,000원
  4. 4. 연결객체 속성
    예) 책 → 저자 → 사람
  5. 5. 규칙추론
    예) 포함 관계는 이어진다

피자의 종류와 지금 주문한 한 판은 다릅니다

클래스(Class)는 대상의 종류입니다. 이 예시에서는 ‘피자’를 큰 종류로, ‘마르게리따 피자’를 그 안의 세부 종류로 정합니다. 세부 종류를 하위 클래스(Subclass)라고 합니다.

인스턴스(Instance)는 그 종류에 속하는 개별 대상입니다. 오늘 주문해서 받은 피자 한 판에 Z001이라는 번호를 붙여 봅시다. Z001은 마르게리따 피자의 인스턴스입니다. 같은 종류를 한 판 더 주문하면 새 피자는 Z002가 됩니다. 두 판은 종류가 같아도 서로 다른 대상입니다.

피자 예시에서 각 이름이 맡는 역할

이름클래스종류하위 클래스세부 종류인스턴스개별 대상
피자제공제공하지 않음제공하지 않음
마르게리따 피자제공제공제공하지 않음
Z001, Z002제공하지 않음제공하지 않음제공
마르게리따 피자는 그 자체로 종류이면서 피자의 하위 클래스입니다. Z001과 Z002는 종류가 아니라 실제로 받은 피자 한 판씩입니다.

속성(Property)은 대상의 특징이나 다른 대상과의 관계를 나타냅니다. 아래 가격은 예시 값입니다.

Z001은 마르게리따 피자이다. Z001의 가격은 25,000원이다. Z002는 마르게리따 피자이다. Z002의 가격은 25,000원이다.

‘마르게리따 피자는 피자의 한 종류이다’는 종류와 종류의 관계이고, ‘Z001은 마르게리따 피자이다’는 개별 대상과 종류의 관계입니다. 두 문장이 비슷해 보여도 관계의 종류가 다릅니다.

무엇을 개별 대상으로 볼지는 목적에 따라 정합니다. 메뉴를 관리하는 시스템이라면 메뉴 항목 하나를 대상으로 삼을 수 있습니다. 이 글에서는 실제로 만든 피자 한 판을 구별하기로 정했기 때문에 Z001을 인스턴스로 씁니다.

다른 대상과 연결할 때와 값을 적을 때

속성은 무엇과 연결되는지에 따라 두 가지로 나눕니다.

  • 객체 속성(Object Property): 개별 대상과 다른 개별 대상을 연결합니다. ‘봉준호가 기생충을 감독했다’에서 사람과 영화가 연결됩니다.
  • 데이터 속성(Data Property): 개별 대상에 숫자나 문자열 같은 값을 붙입니다. ‘기생충의 개봉 연도는 2019년이다’에서 영화에 연도 값이 붙습니다.

그림의 literal은 숫자나 문자열 같은 값을 뜻합니다. 왼쪽 첫 줄은 사람과 영화라는 두 대상을 잇고, 오른쪽 첫 줄은 영화에 2019라는 값을 붙입니다. 왼쪽 아래 ‘소세지는 부대찌개에 포함된다’는 재료의 종류와 음식의 종류를 이은 간략한 표현이라서, 실제 데이터로 쓰려면 어느 재료와 어느 음식인지 개별 대상으로 정해야 합니다. 오른쪽의 면적과 기원 같은 값도 실제 데이터에 넣을 때는 기준 시점과 출처를 함께 적습니다.

두 속성의 형식은 W3C의 OWL 2 입문 문서에도 나옵니다. OWL은 온톨로지를 프로그램이 처리할 수 있는 형식으로 적는 언어입니다.

분류 체계에 관계를 더하면 무엇을 물을 수 있을까요?

분류 체계(Taxonomy)는 상위 종류와 하위 종류를 정리합니다. ‘책 > 인문 > 역사’처럼 어느 분류에 속하는지 찾을 때 씁니다. 온톨로지는 이 분류에 ‘누가 썼는지’, ‘어떤 주제를 다루는지’ 같은 관계와 그 의미를 더합니다.

그림 가운데는 분류 체계로 ‘국내도서 > 인문 > 인문학’ 칸에 있는 책을 추천하는 예입니다. 오른쪽은 총균쇠에 장르와 주제, 접근법, 서술 스타일을 붙여 둔 목록입니다. 이 목록을 추천에 쓰려면 어떤 항목을 주제로 볼지, 책과 어떻게 연결할지, 추천에서 무엇을 우선할지 정해야 합니다.

총균쇠를 기준으로 던질 수 있는 질문

질문분류 체계칸만 정리온톨로지칸과 관계를 정리
같은 인문 분야의 책은?제공제공
같은 저자가 쓴 책은?제공하지 않음제공
문명의 발전을 다루는 책은?제공하지 않음제공
이 책을 고른 이유같은 분야라서같은 주제를
다뤄서
분류만으로는 같은 칸의 책이 넓게 나오고, 주제 관계를 정의하면 그 주제를 다루는 책만 골라낼 수 있습니다.

분류만 쓰는 시스템도 선호 분야를 반영해 개인화할 수 있습니다. 추천의 품질은 데이터와 추천 방법, 사용자가 원하는 기준이 함께 맞을 때 올라가고, 온톨로지는 그중 관계의 뜻을 분명하게 해 줍니다.

같은 이름이라고 같은 대상은 아닙니다

두 시스템이 같은 정보를 다르게 적는 경우가 많습니다. 가상의 병원 A는 나이를 Age, 병원 B는 PatientYearsold라는 항목에 저장합니다. 두 항목이 모두 만 나이를 뜻한다고 정의해 두면 항목의 의미를 맞출 수 있습니다.

그렇다고 이름이 ‘김환자’이고 나이가 31세인 두 기록을 같은 사람으로 합치면 안 됩니다. 동명이인일 수 있기 때문입니다. 항목의 뜻을 맞추는 일과 같은 사람인지 가리는 일은 별개입니다. 두 기록을 한 사람으로 연결하려면 식별 정보와 연결 기준이 따로 필요합니다.

업무 용어도 같습니다. ‘회원’을 가입한 사람, ‘구매자’를 실제로 구매한 사람으로 정의했다면 두 말을 고객으로 묶어도 회원 전원이 구매자가 되지는 않습니다. User, Contact, ‘회원’, ‘구매자’를 단순한 동의어로 처리하면 이 차이가 사라집니다.

두 시스템의 기록을 합치기 전에 가릴 것

  1. 1. 항목의 뜻Age와 PatientYearsold
    둘 다 만 나이면 연결
  2. 2. 같은 사람인지김환자, 31세 두 건
    식별 정보 없이는 합치지 않음
  3. 3. 용어의 범위회원과 구매자
    동의어로 묶지 않음

추론에는 사실과 규칙이 함께 필요합니다

추론(Reasoning)은 알고 있는 사실과 규칙에서 새 결론을 끌어내는 것입니다. 아래에서는 partOf를 지역의 포함 관계로 씁니다.

사실 A: 강남구는 서울의 일부이다. 사실 B: 서울은 한국의 일부이다. 규칙: 이 지역 포함 관계는 전이적이다. 결론: 강남구는 한국의 일부이다.

전이적이라는 말은 A가 B에 속하고 B가 C에 속하면 A도 C에 속한다는 뜻입니다. 이 규칙을 처리하는 추론 프로그램이 있으면 마지막 결론을 따로 입력하지 않아도 얻을 수 있습니다.

그림의 화살표는 지역이 포함되는 방향입니다. 강남구에서 한국으로 가는 화살표는 두 사실을 저장했다고 생기지 않습니다. 관계의 의미와 전이 규칙을 정의하고, 프로그램이 그 규칙을 처리하도록 만들어야 생깁니다.

모든 관계가 전이적이지는 않습니다. 민수가 영희를 알고 영희가 지수를 안다고 해서 민수가 지수를 안다고 결론 내릴 수는 없습니다. 이런 관계에 전이 규칙을 잘못 넣으면 논리적으로는 맞게 처리해도 현실과 다른 결과가 나옵니다.

전이 규칙을 적용할 수 있는 관계

관계사실 1사실 2A→C 결론
지역 포함(partOf)강남구 → 서울서울 → 한국제공
안다민수 → 영희영희 → 지수제공하지 않음
두 관계 모두 사실이 두 개 이어지지만, 결론을 이어 붙일 수 있는 것은 지역 포함 관계뿐입니다.

더 깊이 들어가면 기술 논리(Description Logic)처럼 개념과 관계를 기호로 적는 방법이 나옵니다. 처음에는 기호를 외우기보다 어떤 사실에 어떤 규칙을 적용했는지 따라가는 편이 이해가 빠릅니다. 기호의 예로, ∀r.C는 관계 r로 연결된 대상이 모두 C에 속한다는 조건입니다. 이 조건은 연결된 대상이 하나 이상 있어야 한다는 요구까지 담지 않으므로, ‘모두 그렇다’와 ‘하나 이상 있다’는 다른 조건으로 적습니다.

철학에서 빌려온 이름과 컴퓨터에서 쓰는 정의

철학에서 온톨로지는 존재론을 가리킵니다. 무엇이 존재하며 어떤 종류로 설명할지 묻는 분야입니다. 컴퓨터 분야는 이 이름을 빌려 왔지만, 존재 전체를 묻지 않고 특정 목적에 필요한 개념과 관계를 명시하는 데 씁니다.

톰 그루버(Tom Gruber)는 1993년 논문에서 온톨로지를 “개념화의 명시적 명세”라고 정의했습니다. 원문은 “an explicit specification of a conceptualization”입니다. 개념화는 다루려는 세계를 목적에 맞게 정리하는 것이고, 명세는 그 내용을 분명하게 기록하는 것입니다.

그루버의 정의를 피자 예시에 적용한 순서

  1. 1. 개념화무엇을 대상으로 볼지 정리
    주문한 피자 한 판을 구별
  2. 2. 명세정한 내용을 기록
    가격은 원 단위 숫자
  3. 3. 공유다른 사람, 시스템과
    정의의 차이를 조정

정의는 혼자 시작할 수 있습니다. 다른 사람이나 시스템과 함께 쓰기 시작하면 정의를 공유하고, 서로 다르게 쓰던 부분을 맞춰야 합니다.

구글, 넷플릭스, 팔란티어가 밝힌 범위

세 회사 모두 대상과 속성, 관계를 서비스에 쓴다고 설명합니다. 무엇을 연결해 어디에 쓰는지는 회사마다 다릅니다. 구글은 검색 결과에, 넷플릭스는 작품 추천에, 팔란티어는 업무 조회와 실행에 씁니다.

구글: 대상과 관계를 연결한 지식 그래프

구글은 2012년 5월 지식 그래프를 발표하며 사람, 장소, 사물과 그 관계를 연결해 검색에 쓴다고 설명했습니다. 지식 그래프는 이런 대상과 관계를 연결해 표현한 데이터이고, 온톨로지는 그 데이터에서 쓸 종류와 관계의 뜻을 정하는 데 쓰입니다. 그림은 다 빈치를 검색했을 때 인물 정보와 작품이 함께 나오는 화면입니다.

넷플릭스: 콘텐츠 속성도 추천의 재료입니다

넷플릭스는 추천 시스템 안내에서 시청 이력과 평가, 취향이 비슷한 다른 이용자, 장르와 출연진 같은 작품 정보를 추천에 쓴다고 설명합니다. 작품의 속성을 정리해 두면 추천의 재료가 된다는 사례입니다.

그림의 행마다 기준이 다릅니다. ‘Netflix 인기 동영상’ 행은 인기 작품을 모은 줄이고, 그 아래 ‘최근 본 동영상’ 행은 시청 이력에서 나온 줄입니다. 같은 화면에 나란히 있어도 위의 기묘한 이야기와 같은 속성으로 고른 작품이라는 표시는 없습니다.

팔란티어: 업무 대상과 관계 및 행동을 연결합니다

팔란티어는 Foundry의 Ontology 안내에서 실제 업무의 대상과 속성, 연결 관계를 표현하고 행동도 연결한다고 설명합니다. 가령 항공기, 엔진, 정비 기록을 연결해 두면 특정 엔진의 정비 이력을 바로 찾을 수 있습니다.

이 연결로 할 수 있는 일은 정비 이력 조회입니다. 고장 원인이나 다음 고장 시점을 판단하려면 데이터 연결과 권한, 이상을 판단하는 기준과 분석 기능이 더 필요합니다. 관계를 따라 조회하는 일은 일반 데이터베이스로도 할 수 있습니다.

책 목록에 관계를 적는 예

회사 자료실의 도서 목록처럼 엑셀 한 장에 책 정보가 모여 있다고 해 봅시다. 아래는 예시 자료입니다.

책 B001: 처음 배우는 사진, 저자 P001, 출간 연도 2024 책 B002: 주말 사진 산책, 저자 P001, 출간 연도 2025 책 B003: 밤의 사진, 저자 미확인, 출간 연도 2026 사람 P001: 민수

여기서는 ‘책’과 ‘사람’을 클래스로 정합니다. 책은 제목과 저자로 구별한 책 정보 한 건을 뜻하며, 같은 책을 두 권 샀을 때의 개별 소장본은 구분하지 않습니다. 각 책에서 사람으로 ‘저자’ 관계를 잇고, 출간 연도는 숫자 값으로 적습니다. B003은 제목에 사진이 들어가도 저자를 모르므로 민수와 잇지 않습니다.

책 목록에 관계와 값을 적는 순서

  1. 1. 클래스 정하기책, 사람
  2. 2. 번호 붙이기책 B001~B003
    사람 P001
  3. 3. 저자 관계 잇기B001, B002 → P001
  4. 4. 연도는 값으로2024, 2025, 2026
  5. 5. 모르는 저자는 비우기B003은 잇지 않음
    같은 저자 후보는 B002

‘B001과 같은 저자의 책’을 찾으면 B002가 나옵니다. 이것은 저자 관계를 따라 찾은 결과이고, 내용이나 분위기가 비슷하다는 판단과는 다릅니다.

관계에는 방향이 있습니다. 이 목록에서 ‘저자’는 책에서 사람으로 향하므로 ‘민수 → 저자 → 처음 배우는 사진’은 방향이 거꾸로입니다. 사람에서 책으로 잇고 싶다면 ‘썼다’처럼 그 방향에 맞는 관계를 따로 정의합니다.

B003의 저자 칸을 비워 둔 것은 저자가 없다는 뜻이 아니라 주어진 자료로는 누구인지 모른다는 뜻입니다. 나중에 저자가 P001로 밝혀지면 그때 연결을 추가하고, 같은 저자 후보는 B002와 B003 두 권이 됩니다.

자주 묻는 질문

온톨로지는 데이터베이스를 대체하나요?

데이터베이스는 정보를 저장하고 조회하는 데 쓰고, 온톨로지는 대상과 관계의 뜻을 정의하는 데 씁니다. 둘은 함께 씁니다. 데이터베이스에도 구조와 관계, 규칙을 둘 수 있으므로 추론을 온톨로지만의 기능으로 보지 않습니다.

모든 AI에 온톨로지가 필요한가요?

모든 AI 서비스에 명시적인 온톨로지가 필수인 것은 아닙니다. 여러 시스템의 용어를 맞추거나, 관계를 따라 정보를 찾고 정해진 규칙으로 추론할 때 쓸모가 큽니다. 그 경우에도 데이터의 품질과 AI 모델의 성능이 결과를 결정합니다.

처음부터 전부 정의해야 하나요?

답하고 싶은 질문 하나에서 시작합니다. 같은 저자의 다른 책을 찾는 것이 목적이라면 책, 사람, 저자 관계 세 가지만 정하면 됩니다. 그다음 실제 자료 몇 건을 넣어 뜻이 어긋나는 곳이 없는지 보고, 필요한 관계를 하나씩 늘립니다.

Share

이 글이 도움이 되었나요?

이 글 다음 배우기AI 업무 자동화 입문입문 코스 · 3편

메일, 회의록, 리포트처럼 반복되는 일을 AI로 자동화하는 순서와 안전장치를 다룹니다

  1. 1AI 업무 자동화 뜻과 규칙 자동화와 다른 점
  2. 2n8n 이해하기, 노드로 잇는 자동화와 셀프호스팅
  3. 3회의록 자동화, 녹음과 받아쓰기와 요약과 배포
코스 전체 보기 →
이어서 읽기 좋은 글애플 LensVLM-9B 이해하기: 긴 문서를 훑고 원문으로 확인하는 방법 →

LensVLM-9B는 애플이 2026년 9월 21일 허깅페이스에 공개한 94억 파라미터 비전 언어 모델입니다. 긴 글을 작은 이미지로 찍어 토큰을 줄인 뒤, 질문에 필요한 쪽만 골라 원문으로 다시 펼쳐 읽습니다. 작동 방식과 벤치마크, RAG와 견준 결과, 연구 목적으로만 쓸 수 있는 라이선스 조건을 모델 카드와 논문 기준으로 정리했습니다.