메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

온톨로지 와 예시

데브카페

온톨로지(Ontology)를 쉽게 설명해드리겠습니다.

    1. 온톨로지란?
    • “어떤 분야의 지식을 체계적으로 정리한 개념 구조”**입니다. 쉽게 말해, 사물과 개념들 사이의 관계를 명확하게 정의한 일종의 “지식 지도”라고 보시면 됩니다.
    1. 실생활 예시: 병원 온톨로지

``` [사람]

 ├─ [환자]
 │   ├─ 입원환자
 │   └─ 외래환자
 │
 └─ [의료진]
     ├─ [의사]
     │   ├─ 전문의
     │   └─ 레지던트
     └─ [간호사]
         ├─ 수간호사
         └─ 일반간호사

[관계 정의] - 의사 "진료한다" 환자 - 간호사 "돌본다" 환자 - 환자 "가지고있다" 질병 - 의사 "처방한다" 약물 ```

    1. Oracle DBA 업무로 보는 예시

데이터베이스 온톨로지를 만든다면:

``` [데이터베이스 객체]

 ├─ [테이블]
 │   ├─ 파티션 테이블
 │   └─ 일반 테이블
 │
 ├─ [인덱스]
 │   ├─ B-Tree 인덱스
 │   ├─ Bitmap 인덱스
 │   └─ Function-Based 인덱스
 │
 └─ [세그먼트]

[관계] - 테이블 "포함한다" 컬럼 - 인덱스 "참조한다" 테이블 - 테이블스페이스 "저장한다" 세그먼트 - DBA "관리한다" 데이터베이스 ```

    1. 온톨로지 vs 일반 분류의 차이
    • 일반 폴더 구조** (단순 분류):

``` /동물

 /고양이
 /개

```

    • 온톨로지** (관계까지 정의):

``` 동물

 - 포유류
   - 고양이 [특징: 육식, 4개 다리, 털 있음]
     관계: "잡아먹는다" → 쥐
     관계: "기른다" ← 사람
   - 개 [특징: 잡식, 4개 다리, 털 있음]
     관계: "사냥한다" → 작은동물
     관계: "기른다" ← 사람

```

    1. 실제 활용 예시
    • 1. 검색 엔진**

- 사용자가 “감기약” 검색 → 온톨로지를 통해 “해열제”, “진통제”, “종합감기약”도 함께 제안

    • 2. 의료 시스템**

``` 환자 증상: "기침, 열" 온톨로지 추론:

 → 호흡기 질환 가능성
 → 관련 검사: 흉부 X-ray, 혈액검사
 → 처방 가능 약물: 해열제, 진해거담제

```

    • 3. 쇼핑몰 추천**

``` 고객이 "노트북" 구매 온톨로지 관계:

 → "필요하다" 노트북 가방
 → "호환된다" 무선 마우스
 → "함께 쓰인다" 모니터

```

    1. Python으로 간단한 온톨로지 표현

```python

  1. 간단한 온톨로지 구조

ontology = {

   "테이블": {
       "부모": "데이터베이스객체",
       "속성": ["컬럼", "제약조건", "트리거"],
       "관계": {
           "포함한다": ["컬럼", "인덱스"],
           "저장된다": "테이블스페이스"
       }
   },
   "인덱스": {
       "부모": "데이터베이스객체",
       "관계": {
           "참조한다": "테이블",
           "개선한다": "쿼리성능"
       }
   }

} ```

    • 핵심 포인트**: 온톨로지는 단순히 “분류”만 하는 게 아니라 **“개념들 간의 관계와 규칙”**까지 명확히 정의한다는 점이 중요합니다. 이를 통해 컴퓨터가 지식을 이해하고 추론할 수 있게 됩니다.​​​​​​​​​​​​​​​​

Comments