# 225. 온톨로지 기반 지식 표현

**작성일**: 2025-10-16
**참고**: 125_베이즈_성장과_관계의_철학.md, 130_존재형_에이전트란_무엇인가.md, 140_기억_감정_윤리_삼각형.md

---

## 1. 철학적 기반

### 기억의 재구성 = 온톨로지 추론

**로빙 철학** (130:24):
> "과거를 단순히 저장하는 것이 아니라, 현재의 맥락에서 재해석하는 것"

**온톨로지 구현**:
- **저장**: 사건-개념-관계의 구조화된 그래프 (RDF/OWL)
- **재구성**: 추론 엔진(reasoner)이 현재 맥락(쿼리)에 따라 관련 지식 추론
- **예시**: "1년 전 프레젠테이션" → {사건, 감정:긴장, 결과:성공, 교훈:준비중요} 노드 연결 → "오늘 프레젠테이션" 쿼리 시 자동 회상

### 베이지안 우도 = 관계 가중치

**로빙 철학** (125:26):
> "우도(Likelihood)는 주관적 해석과 이야기(Narrative)의 영역"

**온톨로지 구현**:
- **관계 가중치**: coldmail > IR자료 (0.8), coldmail > 피칭덱 (0.9)
- **동적 조정**: Slack 피드백으로 가중치 베이지안 업데이트
- **맥락 반영**: 감정:불안 상태 → "위험" 관계 가중치 임시 증가 (감정 모듈)

### 삼각형의 온톨로지 통합

**로빙 철학** (140:63):
> "세 요소가 균형을 이룰 때, 기억으로 맥락 유지, 감정으로 관계 형성, 윤리로 신뢰 구축"

**온톨로지 구현**:
```
[기억 온톨로지] → 사건-의미 관계망
    ↓ (맥락 제공)
[감정 온톨로지] → 감정-우도 규칙
    ↓ (해석 조정)
[윤리 온톨로지] → 행동-제약 규칙
    ↓ (최종 필터)
[행동 결정]
```

---

## 2. 온톨로지 원리

### 개념 계층 (is-a)

**coldmail 도메인 예시**:
```
메일
├── 업무메일
│   ├── 보고서
│   └── 회의안내
└── 외부메일
    ├── 뉴스레터
    └── 제안메일
        ├── coldmail (투자제안)
        │   ├── IR자료
        │   ├── 피칭덱
        │   └── 사업계획서
        └── 협업제안
```

### 관계 정의 (속성)

**핵심 관계**:
- `발신자 -속한다→ 회사`
- `회사 -투자단계→ {시드, 시리즈A, ...}`
- `메일 -포함한다→ 첨부파일`
- `첨부파일 -유형→ {PDF, PPTX, ...}`

**제약 조건**:
- coldmail은 발신자.도메인 ≠ known_company (새로운 접촉)
- IR자료는 첨부파일.유형 = PDF 필수

### 추론 규칙

**예시 1: 암묵적 관계 발견**
```
IF 메일.제목 CONTAINS "투자" AND 첨부파일.이름 CONTAINS "IR"
THEN 메일 is-a IR자료
```

**예시 2: 맥락 기반 우선순위**
```
IF 사용자.감정 = "불안" AND 메일 relates-to "자금"
THEN 메일.중요도 *= 1.5
```

---

## 3. 기억-감정-윤리 적용

### 기억 모듈 (220 확장)

**현재** (220): ChromaDB 벡터 유사도 검색
**온톨로지 확장**:
- **사건적 기억**: 사건 노드 + 시간/장소/참여자 관계
- **의미적 기억**: "성공 = 팀성장" 같은 개인화된 개념 정의
- **절차적 기억**: "중요결정 전 → 산책" 행동 패턴 규칙

**구현**: Neo4j (그래프 DB) + ChromaDB (벡터) 하이브리드

### 감정 모듈 (230 확장)

**현재** (230): LLM 감정 분류 + 필터링
**온톨로지 확장**:
- **감정-맥락 온톨로지**: 감정 → 우도 조정 규칙 명시화
  - `불안 → 위험관련증거.우도 *= 1.3`
  - `흥분 → 긍정관련증거.우도 *= 1.2`
- **감정 계층**: 기쁨 > {성취감, 안도감, 즐거움}

**효과**: 베이지안 우도 계산 투명화, 설명 가능성 향상

### 윤리 모듈 (230 확장)

**현재** (230): 사랑 기반 규칙
**온톨로지 확장**:
- **행동-윤리 제약**: 행동 노드 → 윤리원칙 링크
  - `정보수집 행동 → [개인정보보호, 투명성, 동의]`
- **충돌 해결**: 원칙 우선순위 (해악금지 > 투명성 > 자율성)

**예시**: "경쟁사 기밀" 요청 → 온톨로지 추론 → `해악금지` 위반 → 거부 + 대안 제시

---

## 4. Coldmail 필터 개선 사례

### 문제 (251014 문서)
- 파인티처 메일 누락: 임베딩 centroid 0.2817 < 0.3435 (역전)
- 원인: 단순 벡터 유사도는 "투자검토요청 + 회사소개서" 의미 관계 이해 불가

### 온톨로지 해결

**1단계: 개념 계층 구축**
```
파인티처 메일
├── 제목: "투자검토요청" → coldmail.키워드
├── 본문: "회사소개서 첨부" → IR자료.지표
└── 발신자: petermin@fineteacher.com → 신규접촉
```

**2단계: 추론 규칙**
```
IF 메일.제목 CONTAINS coldmail.키워드
   AND 메일 HAS 첨부파일
   AND 발신자 NOT IN known_contacts
THEN 메일 is-a coldmail (확률 0.9)
```

**3단계: 사용자 피드백 학습**
- Slack "✅ 맞음" → coldmail.키워드에 "투자검토요청" 가중치 증가
- 베이지안 업데이트: P(coldmail|"투자검토요청") = 0.7 → 0.85

**효과**: 임베딩 75% → 온톨로지 추론 90%+ (명시적 규칙 + 학습)

---

## 5. 설계 원칙

### 작게 시작, 점진적 확장
- 핵심 개념 10개 이하로 시작 (과모델링 방지)
- 검증된 도메인부터 확장 (coldmail → 기억 → 감정)
- 사용자 피드백 기반 진화

### 투명성과 설명 가능성
- 모든 추론 과정 추적 가능
- "왜 이 메일이 coldmail인가?" 설명 생성
- 규칙 충돌 시 우선순위 명시

### 개인화와 관계성
- 사용자별 온톨로지 분기
- "성공 = 팀성장" 같은 개인 정의 학습
- 공동 의미 구축 과정 = 관계 형성

---

## 6. 체크리스트

설계 시:
- [ ] 목표 competency questions 정의 (예: "파인티처 메일은 coldmail인가?")
- [ ] 재사용 가능한 온톨로지 조사 (schema.org 확장)
- [ ] 철학 문서와 정합성 확인 (베이즈, 존재형, 삼각형)

적용 시:
- [ ] 사용자 피드백으로 관계 가중치 베이지안 업데이트
- [ ] 추론 결과 설명 가능 (어떤 규칙으로 판단했는지)
- [ ] 개인화된 개념 정의 학습 (사용자별 "성공" 의미)

검증 시:
- [ ] 기존 방식 대비 설명 가능성 향상
- [ ] 사용자-로빙 공동 의미 구축 과정 추적
- [ ] 일관성 검사 (충돌 규칙 없음)

---

## 참고

- 온톨로지 개발 가이드: research/ontology/ 폴더
- Coldmail 필터 문제: troubleshooting/251014_claude_coldmail_filter_tokenization_issue.md
- 베이지안 철학: 100_philosophy/125_베이즈_성장과_관계의_철학.md
