93 lines
2.5 KiB
Markdown
93 lines
2.5 KiB
Markdown
# 온톨로지 기반 Coldmail 필터 구현 계획
|
|
|
|
**날짜**: 2025-10-16
|
|
**목표**: 임베딩 한계(파인티처 메일 누락)를 온톨로지 추론으로 해결
|
|
|
|
---
|
|
|
|
## Phase 1: Coldmail 온톨로지 (미착수)
|
|
|
|
### 개념 계층
|
|
```
|
|
메일
|
|
└── 외부메일
|
|
└── 제안메일
|
|
└── coldmail (투자제안)
|
|
├── IR자료
|
|
├── 피칭덱
|
|
└── 사업계획서
|
|
```
|
|
|
|
### 추론 규칙 (10개)
|
|
|
|
**Coldmail 판정 (6개)**:
|
|
1. 제목 CONTAINS ["투자", "IR", "피칭"] + PDF 첨부 → 0.9
|
|
2. 첨부파일명 CONTAINS ["회사소개서", "IR_Deck"] → 0.85
|
|
3. 제목 "검토요청" + 첨부 → 0.8
|
|
4. 미등록 발신자 + PDF → 0.7
|
|
5. 본문 CONTAINS ["투자 유치", "펀딩", "밸류에이션"] → 0.75
|
|
6. 발신자 도메인 IN ["startup", "ventures", "capital"] → 0.6
|
|
|
|
**Normal 판정 (4개)**:
|
|
7. 제목 CONTAINS ["행사", "초대", "세미나"] → 0.9
|
|
8. 제목 CONTAINS ["영수증", "세금계산서"] → 0.95
|
|
9. 제목 CONTAINS ["회의", "공지", "보고"] → 0.85
|
|
10. 등록 발신자 + 규칙 1-6 미해당 → 0.8
|
|
|
|
### 구현 필요
|
|
|
|
**파일**: `rb8001/app/services/coldmail_ontology_reasoner.py`
|
|
- 규칙 엔진 구현
|
|
- 임베딩 분류(현재 75%) + 온톨로지 추론 → 90%+ 목표
|
|
- Threshold: 0.7 이상 확정, 0.4-0.7은 LLM fallback
|
|
|
|
**검증**:
|
|
- 파인티처 메일: coldmail 0.9+ (현재 0.28)
|
|
- 기존 17건 재테스트: 정확도 90%+
|
|
|
|
---
|
|
|
|
## Phase 2: Neo4j 기억 시스템 (미착수)
|
|
|
|
### 인프라
|
|
|
|
**Neo4j 설치 완료** (51123 서버):
|
|
- 버전: 2025.06.2 Community
|
|
- Bolt: neo4j://192.168.219.45:7687
|
|
- HTTP: http://192.168.219.45:7474
|
|
|
|
### 스키마 설계
|
|
|
|
```
|
|
(:User)-[:SENDS]->(:Email)-[:CONTAINS]->(:Attachment)
|
|
(:Email)-[:CLASSIFIED_AS]->(:Category {name:"coldmail"})
|
|
(:Email)-[:HAS_EMOTION]->(:Emotion {type:"fear", confidence:0.8})
|
|
```
|
|
|
|
### 쿼리 예시
|
|
```cypher
|
|
// 투자 제안 이메일 중 긍정적 감정 메일 찾기
|
|
MATCH (u:User)-[:SENDS]->(e:Email)-[:CLASSIFIED_AS]->(:Category {name:"coldmail"})
|
|
WHERE e.emotion IN ["happiness", "neutral"]
|
|
RETURN e.subject, e.sender, e.timestamp
|
|
```
|
|
|
|
---
|
|
|
|
## Phase 3: 감정-기억-윤리 삼각형 (미착수)
|
|
|
|
### 통합 설계
|
|
- 감정 분석 → 기억 검색 → 윤리 제약 → 응답 생성
|
|
- Neo4j에 감정 이력 저장
|
|
- 패턴 분석 (우울증 조기 감지)
|
|
|
|
**예상 기간**: 3-4개월
|
|
|
|
---
|
|
|
|
## 참고
|
|
|
|
- `book/200_core_design/225_온톨로지_기반_지식_표현.md`
|
|
- `troubleshooting/250815_emotion_model_training.md`
|
|
- `troubleshooting/251016_emotion_ontology_basic.md`
|