v1.0.0 — 2026

속마음AI

연인의 말 속 숨겨진 진짜 감정을 AI로 분석하는 감정 인텔리전스 앱

12
감정 카테고리
19
입력 피처
5,577
학습 데이터
99.5%
검증 정확도
📱
앱 개요
SokMaum AI — 감정 인텔리전스
🎯
감정 번역
"괜찮아"가 진짜 괜찮은 건지, 서운한 건지 AI가 99.5% 정확도로 판별합니다.
실시간 분석
음성/텍스트 입력 후 1~3초 내에 결과를 제공하는 실시간 추론 엔진.
👫
성별 인식
남녀의 감정 표현 방식 차이를 학습한 KoELECTRA-gender-v2 모델.
🎤
듀얼 입력
음성(STT) + 텍스트 직접 입력 두 가지 모드 지원.
항목
앱 이름속마음AI (SokMaum AI)
Bundle IDcom.sokmaeumai
버전1.0.0 (Build 2)
카테고리Lifestyle / Social Networking
비즈니스 이메일drjungscience@gmail.com
서버 도메인api.yeosimradar.com
📊
입력 데이터 파이프라인
학습 데이터 수집 → 전처리 → 모델 훈련
📥 학습 데이터 수집 (Training Data)
단계스크립트소스설명
Step 1step1_collect_data.pyKorpora OpenSubtitles한국어 자막에서 감정 문장 추출 + 규칙 기반 레이블링
Step 1bstep1b_youtube_subtitles.pyYouTube 자막일상 대화 패턴 수집
Step 1cstep1c_generate_gender_data.py전문가 작성성별별 고품질 문장 2,400개 직접 작성 (카테고리×성별 각 80개)

5,577개 레이블된 문장 → 85% Train / 15% Validation 분할

🎤 사용자 음성 입력 처리
1. 오디오 녹음 시작
react-native-audio-recorder-player로 M4A 포맷 녹음. 44.1kHz, AAC 인코딩, 모노 채널.
2. 실시간 STT (Speech-to-Text)
@react-native-voice/voice로 ko-KR 스트리밍 변환. onSpeechPartialResults로 중간 결과 표시.
3. 오디오 특징 추출 (병렬)
100ms 간격 볼륨 샘플링 → 피치, 템포, 호흡, 침묵 패턴 등 9개 오디오 피처 추출.
4. 자동 종료
8초 침묵 감지 시 자동 중지. 사용자 수동 중지 버튼도 제공.
5. 문장부호 자동 추가
의문형 어미(~나요, ~지?) → ?, 감탄형(대박, 진짜) → ! 자동 부여.
⌨️ 텍스트 직접 입력

사용자가 텍스트를 직접 입력하면 오디오 피처 없이 텍스트만 서버 KoELECTRA 모델에 전달됩니다. STT 실패 시에도 폴백 모달로 텍스트 입력을 유도합니다.

🤖
AI 모델 상세
KoELECTRA Fine-tuned Sequence Classifier
🧠 모델 아키텍처
항목상세
베이스 모델monologg/koelectra-base-v3-discriminator
모델 유형Transformer ELECTRA Discriminator (110M 파라미터)
태스크12-class Sequence Classification
입력 제한최대 128 토큰
출력12개 카테고리 확률 분포 (Softmax)
최적화AdamW (lr=2e-5, weight_decay=0.01)
스케줄러Linear warmup (500 steps) + linear decay
학습 에폭5 (Early Stopping 3회 인내)
검증 정확도99.5% (내부) / 85~92% (실사용 예상)
모델 크기~430MB (safetensors)
추론 디바이스CPU (AWS EC2)
⚙️ 추론 흐름 (Primary + Fallback)

Primary Path — 서버 KoELECTRA

User Input → STT (ko-KR) → Text ↓ POST /api/v1/analysis/predict Body: { text: "분석할 문장", target_gender: "female" } ↓ Server: [FEMALE] prefix + KoELECTRA Tokenize → Forward Pass → Softmax ↓ Response: { category, confidence, top_classes[3] } ↓ Client: applyGenderBias() → 재정규화 ↓ ResultScreen (카테고리 + 신뢰도 + Top-3 + 조언)

Fallback Path — 로컬 키워드 기반

Server Failure → catch(serverErr) ↓ extractTextFeatures() — 10개 텍스트 피처 추출 ↓ encodeFeatures() — 19개 feature → Float32Array ↓ _simulateInference() — 키워드 매칭 + 오디오 조정 ↓ softmax(scores) → 12개 카테고리 확률 ↓ applyGenderBias() → 결과 표시
👫 성별 보정 레이어

👩 여성 보정

카테고리가중치
기대·설렘 숨김×1.20 ↑
불만·서운함×1.18 ↑
확인·안심 요청×1.15 ↑
화남·분노×0.88 ↓

👨 남성 보정

카테고리가중치
화남·분노×1.18 ↑
책임·원망×1.15 ↑
시험·테스트×1.12 ↑
기대·설렘×0.85 ↓
🎯
12가지 감정 카테고리
AI가 분류하는 숨겨진 감정 유형
💗
관심과 애정 표현
관심과 애정을 표현하고 싶어함
😶
불만·서운함 간접 표현
내심 서운하거나 불만이 있음
🤍
확인·안심 요청
감정/의도 확인, 안심받고 싶음
🌸
거절·거부 (부드러운)
상처 주지 않으려 돌려서 거절 중
🎯
시험·테스트
반응을 보고 싶어함
🔥
질투·독점욕 표현
질투심, 존재감 확인
🙏
도움 요청 (직접 말 못함)
돌려 말하며 도움 요청
칭찬·인정 바람
칭찬/인정 받고 싶음
❄️
화남·분노 (억누른)
화를 참고 있음
🌧️
슬픔·우울 표현
간접적 슬픔/우울 표현
🌟
기대·설렘 숨김
기대하지만 티 안냄
책임 전가·원망
책임을 묻고 싶음
🧬
19개 입력 피처
텍스트 6개 + 오디오 8개 + 맥락 5개
📝 텍스트 피처 (F01~F06) 6개
ID이름타입값 범위추출 방법
F01어휘 유형Categorical(4)일상어·감성어·강조어·완곡어감성/강조/완곡 키워드 매칭
F02단어 조합Categorical(4)단순·복합·역설·반어'괜찮','뭐든' 패턴
F03문법 점수Float [0,1]0.65~0.9문장부호 유무
F04수사학Categorical(6)직접·직유·반어·과장·완곡·생략키워드 패턴
F05반복 패턴Binary(2)없음·있음연속 문자/중복 단어
F06문장 길이Categorical(3)짧음·보통·김글자 수 기반
🎵 오디오 피처 (F07~F14) 8개
ID이름범위추출 방법
F07전체 피치80~400 Hz볼륨 기반 간접 추정
F08시작 피치80~400 Hz첫 샘플 볼륨
F09중간 피치80~400 Hz중간 샘플 볼륨
F10끝 피치80~400 Hz마지막 샘플 볼륨
F11템포2~10 음절/s볼륨 피크 카운팅
F12침묵 패턴0~3초실제 침묵 시간 실측
F13음량 변화0~60 dBmax-min 볼륨 범위
F14호흡 강도0~1볼륨 급등락 비율
🌐 맥락/행동 피처 (F15~F19) 5개
ID이름타입추출 방법
F15음성 분위기Categorical(4)텍스트 단서 분석 (들뜸/차가움/차분)
F16감정 극성Categorical(4)긍정/부정 키워드 카운팅
F17맥락 의존도Categorical(3)모호성/직접성 키워드 평가
F18응답 지연0~5초녹음 시작→첫 발화 실측
F19시간 맥락Categorical(4)현재 시간 기반 (낮/밤)
👤
사용자 커뮤니케이션 흐름
화면 구조 및 사용자 경험
🗺️ 앱 네비게이션 구조
[Splash] → [DataConsent] → [Login/Register] → [Main] → [Result] ↓ [Menu] ↙ ↓ ↘ [AppInfo] [Privacy] [QAHistory] [Main] → [OnboardingIntro] → [OnboardingQA ×12] → [Personalizing]
📊 결과 화면 구성 요소
영역내용
카테고리 배지이모지 + 카테고리 이름 (색상 코딩)
분석한 말사용자가 입력한 원문 이탤릭 표시
신뢰도 게이지0~100% 애니메이션 바
속마음 해석성별에 따른 대명사 치환 해석 문장
가능성 분석Top-3 카테고리 확률 바 (애니메이션)
대응 조언💡 카테고리별 맞춤 조언 텍스트
🖥️
서버 인프라 및 운영
AWS EC2 + FastAPI + KoELECTRA
항목상세
클라우드AWS (Amazon Web Services)
인스턴스EC2 (IP: 13.209.124.180)
도메인api.yeosimradar.com (HTTPS)
OSUbuntu 22.04 LTS
프레임워크FastAPI + Uvicorn (ASGI)
프로세스 관리systemd (yeosim-api.service)
리버스 프록시Nginx + Let's Encrypt SSL
🔗 API 엔드포인트 목록
MethodEndpoint설명인증
POST/api/v1/auth/register회원가입
POST/api/v1/auth/login로그인 (JWT 발급)
GET/api/v1/auth/me내 정보 조회
DELETE/api/v1/auth/account계정 삭제
POST/api/v1/analysis/predict🤖 속마음 AI 분석
GET/health서버 상태 확인
GET/support고객 지원 페이지
GET/privacy개인정보처리방침
🍎
App Store 배포 및 수익 모델
배포 프로세스 + AdMob 수익화
💰 수익 모델 — Google AdMob
항목상세
광고 유형배너 광고 (ANCHORED_ADAPTIVE_BANNER)
위치메인 화면 상단
SDKreact-native-google-mobile-ads
개발 모드TestIds.BANNER (테스트 광고)
배포 모드BANNER_AD_UNIT_ID (실제 광고)

향후 확장: 프리미엄 구독 (무제한 분석 + 광고 제거), 상세 리포트 1회 결제

🔒
보안 및 개인정보 보호
데이터 보호 + App Store 가이드라인 준수
🔐
HTTPS 통신
TLS 1.3 암호화로 모든 API 통신 보호. Let's Encrypt 인증서.
🎫
JWT 인증
JSON Web Token 기반 무상태 인증. 401 시 자동 로그아웃.
🗑️
계정 삭제
2단계 확인 후 모든 데이터 완전 삭제. App Store 5.1.1(v) 준수.
🔒
모델 보호
AES-256-GCM 암호화된 .ysr 모델 파일. 서버에서 복호화 키 수신.
기술 스택 총괄
클라이언트 + 서버 + ML + 인프라

📱 클라이언트

기술용도
React Native크로스 플랫폼 앱
TypeScript타입 안전 코드
Zustand전역 상태 관리
AxiosHTTP API 통신
Animated APIUI 애니메이션

🖥️ 서버 + ML

기술용도
FastAPIREST API 서버
PyTorch딥러닝 프레임워크
HuggingFaceKoELECTRA 모델
AWS EC2서버 호스팅
Nginx리버스 프록시