요금제를 기가막히게 추천해줘 U+
통신 이용 데이터를 기반으로 사용자 유형을 분류하고, 요금제 정보를 통합하여 비교/추천하는 서비스를 구현함으로써, 사용자들에게 통신 상품 선택을 돕는 것을 목표로 합니다.
- ✅ 기능 1: 사용자정보를 기반으로 유플러스 요금제에 대한 정보 제공
- ✅ 기능 2: 정보 제공 시 챗봇형식으로 사용자 친화적으로 제공
| 언어 | Java 17 |
|---|---|
| 프레임워크 | Spring Boot 3.5.0 |
| ORM | Spring Data JPA (Hibernate) |
| 보안 | Spring Security, JWT |
| DB | MySQL |
| 유틸 | Lombok |
| 테스트 | Spring Boot Test, Spring Security Test, JUnit |
| 이름 | 역할 | 담당 업무 |
|---|---|---|
| 서보인 | 팀장 | 인프라 구축, 인증/인가 모듈 |
| 정현경 | 백엔드 개발자 | 사용자, 요금제, 채팅 모듈 |
| 변지민 | 백엔드 개발자 | 사용자, 요금제, 채팅 모듈 |
| 이종규 | 백엔드 개발자 | 추천 시스템 모듈 |
| 김시헌 | 백엔드 개발자 | 챗봇 모듈 |
| 김정민 | 백엔드 개발자 | 챗봇 모듈 |
| 정유민 | 백엔드 개발자 | 관리자 모듈 |
본 프로젝트의 추천 시스템 모듈은 사용자의 통신 상품 선택을 돕기 위해 하이브리드 추천 방식을 채택하고 있습니다. 단일 추천 로직의 한계를 극복하고, 사용자에게 더욱 정교하고 만족도 높은 추천을 제공하는 것을 목표로 합니다.
저희 추천 시스템은 크게 세 가지 유형의 필터링 방식을 결합하여 작동합니다.
-
협업 필터링 기반 추천
- 개념: 비슷한 통신 성향을 가진 다른 사용자들이 선호하는 요금제를 추천합니다.
- 작동 방식:
- 사용자의 통신 성향을 기준으로 사용자 간 유사도를 계산합니다.
- 유사도가 높은 사용자들이 선호하는 요금제를 추출하여 추천합니다.
- 유사도 측정: 유클리드 거리 계산법과 같은 수학적 모델을 활용하여 사용자 간 유사도를 측정합니다.
-
콘텐츠 기반 필터링 추천
- 개념: 사용자가 과거에 만족했던 요금제와 유사한 요금제를 다시 추천합니다.
- 작동 방식:
- 사용자가 추천받은 요금제 중 만족스러웠던 항목을 기반으로, 해당 요금제와 유사한 특징을 가진 다른 요금제를 식별하여 추천합니다.
- 유사도 측정: 유클리드 거리 계산법과 같은 수학적 모델을 활용하여 요금제 간 유사도를 측정합니다.
-
사용자 - 요금제 간 적합도 점수 계산 (도메인 특화 로직)
- 개념: 협업 필터링 및 콘텐츠 기반 필터링에서 계산된 유사도 외에, 사용자의 통신 성향과 요금제 간의 '적합도'를 직접 설계된 도메인 특화 로직을 통해 계산하여 추천 점수에 반영합니다.
- 작동 방식:
- 사용자의 통신 이용 패턴(데이터 사용량)과 선호 성향(선호 데이터량, 선호 가격 등)을 결합하여, 요금제의 특징(제공량, 부가서비스 등)과 비교해 얼마나 상호 보완적인지, 혹은 최적의 조합인지를 판단하는 알고리즘을 구현하였습니다.
- 이 점수는 최종 추천 결과에 가중치로 반영되어 사용자에게 가장 적합한 요금제를 제안합니다.
- 정확도 향상: 단일 방식의 한계를 보완하여 더욱 정확하고 개인화된 추천을 제공합니다.
- 콜드 스타트 문제 완화: 신규 사용자나 데이터가 적은 사용자의 경우에도 부분적으로 추천이 가능하도록 유연성을 확보합니다.
- 다양성 증대: 사용자가 미처 인지하지 못했던 새로운 요금제를 발굴하여 추천할 수 있습니다.
- 만족도 증진: 사용자의 명시적/암묵적 피드백을 통해 지속적으로 추천 품질을 개선합니다.
