"1분반-0x66"의 두 판 사이의 차이

cdc wiki
이동: 둘러보기, 검색
(상세설계 내용)
(특허 출원 내용)
173번째 줄: 173번째 줄:
  
 
===특허 출원 내용===
 
===특허 출원 내용===
내용
+
비정형 감성 데이터의 정형화 로직, 벡터 유사도 검색 경로의 독립성, 멀티 페르소나 기반 동적 프롬프트, 심리학 RAG 브릿지 구조(3단계 파이프라인)를 단일 청구항으로 출원하는 전략을 수립하였다.

2026년 6월 18일 (목) 17:53 판

프로젝트 개요

기술개발 과제

국문 : 감정 기반 공감 대화 & 장소 추천 서비스

영문 : Emotion-based Empathetic communication and Place Recommendation Service

과제 팀명

0x66

지도교수

유하진 교수님

개발기간

2026년 3월 ~ 2026년 6월 (총 3개월)

구성원 소개

서울시립대학교 컴퓨터과학부 2022920020 김현수(팀장)

서울시립대학교 컴퓨터과학부 2023920009 김강현

서울시립대학교 컴퓨터과학부 2023920025 서형근

서울시립대학교 컴퓨터과학부 2023920063 황수진

서론

개발 과제의 개요

개발 과제 요약

본 프로젝트는 사용자의 복합적인 감정 상태를 정교하게 분석하여 최적의 장소를 추천하는 'AI 멀티 페르소나 기반 감성 장소 추천 서비스'를 개발하는 것이다. 사용자는 본인의 선호에 따라 다양한 AI 페르소나를 선택하여 실시간 공감 대화를 진행하며, 시스템은 Plutchik의 8가지 기본 감정 체계와 Gross의 감정 조절 모델 등 공신력 있는 심리학 이론에 기반하여 사용자의 감정에 최적화된 장소를 추천한다. 3단계 파이프라인(① Plutchik 8감정 스코어 추출, ② 심리학 RAG 기반 환경 니즈 도출, ③ 하이브리드 장소 매칭(PostgreSQL + Chroma))을 통해 '왜 이 장소를 추천하는가'에 대한 심리학적 근거가 존재하는 설명 가능한 추천(Explainable Recommendation)을 구현한다.

개발 과제의 배경

현대인은 정보 과잉으로 인한 선택 피로(Decision Fatigue)에 노출되어 있으며, 일상의 스트레스와 감정적 소비 욕구를 동시에 해소할 수 있는 새로운 형태의 추천 서비스가 요구되는 시점이다. 그러나 시중의 장소 검색 서비스(네이버 지도, 카카오맵 등)는 '맛집', '카페', '공원' 등 목적 지향적 검색에 최적화되어 있을 뿐, "외로운 날 혼자 가기 좋은 조용한 곳"과 같은 추상적·감성적 니즈에는 대응하지 못한다. 이에 우리는 사용자의 감정을 먼저 수용하고 자연스럽게 장소 추천으로 이어지는 대화형 AI 추천 서비스의 필요성을 인식하였다. 본 서비스는 LLM 기반 페르소나 대화를 통한 정서적 케어, Plutchik 8감정 체계를 활용한 정량적 감정 분석, 심리학 이론에 근거한 환경 처방, 벡터 데이터베이스 기반 시맨틱 장소 매칭을 통합하여 감성과 실용성을 모두 고려한 사용자 경험을 제공한다.

개발 과제의 목표 및 내용

본 서비스의 주요 개발 목표는 LLM의 추론 능력과 벡터 데이터베이스의 의미론적 검색 기술을 결합하여, 사용자의 실시간 감정 상태에 최적화된 장소를 추천하는 '멀티 페르소나 기반 공감 대화 및 장소 추천 서비스'를 완본 형태로 구현하는 것이다. 구체적 기능은 다음과 같다.

1. 멀티 페르소나 대화 엔진 — '의리 있는 조폭 동생', '냉철한 논리 로봇', '푸근한 할멈' 등 3종 이상의 AI 페르소나 제공, 페르소나별 시스템 프롬프트로 어투·성격·금칙어 일관성 유지, SSE 스트리밍을 통한 토큰 단위 실시간 응답(첫 토큰 ≤ 3초)

2. Plutchik 8감정 분석 모듈 — 누적 대화 텍스트로부터 8가지 기본 감정(joy/trust/fear/surprise/sadness/disgust/anger/anticipation) 강도를 0.0~1.0 JSON으로 추출, JSON 강제 출력 + Pydantic 스키마 검증으로 파싱 안정성 확보

3. 심리학 RAG 환경 처방 모듈 — Plutchik(1980), Gross(2015), Behavioral Activation, ART, SRT, Comfort Food, Social Eating 등 6개 심리학 이론을 Chroma psych_embeddings 컬렉션에 임베딩, 8감정 벡터를 입력으로 RAG 검색하여 환경 니즈 쿼리와 추천 근거 자동 생성

4. 하이브리드 장소 매칭 엔진 — Stage 1: 환경 니즈 쿼리를 1536차원 벡터로 임베딩하여 Chroma place_embeddings에서 코사인 유사도 검색(상위 10개) / Stage 2: PostgreSQL place 테이블에서 GPS 반경 5km·영업시간·동행 인원 등 메타필터 적용(최종 3~5개)

5. 추천 UI 및 시각화 — 사진·이름·거리·평점·심리학 근거가 포함된 카드 UI 컴포넌트, Naver Map API 연동 인라인 지도 위젯, 페르소나 어투로 변환된 추천 사유 자동 생성

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

  • 전 세계적인 기술현황

LLM 기반 대화형 추천과 RAG(검색 증강 생성) 기술이 빠르게 발전하고 있으나, 대부분 사실 기반 질의응답(Fact-based QA)에 집중되어 있다. 감성 컴퓨팅 분야에서 Plutchik 감정 휠 등 심리학 이론을 정량 벡터로 모델링하는 연구가 진행되고 있으나, 이를 실제 장소 추천 서비스와 통합한 사례는 드물다.

  • 특허조사 및 특허 전략 분석

1. 유사 특허: 카카오뱅크 '언어 모델을 이용한 대화형 추천 방법 및 이를 수행하는 컴퓨팅 장치'(2023). LLM이 사용자 질의를 분석하여 DB 조회용 구조화 명령문을 생성하고, 추출된 응답 테이블로 답변을 생성한다.

2. 기술적 접점: 본 과제도 LLM이 대화에서 중간 형태의 구조화 데이터(JSON)를 추출하여 외부 DB를 검색하는 RAG 아키텍처를 공유한다.

3. 차별적 요소: 기존 특허는 사실 기반 질의와 정형 데이터 매칭에 집중하나, 본 과제는 추상적 감성 수치(Plutchik 8감정 벡터)와 장소의 감성 메타데이터를 매칭하며 심리학 RAG가 논리적 브릿지 역할을 한다.

4. 특허 전략: 비정형 감성 데이터의 정형화 로직 차별화, 벡터 유사도 검색 경로의 독립성, 멀티 페르소나 동적 프롬프트 기술 보호, 심리학 RAG 브릿지 구조의 권리화(3단계 파이프라인 단일 청구항 출원).

  • 기술 로드맵

내용

시장상황에 대한 분석

  • 경쟁제품 조사 비교

1. 네이버 지도/카카오맵: 별점·리뷰 수·거리 중심의 정량 검색에 최적화. 사용자의 심리적 맥락은 반영하지 못함

2. ChatGPT/Gemini: 범용 LLM 대화는 가능하나 페르소나 고정·감정 벡터 추출·장소 메타데이터와의 의미론적 매칭을 통합한 파이프라인 부재

3. 기존 감성 일기/상담 앱(마이모리, 답다, 마인디): 채팅형 일기 또는 감정 분류는 가능하나 장소 추천과의 통합 부재

  • 마케팅 전략 제시

1. MZ세대 감성 소비 트렌드 공략: '감성 힐링 앱' 포지셔닝으로 초기 사용자층 확보, SNS 바이럴 마케팅 + 페르소나 캐릭터 IP 활용

2. Cold Start 문제 완화: 공공데이터(TourAPI) 선제 구축으로 초기 데이터 부족 해소

3. LLM 비용 변동성 대응: 모크 선개발 + 토큰 최적화 + 국산 LLM 병행으로 의존도 분산

4. 대형 플랫폼과의 직접 경쟁 회피: '감성 전문 장소 추천' 세부 카테고리 선점 및 브랜드 록인 강화

5. 개인정보 최소 수집 원칙 적용: 감정 데이터 로컬 처리 우선, 차분 프라이버시 적용 검토

개발과제의 기대효과

기술적 기대효과

1. 감성 인식 파이프라인의 표준화 기여: '비정형 대화 → 다차원 감성 벡터 → 의미론적 장소 매칭' 통합 파이프라인은 기존 키워드 기반 추천의 한계를 극복하는 새로운 기술 모델을 제시한다.

2. RAG 아키텍처의 감성 도메인 확장: 추상적 감성 메타데이터를 벡터 DB에 저장하고 코사인 유사도로 검색하는 '감성형 RAG' 모델로 검색 증강 생성 기술의 응용 범위를 심리·감성 도메인으로 확장한다.

3. 멀티 페르소나 동적 프롬프트 엔지니어링 기술 확보: 단일 LLM으로 다양한 사용자 경험을 구현할 수 있음을 실증하여 챗봇·교육용 AI 튜터·고객 서비스 에이전트 등에 적용 가능하다.

4. 설명 가능한 추천(XAI) 모델의 실증: '8감정 수치화 → 경험 처방 → 장소 매칭' 단계마다 '왜'에 대한 근거가 존재하는 추천 체인을 구현하여 XAI 연구에 실질적 사례를 제공한다.

경제적, 사회적 기대 및 파급효과

1. 신규 카테고리 선점을 통한 시장 창출: 감성·심리 맥락 기반 장소 추천은 아직 독립 카테고리로 형성되지 않은 블루오션으로, 프리미엄 구독형 서비스·지역 상권 광고·관광 공공기관 B2G 데이터 공급 등 다층 수익 구조 구축이 가능하다.

2. 지역 소상공인 및 관광 산업 활성화: 공공데이터 기반 장소 DB로 대형 프랜차이즈 중심 추천에서 소외된 지역 소상공인·로컬 명소의 노출 기회를 확대하고, 감성 매칭으로 실제 방문 전환율을 높인다.

3. 사회적 감성 케어 인프라로의 확장: 전문 심리 상담의 문턱을 낮추는 '일상적 감성 케어 플랫폼'으로 기능하며, 멘탈헬스 케어·노인 정서 지원·청소년 스트레스 관리 등 공공 서비스 모델로 확장 가능하다.

4. MZ세대 감성 소비 트렌드 부합: 페르소나 캐릭터 IP 바이럴 마케팅과 결합해 초기 사용자층을 신속히 확보하고, 여행·숙박 플랫폼 제휴 및 데이터 공급으로 B2B 매출 확대를 기대할 수 있다.

기술개발 일정 및 추진체계

개발 일정

내용

구성원 및 추진체계

1. 김현수 (팀장): 프로젝트 전체 일정·진척도 총괄. 데이터 인프라 구축 주도, TourAPI 등 공공 데이터 및 외부 API 연동, Vector DB 인덱싱 전략 수립

2. 김강현: 프론트엔드 개발 및 UI/UX 설계. Flutter 채팅·지도·카드 위젯 구현, SSE 스트리밍 LLM 데이터 시각화, 지도 기반 하이브리드 서비스 환경 구현

3. 황수진: 백엔드 아키텍처 설계 및 서버 개발. LLM 인퍼런스 파이프라인 구축, 대화 맥락에서 정형 파라미터 추출 및 추천 로직 연결, AWS 배포

4. 서형근: 백엔드 아키텍처 설계 및 서비스 품질 검증. 백엔드 설계 진행, Golden Set 데이터셋 구축 및 시스템 검증

설계

설계사양

제품의 요구사항

내용

설계 사양

거시적 기능을 F1(페르소나 대화)~F4(하이브리드 매칭)로 분할하고, 각 기능에 대해 페르소나 시스템 프롬프트(정체성·어투·금칙어·컨셉 유지·Few-shot), JSON Mode + Pydantic 검증, 심리학 RAG, Chroma 시맨틱 검색 + PostgreSQL 메타필터의 설계 사양을 정의했다. 설계사양 변수 중요도 계수를 부여하여 우선순위를 관리한다.

개념설계안

핵심 아이디어는 "Vector DB + RDB 하이브리드 장소 매칭"이다. 환경 니즈 쿼리를 임베딩하여 Chroma place_embeddings에서 코사인 유사도 검색(Stage 1)을 수행한 후, PostgreSQL에서 GPS·영업시간·동행 인원 등 정형 제약을 메타필터링(Stage 2)하여 최종 3~5개 장소를 추출한다. Chroma HNSW 인덱스로 O(log N) 시맨틱 검색, PostgreSQL GiST(GPS) + B-tree(영업시간) 인덱스로 빠른 메타필터링을 수행한다.

액티비티 다이어그램은 페르소나 선택·세션 시작 후 사용자 메시지 입력 → LLM SSE 스트리밍 응답 → 대화 히스토리 누적의 순환 루프를 거쳐, '추천 시점 도달' 분기에서 3단계 추천 파이프라인(Stage 1 감정 분석 → Stage 2 환경 니즈 도출 → Stage 3 하이브리드 매칭)이 실행되고 카드 UI·지도 위젯 렌더링으로 종료되는 흐름을 표현한다. 시퀀스 다이어그램은 7개 라이프라인(사용자, 클라이언트 UI, 백엔드 서버, F1~F4) 사이의 메시지 흐름을 6단계로 표현한다.

이론적 계산 및 시뮬레이션

1. 페르소나 시스템 프롬프트: [정체성]·[어투 규칙]·[금칙어]·[컨셉 유지 지침]·[Few-shot 예시] 5개 블록 구조

2. Plutchik 8감정 벡터 모델: e = (e_joy, e_trust, e_fear, e_surprise, e_sadness, e_disgust, e_anger, e_anticipation) ∈ [0,1]⁸. 4개 대립쌍(joy↔sadness, trust↔disgust, fear↔anger, surprise↔anticipation)의 강도 차 dominance_i = e_i − e_opposite(i)로 우세 감정 추출. 예: sadness=0.8, joy=0.1이면 dominance_sadness=0.7로 강한 슬픔 상태로 분류.

3. 코사인 유사도 기반 시맨틱 매칭: text-embedding-3-small이 단위 벡터에 가깝게 정규화되어 코사인 유사도가 dot product와 동등하며, 벡터 크기 영향을 배제하고 의미 방향성만 비교하므로 길이가 다른 문서·쿼리에도 안정적이다.

4. 정량 검증: Golden Set 데이터셋 평가, 응답 시간 분포, 비용 시뮬레이션 수행.

상세설계 내용

[기술 스택]

1. Front-end: Flutter 3.41 / Dart 3.11 (단일 코드베이스로 iOS·Android 동시 배포, flutter_chat_ui·naver_map_plugin·sse_client·provider), SSE Streaming Client로 LLM 응답 토큰 단위 실시간 표시

2. Back-end: Node.js 22 LTS + Express 4.21 (REST API + SSE), PostgreSQL 16 (메타데이터·JSONB·GiST/B-tree 인덱스), Chroma 0.5+ (place/psych 임베딩 2개 컬렉션, HNSW 인덱스)

3. AI: OpenAI GPT-5 API (페르소나 대화·8감정 추출·추천 사유 생성, Function Calling/Structured Output), text-embedding-3-small (1536차원), LangChain 0.2+ (RAG, RecursiveCharacterTextSplitter 200~400자 청크)

4. Infra: Google Cloud Compute Engine(e2-medium), TourAPI(공공데이터포털), Naver Map API(일 30만 콜 무료)

5. CI/CD: GitHub Actions

[데이터 흐름도]

1. Flow 1 (페르소나 선택 & 세션 시작): 클라이언트 → 백엔드 → PostgreSQL session 생성 → UUID 발급

2. Flow 2 (공감 대화): 클라이언트 메시지 → 백엔드 → GPT SSE 스트리밍 → 클라이언트 실시간 표시 → conversation_history 누적

3. Flow 3 (3단계 추천 파이프라인): 대화 히스토리 → F2 8감정 추출 → F3 심리학 RAG(Chroma) → F4 하이브리드 매칭(Chroma + PostgreSQL)

4. Flow 4 (결과 렌더링): 최종 장소 + 심리학 근거 + 페르소나 어투 사유 → 클라이언트 카드 UI + Naver Map 위젯

[ERD]

PostgreSQL 4개 테이블: persona(1) ← session(N) ← recommendation(N) → place(N). session.persona_id → persona(N:1), recommendation.session_id → session(N:1), recommendation.place_id → place(N:1)

[주요 클래스/모듈]

PersonaService·ChatEngine(페르소나) / EmotionExtractor·PsychologyRAG(감정·RAG) / VectorMatcher·MetaFilter·ExplanationGenerator(장소 매칭) / SessionManager·RecommendationOrchestrator(세션·추천)

결과 및 평가

완료 작품의 소개

프로토타입 사진 혹은 작동 장면

내용

포스터

내용

관련사업비 내역서

내용

완료작품의 평가

내용

향후계획

내용

특허 출원 내용

비정형 감성 데이터의 정형화 로직, 벡터 유사도 검색 경로의 독립성, 멀티 페르소나 기반 동적 프롬프트, 심리학 RAG 브릿지 구조(3단계 파이프라인)를 단일 청구항으로 출원하는 전략을 수립하였다.