DOCS/ideas/250807_로빙_감정_시스템_설계도.md
happybell80 010d4f2508 감정 시스템 설계도에 시퀀스 다이어그램 및 플로우차트 추가
- 수학-임베딩-LLM 통합 파이프라인 시퀀스 다이어그램
- 기억 회상 메커니즘 시퀀스 다이어그램
- 베이지안 학습 플로우차트
- Mermaid 형식으로 시각화

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-08 01:18:29 +09:00

7.9 KiB
Raw Blame History

로빙 감정 시스템 설계도 - 함수형 + 베이지안 적응형

작성일: 2025-08-07 (2025-08-08 개정)
작성자: happybell80 & Claude
상태: 감정 임베딩 통합, 하드코딩 완전 제거

1. 핵심 철학

설계 원칙

  • 감정은 시공간의 엔트로피 변화다: 감정 벡터의 엔트로피가 증가하는 방향이 시간, 벡터 차원이 공간
  • 엔트로피 특이점을 포착한다: 시간이 흘러도 무질서해지지 않는 감정이 중요한 기억
  • 함수형 프로그래밍 100%: 순수 함수와 I/O 분리, 불변 데이터 구조
  • 베이지안으로 불확실성 관리: 모든 파라미터는 확률 분포로 표현되고 학습됨

2. 감정 상태 구조

2.1 기본 구조

  • VAD 3차원: Valence(쾌-불쾌), Arousal(활성화), Dominance(통제감)
  • 감정 임베딩: 768차원 벡터 (사전학습 모델 사용)
  • 엔트로피 궤적: 시간에 따른 엔트로피 변화 추적
  • 베이지안 파라미터: Beta, Gamma, Dirichlet 분포로 학습

2.2 감정 동역학

  • 감정 변화율 = α(흡수율) × 평가 - δ(감쇠율) × 현재감정
  • α와 δ는 Beta 분포에서 Thompson Sampling
  • 사용자 피드백으로 사후분포 업데이트

3. 감정 임베딩 활용

3.1 임베딩 획득

  • 사전학습 모델: EmoRoBERTa, GoEmotions BERT 등 활용
  • 도메인 파인튜닝: 로빙 대화 로그로 continual learning
  • 대조학습: 유사 감정은 가깝게, 반대 감정은 멀게

3.2 ChromaDB 통합

  • 저장 구조:

    • 감정 임베딩 벡터 (768차원)
    • VAD 값 (3차원)
    • 엔트로피 점수
    • 타임스탬프와 메타데이터
  • 검색 전략:

    1. 현재 감정 임베딩으로 top-k 코사인 유사도 검색
    2. 엔트로피 기반 중요도 필터링
    3. 시간 가중치 적용
    4. 베이지안 결합으로 최종 선택

3.3 임베딩 기반 클러스터링

  • DBSCAN으로 감정 클러스터 발견
  • 사용자별 감정 어트랙터 맵핑
  • 클러스터별 공감 전략 사전 계산

4. 수학-임베딩-LLM 통합 파이프라인

4.1 처리 흐름

  1. 엔트로피 이상 탐지: 시공간 엔트로피 변화율 계산
  2. 임베딩 유사도 계산: ChromaDB에서 근접 감정 검색
  3. LLM 의미 분석: 불확실성이 높을 때만 호출
  4. 베이지안 증거 결합: 세 가지 신호를 확률적으로 통합

4.2 시퀀스 다이어그램

sequenceDiagram
    participant User
    participant Pipeline
    participant Entropy
    participant ChromaDB
    participant LLM
    participant Bayesian
    participant Memory
    
    User->>Pipeline: 텍스트 입력
    Pipeline->>Entropy: 엔트로피 변화 계산
    Entropy-->>Pipeline: 특이점 점수 (m)
    
    Pipeline->>ChromaDB: 감정 임베딩 검색
    ChromaDB-->>Pipeline: 유사 감정 top-k
    Pipeline->>Pipeline: 임베딩 거리 계산 (e)
    
    alt 불확실성 높음
        Pipeline->>LLM: 의미 분석 요청
        LLM-->>Pipeline: 중요도 점수 (l)
    else 불확실성 낮음
        Pipeline->>Pipeline: LLM 스킵
    end
    
    Pipeline->>Bayesian: P(z=1|m,e,l) 계산
    Bayesian->>Bayesian: Thompson Sampling
    Bayesian-->>Pipeline: 저장 여부 결정
    
    alt 저장 결정 (z=1)
        Pipeline->>Memory: ChromaDB 저장
        Memory-->>Pipeline: 저장 완료
    else 무시 결정 (z=0)
        Pipeline->>Pipeline: 폐기
    end
    
    Pipeline-->>User: 감정 응답

4.2 중요도 결정 방식

  • 잠재 중요도 z ∈ {0,1}
  • 관측: m(엔트로피), e(임베딩 거리), l(LLM 점수)
  • 베이지안 추론으로 P(z=1|m,e,l) 계산
  • Thompson Sampling으로 저장/무시 결정

5. 베이지안 학습 시스템

5.1 파라미터 학습

  • 윈도우 크기: Poisson 분포, TD-Error 기반 적응
  • 가중치: Dirichlet 분포, 사용자 피드백으로 업데이트
  • 임계값: Beta 분포, 성능 지표로 조정

5.2 계층적 모델

  • 조직 레벨: 글로벌 사전분포
  • 팀 레벨: 팀별 특성 학습
  • 개인 레벨: 개인화된 사후분포

5.3 온라인 업데이트

  • 실시간 사후분포 갱신
  • 지연 피드백 처리 (backward update)
  • 불확실성 기반 탐색-활용 균형

5.4 학습 플로우

flowchart TD
    A[사용자 피드백] --> B{피드백 타입}
    B -->|명시적| C[즉시 업데이트]
    B -->|암묵적| D[증거 누적]
    
    C --> E[사후분포 계산]
    D --> F[신뢰도 가중치]
    F --> E
    
    E --> G{계층 레벨}
    G -->|개인| H[개인 파라미터 업데이트]
    G -->|팀| I[팀 사전분포 조정]
    G -->|조직| J[글로벌 사전분포 조정]
    
    H --> K[Thompson Sampling]
    I --> K
    J --> K
    
    K --> L[다음 행동 결정]

6. 감정-기억 통합

6.1 저장 결정

  • 엔트로피 특이점 검사
  • 임베딩 클러스터 거리
  • 베이지안 중요도 추론
  • Thompson Sampling으로 최종 결정

6.2 회상 메커니즘

  • 임베딩 기반 빠른 검색 (ChromaDB)
  • 엔트로피 가중 재순위화
  • MMR로 다양성 보장
  • 시간 감쇠 적용

6.3 기억 회상 시퀀스

sequenceDiagram
    participant Query as 현재 감정
    participant ChromaDB
    participant Filter as 필터링
    participant Ranking as 재순위화
    participant Response
    
    Query->>ChromaDB: 감정 임베딩 벡터
    ChromaDB->>ChromaDB: 코사인 유사도 검색
    ChromaDB-->>Filter: top-100 후보
    
    Filter->>Filter: 엔트로피 점수 확인
    Filter->>Filter: 시간 가중치 적용
    Filter-->>Ranking: 필터링된 후보 (20-30개)
    
    Ranking->>Ranking: MMR 다양성 계산
    Ranking->>Ranking: 베이지안 결합
    Ranking-->>Response: 최종 5-10개 기억
    
    Response-->>Query: 관련 기억 반환

7. 공감 시스템

7.1 전략 선택

  • 감정 임베딩 거리 계산
  • 전략별 효과성 (Beta 분포)
  • Thompson Sampling으로 전략 선택
  • 사용자 반응으로 업데이트

7.2 뉘앙스 감지

  • 표면 텍스트 vs 행동 신호
  • Hidden Markov Model로 잠재 감정 추론
  • 신뢰도 기반 결정

8. 성능 지표

8.1 임베딩 품질

  • Triplet Accuracy: 같은 감정이 임베딩 공간에서 가까운 비율
  • Retrieval NDCG@k: 관련 기억 검색 정확도
  • 클러스터 순도: 감정 클러스터의 일관성

8.2 시스템 성능

  • 엔트로피 감소율: 중요 순간 포착 능력
  • 베이지안 캘리브레이션: 확률 예측의 정확도
  • 적응 속도: 사용자별 수렴 시간

9. 구현 우선순위

Phase 1: 기초 구축

  • 감정 임베딩 모델 선택 및 통합
  • ChromaDB에 임베딩 저장 구조 구현
  • 기본 엔트로피 계산기

Phase 2: 통합 파이프라인

  • 수학-임베딩-LLM 3중 구조
  • 베이지안 증거 결합
  • Thompson Sampling 구현

Phase 3: 학습 시스템

  • 온라인 사후분포 업데이트
  • 계층적 베이지안 모델
  • 사용자별 개인화

Phase 4: 최적화

  • 임베딩 차원 축소 (필요시)
  • 추론 속도 개선
  • 메모리 효율화

10. 기술 스택

  • 임베딩 모델: Hugging Face Transformers
  • 벡터 DB: ChromaDB (이미 사용 중)
  • 베이지안 추론: Pyro (경량) 또는 TFP (대규모)
  • 함수형 구조: 순수 함수 + I/O 분리 패턴

11. 주요 결정 사항

  1. 임베딩 모델 선택:

    • 한국어 지원 여부
    • 모델 크기 vs 성능
    • 라이선스
  2. 임베딩 차원:

    • 768차원 그대로 vs PCA 축소
    • 저장 공간 vs 표현력
  3. 업데이트 주기:

    • 실시간 vs 배치
    • 리소스 vs 반응성

이 설계는 함수형 프로그래밍 원칙을 지키면서 베이지안 추론과 감정 임베딩을 통합한 적응형 시스템입니다. 하드코딩 없이 데이터에서 학습하며, 엔트로피 특이점을 포착해 중요한 감정을 기억합니다.