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