Spaces:
Sleeping
Sleeping
File size: 9,455 Bytes
114e351 3c25171 114e351 3c25171 114e351 3c25171 114e351 3c25171 114e351 3c25171 114e351 3c25171 114e351 3c25171 114e351 3c25171 114e351 3c25171 114e351 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 | # 놈팽쓰(NomPangS) 기술 명세서
## 1. 시스템 개요
### 1.1 핵심 기능
- **성격 생성**: 4개 입력값(온기, 능력, 외향성, 시간) → 151개 세부 성격 변수 자동 생성
- **유머 매트릭스**: 3차원 좌표계 기반 유머 스타일 정의 및 실시간 조정
- **매력적 결함**: AI 기반 오브젝트 분석 + 성격 조합으로 개성적 단점 생성
- **대화 추적**: 키워드 자동 추출, 관계 발전 단계 계산, 맥락 유지
### 1.2 실제 테스트 데이터 성능
```
test1 (뭉이씨): 3회 대화, 8.67자 평균, "첫_만남" 단계, 키워드 5개
test0 (커피포트): 30회 대화, 37.03자 평균, "친밀한_관계" 단계, 키워드 207개
```
### 1.3 구현 구조
```
nompang_test/
├── app.py # 메인 애플리케이션
├── modules/
│ ├── persona_generator.py # 성격 생성 + 유머 매트릭스
│ ├── image_analyzer.py # 이미지 분석
│ └── conversation_manager.py # 대화 관리
├── 뭉이씨_20250528_053729.json # 생성된 페르소나 데이터
└── conversation_history_*.json # 대화 기록 및 분석
```
### 1.4 데이터 플로우
1. **입력**: 사용자 설정(온기75, 능력68, 외향성82) + 이미지 업로드 + 시간선택
2. **처리**: 151개 변수 계산 + 3D 유머좌표 + 매력적결함 AI생성
3. **출력**: JSON 페르소나 + 실시간 대화 + 관계발전 추적
4. **학습**: 대화패턴 분석 → 유머스타일 조정 → 성격 미세조정
---
## 2. 주요 기능 상세
### 2.1 성격 생성 시스템
#### A. 사용자 입력 (4개 조정값)
```
온기: 0-100 (따뜻함 ↔ 차가움)
능력: 0-100 (유능함 ↔ 순수함)
외향성: 0-100 (활발함 ↔ 내성적)
함께한 시간: 새것/몇 개월/1년 이상
```
#### B. 시스템 자동 생성 (151개 세부 변수)
```python
# 예시: 온기 80 설정 시 자동 계산
"W01_친절함": 82, # 온기 기반 계산
"W02_친근함": 78, # 온기 + 개성 변동
"C15_배려심": 65, # 연관 효과
"E01_사교성": 88, # 외향성 연동
# 151개 변수 카테고리 분포:
# - 기본 온기-능력 차원: 26개 (W10+C16)
# - 빅5 성격 특성: 30개 (E6+A6+N6+O6+성실성6)
# - 매력적 결함: 15개 (F01~F15)
# - 모순적 특성: 16개 (P01~P16)
# - 소통 스타일: 20개 (S10+H10)
# - 관계 형성: 20개 (R10+D10)
# - 사물 특성: 24개 (OBJ8+FORM8+INT8)
```
### 2.2 유머 매트릭스
#### 3차원 좌표계
```
warmth_vs_wit: 따뜻한 유머 ↔ 지적 위트
self_vs_observational: 자기참조 ↔ 관찰형
subtle_vs_expressive: 미묘함 ↔ 과장됨
```
#### 파생 속성 자동 계산
```
풍자 수준 = (100 - 자기참조) × 0.7 + (100 - 따뜻함) × 0.3
부조리 수준 = 과장됨 × 0.8
말장난 빈도 = 지적위트 × 0.6 + 과장됨 × 0.4
```
### 2.3 매력적 결함 생성
#### 생성 과정
1. **이미지 분석**: 재질, 형태, 용도 파악
2. **성격 연계**: 151개 변수와 사물 특성 조합
3. **AI 생성**: Gemini API로 4개 결함 생성
4. **모순 추가**: 물리적 특성과 성격의 대조
#### 실제 예시 (전기 주전자 "뭉이씨")
```
매력적 결함:
- "물을 너무 빨리 끓여서 가끔 '벌컥'대는 모습이 창피해"
- "석회질 자국은 어쩔 수 없나 봐. 내 늙어감의 증거 같아"
모순적 특성:
- "차가운 금속 몸체로 뜨거운 물을 끓이는 아이러니"
```
### 2.4 대화 분석 시스템
#### 자동 추출 정보
```python
keywords = {
"word": {
"category": "음식/관계/취미/감정/기타",
"frequency": 언급 횟수,
"last_mentioned": "날짜"
}
}
user_profile = {
"message_count": 총 대화 횟수,
"avg_message_length": 평균 문자수,
"relationship_level": "첫_만남/알아가는_중/친숙함/친밀함",
"emotional_tendency": "중립적/긍정적/부정적"
}
```
---
## 3. 샘플 대화 분석
### 3.1 test1 - 뭉이씨 (초기 단계)
#### 대화 내용
```
사용자: "ㄴ"
뭉이씨: "ㄴ? ㅋㅋㅋ 무슨 'ㄴ'이야! 혹시 나 지금 글씨 연습시키는 거야?"
사용자: "에휴 너 좀 시끄럽구나?"
뭉이씨: "에헤이! 😅 시끄럽다니, 섭섭한걸?",
사용자: "너는 뭐야 소개해줘"
뭉이씨: "와! 😄 내가 누군지 궁금해? 뭉이라고 해! 전기 주전자인데, 좀 특별한 영혼이 깃든?"
```
#### 자동 생성된 분석 결과
```json
{
"message_count": 3,
"avg_message_length": 8.67,
"relationship_level": "첫_만남",
"keywords": ["에휴", "시끄럽구나", "너는", "뭐야", "소개해줘"],
"emotional_tendency": "중립적"
}
```
### 3.2 test0 - 커피포트 (발전된 단계)
#### 30회 대화 후 결과
```json
{
"message_count": 30,
"avg_message_length": 37.03,
"relationship_level": "친밀한_관계",
"keywords_count": 207개,
"주요_키워드": {
"커피": 5회,
"차": 3회,
"친구": 2회,
"사회화": 2회
}
}
```
#### 관계 발전 과정
```
1-10회: 기본 기능 중심 ("커피 타왔음", "청소꿀팁")
11-20회: 개인 가치관 공유 ("사회화되기 싫어서 노력했는데")
21-30회: 깊은 고민 토로 ("밍밍하게 사려고 노력하는데 영 재미가 없네")
```
### 3.3 유머 스타일 적응 사례
#### 실시간 조정 과정
```
대화 7회차:
사용자: "쿨시크를 좋아하지"
→ 시스템: 과장된 유머 → 쿨한 스타일로 즉시 조정
대화 9회차:
사용자: "솔직한게 좋아"
→ 시스템: 필터링된 표현 → 직설적 스타일로 전환
```
---
## 4. JSON 데이터 확인 방법
### 4.1 페르소나 정보 확인
```json
// 뭉이씨_20250528_053729.json
{
"성격특성": {
"온기": 75, // 사용자 설정값
"능력": 68,
"외향성": 82
},
"성격변수151": {
"W01_친절함": 78, // 자동 계산된 세부 성격
"H01_유머감각": 75,
// ... 총 151개
},
"유머매트릭스": {
"warmth_vs_wit": 45.925, // 유머 스타일 좌표
"sarcasm_level": 45.9725 // 풍자 수준
}
}
```
### 4.2 대화 기록 확인
```json
// conversation_history_20250528_053814.json
{
"conversations": [
{
"user_message": "에휴 너 좀 시끄럽구나?",
"ai_response": "에헤이! 😅 시끄럽다니, 섭섭한걸?",
"keywords": ["에휴", "시끄럽구나"],
"sentiment": "중립적"
}
],
"user_profile": {
"relationship_level": "첫_만남", // 자동 계산된 관계 단계
"message_count": 3
}
}
```
---
## 5. 추후 활용 방향
### 5.1 현재 시스템의 한계
```
단순 지표:
- 대화 횟수만으로 관계 판단
- 키워드 단순 매칭
- 고정된 성격 변수
기능 한계:
- 유머 매트릭스 값이 실시간 변경되지 않음
- 시간 요소가 151개 변수에 직접 반영되지 않음
```
### 5.2 발전 방향
#### A. 다차원 관계 점수 시스템
```python
관계_점수 = {
"물리적_상호작용": {
"QR_스캔_횟수": 0,
"앱_사용_시간": 0,
"연속_접속_일수": 0
},
"대화_품질": {
"깊은_대화_점수": AI_분석_기반,
"감정_공유_빈도": 감정_키워드_빈도,
"개인정보_공유": 사적_정보_수준
},
"지속성": {
"주간_접속_빈도": 0,
"월간_활동_점수": 0
}
}
```
#### B. 키워드 분석 고도화
```python
# 현재: 단순 매칭
"커피" → "음식" 카테고리
# 목표: 의미 단위 분석
"스트레스 받을 때 커피 마셔" → {
"상황": "스트레스",
"행동": "커피",
"의미": "스트레스_해소_방법",
"감정": "부정적_상황_대처"
}
```
#### C. 게이미피케이션 확장
```python
관계_레벨링 = {
1: "첫_만남" (0-100점),
5: "친근한_사이" (500점),
10: "절친" (2000점),
20: "가족_같은_사이" (10000점)
}
점수_획득_방법 = {
"QR_스캔": 50점,
"깊은_대화": 100점,
"연속_접속": 20점/일,
"감정_공유": 80점
}
```
### 5.3 실제 서비스 확장
#### IoT 연동
```
스마트홈: 조명 + AI 페르소나
자동차: 운전 패턴 + 대화 동반자
웨어러블: 생체 신호 + 감정 상태 반영
```
#### B2B 활용
```
의료: 복약 관리 + 정서적 지지
교육: 학습 동기 + 개인화 교육
마케팅: 브랜드 스토리텔링
```
---
## 6. 구현 우선순위
### 단기 (3개월)
1. **시간 변수 통합**: 함께한 시간을 151개 변수에 직접 반영
2. **실시간 유머 조정**: 대화 피드백으로 매트릭스 값 업데이트
3. **키워드 significance**: 빈도+카테고리+맥락 종합 점수
### 중기 (6개월)
1. **다차원 관계 시스템**: 물리적+대화+지속성 종합 점수
2. **AI 의미 분석**: 문장 임베딩 기반 키워드 추출
3. **동적 성격 진화**: 대화 패턴 기반 성격 미세 조정
### 장기 (12개월)
1. **IoT 연동**: 실제 기기와 페르소나 융합
2. **멀티모달**: 음성, 이미지 입력 처리
3. **B2B 확장**: 의료, 교육, 마케팅 솔루션
---
**현재 허깅페이스 앱**: [nompang_test](https://huggingface.co/spaces/username/nompang_test)
**테스트 데이터**: test0 (30회 대화), test1 (3회 대화)
**핵심 파일**: app.py, modules/persona_generator.py
|