피드로 돌아가기
Dev.toBackend
원문 읽기
MyPetTherapist 팀이 키워드 매칭에서 5차원 감정 벡터 공간 기반 매칭으로 전환해 토끼의 불안감 치료 효과를 키워드 방식으로는 발견 불가능하게 개선
I Built an AI That Matches Lonely People with Therapy Pets — Here's What I Learned
AI 요약
Context
기존 키워드 기반 매칭("sad" 포함 여부로 개 추천)은 사용자의 실제 감정 특성과 생활 환경의 다차원 복잡성을 포착하지 못했다. 치료동물 매칭은 불안 수준, 사회적 에너지, 신체 활동량, 시간 투자 능력, 접촉 민감도 같은 5가지 독립적 차원을 동시에 고려해야 하는 문제였다.
Technical Solution
- 감정 프로필을 5개 차원 벡터로 구조화: anxiety_level, social_energy, physical_activity, commitment_capacity, touch_sensitivity를 0~10 스케일로 점수화
- sentence-transformers의 all-MiniLM-L6-v2 모델로 사용자 응답과 동물 프로필을 임베딩 후 코사인 유사도로 매칭
- PostgreSQL pgvector 확장으로 8줄의 SQL 쿼리로 유사도 검색 수행:
1 - (embedding <=> $1) AS similarity_score연산 - 5개 구조화 질문 기반 감정 서명 추출으로 사용자 반영과 AI 신뢰도를 동시에 확보
- 백엔드는 Python + FastAPI, 프론트엔드는 WordPress, 호스팅은 단일 VPS로 의도적으로 단순화
Impact
- 불안감 높은 사용자와 토끼 매칭 성공률이 키워드 방식 대비 유의미하게 향상
- 수면 장애 사용자의 어항 매칭 비율 40%
- 인프라 비용을 Pinecone 같은 벡터 DB SaaS 대비 월 300달러 절감
Key Takeaway
AI 기반 웰니스 서비스에서 정확도보다 해석 가능성이 중요하며, 전체 가치의 80%는 입력 설계와 신뢰 기반 UX에서 나온다는 점을 보여준다. 즉시 복잡한 인프라(Kubernetes, 전문 벡터 DB)를 도입하기보다 pgvector 같은 표준 도구로 시작하면 비용을 줄이고 학습할 수 있다.
실천 포인트
매칭 또는 추천 문제를 풀 때, 키워드나 단순 규칙 기반에서 다차원 벡터 표현 기반으로 전환하면 도메인의 숨겨진 패턴(예: 높은 불안감 사용자에게는 토끼가 개보다 효과적)을 발견할 수 있다. PostgreSQL과 pgvector를 활용하면 SaaS 벡터 DB 없이도 코사인 유사도 검색을 구현 가능하므로, 초기 단계에서는 이를 우선적으로 검토해야 한다.