Overview
모델 정확도와 응답속도 병목을 동시에 해결하여 실시간 감정 반영이 가능한 AI 서비스 구조로 전환.
감정 분석 모델 개선
라벨 재정의 기반 정확도 90% 달성
실시간 응답 구조
API 분리로 응답속도 60% 개선
Client-Server 구조
모바일-모델 연산 분리
End-to-End 서비스
앱-서버-모델 통합 구조
Problem
모델 정확도·응답속도 동시 병목
서비스 적용 불가 상태
- 감정 분류 정확도 50% 수준
- API 응답 2초 이상 지연
- 실시간 UI 반영 불가
구조 문제 정의
- 단일 API → 모든 연산 처리 → 병목 발생
- 데이터 라벨 기준 불명확 → 모델 성능 저하
- 모바일에서 모델 직접 실행 불가
위의 문제로, 아래의 유저플로우 구현 불가능

Solution
데이터·API 구조 분리
문제 해결 방향
- 데이터 품질 → 모델 성능 개선
- API 역할 분리 → 응답속도 개선
- Client-Server 구조 → 연산 분리
핵심 설계
- 감정 기준 재정의 + 직접 라벨링
- /emotion, /diary API 분리
- 모바일 ↔ 서버 REST 통신 구조

| 구성 요소 | 역할 |
|---|---|
| Android App | 사용자 입력 및 UI |
| Flask API | 요청 처리 및 모델 호출 |
| koBERT | 감정 분류 |
| koGPT2 | 챗봇 응답 생성 |
| GPU Server | 모델 추론 처리 |
Implementation
모바일 앱 구현
- MVVM 기반 Android 구조
- LiveData 기반 UI 반응
- 감정 결과 → UI/음악 반영
서버 및 API
- Flask 기반 REST API
- 주요 엔드포인트:
NLP 모델 구성
- KoBERT → 감정 분석
- KoGPT2 → 챗봇 생성
- 서버 GPU 환경 서빙
Problem Solving
1. 감정 분석 정확도 개선
- 문제: 정확도 50% → 서비스 적용 불가
- 원인: 라벨 기준 불일치
- 해결: 데이터 정제 + 라벨 재정의
- 결과: 정확도 90% 달성, 보고서 기능 구현

2. API 응답 지연 개선
- 문제: 응답 2초 → UX 저하
- 원인: 단일 API 병목
- 해결: API 기능 분리
- 결과: 0.8초로 단축

3. 모델-서비스 연동 구조 구축
- 문제: 모바일에서 모델 실행 불가
- 원인: 환경 분리 필요
- 해결: Client-Server 구조 설계
- 결과: End-to-End 서비스 구현
Insight
핵심 인사이트
- 모델 성능 문제 → 데이터 문제로 환원
- 응답 지연 → API 구조 문제
- 서비스 완성도 → 연결 구조에서 결정
작업 방식 정리
- 로그 기반 성능 측정
- 재현 조건 정의 후 개선
- 구조 변경 중심 해결
다음 개선 방향
- 모델 성능 자동 검증 구조 수립
- API 트래픽 분산 구조
- 사용자 행동 기반 추천 확장
스크린샷


Result
Outcomes
감정 분석 정확도 50% → 90% 개선 → 서비스 적용 가능 수준 확보
API 응답시간 2초 → 0.8초 단축 → 실시간 UX 구현
AI 모델-모바일 연동 구조 구축 → End-to-End 서비스 완성
Google Play Store 배포 완료
Before / After Metrics
감정 분석 정확도
50% → 90%Before50%
After90%
API 응답 시간
2초 → 0.8초Before2초
After60% 감소
NLP 기반 감성 일기 서비스 「아띠어리」 – End-to-End AI 서비스 구현 · Portfolio · Sojin Lee

