문맥 정보(Contextual Information)를 MAB에 적용하는 방법
1. 시간대를 활용한 Thompson Sampling 예시
저녁 8시, 넷플릭스를 켠 사용자 김철수 님의 케이스로 설명해보겠습니다.
기본 데이터:
액션: Beta(17,5) // 전체 시간대 통합 데이터
드라마: Beta(4,6)
SF: Beta(2,1)
시간대별 데이터를 보니:
저녁 8-10시의 장르별 성공률:
액션: 60% 성공
드라마: 85% 성공
SF: 70% 성공
이때 우리는 베타 분포를 조정할 수 있습니다:
액션: Beta(17,5) × 0.6 → 실제 샘플링 값: 0.45
드라마: Beta(4,6) × 0.85 → 실제 샘플링 값: 0.72
SF: Beta(2,1) × 0.7 → 실제 샘플링 값: 0.64
이렇게 하면 저녁 시간대에는 드라마가 추천될 확률이 높아집니다.
2. 요일별 전략 예시
주말과 평일의 시청 패턴이 다르다는 것을 발견했다고 가정해봅시다:
평일:
액션 성공률: 50%
드라마 성공률: 90%
SF 성공률: 60%
주말:
액션 성공률: 85%
드라마 성공률: 60%
SF 성공률: 75%
이 정보를 베타 분포에 반영하면, 평일 저녁에는 드라마 시리즈를, 주말에는 액션 영화를 더 자주 추천하게 됩니다.
3. 장소(디바이스) 기반 전략
사용자가 어떤 기기로 접속했는지도 중요한 정보입니다:
TV로 접속:
영화(2시간+) 시청 성공률: 80%
드라마(1시간) 시청 성공률: 70%
짧은 콘텐츠(30분-) 시청 성공률: 30%
모바일로 접속:
영화 시청 성공률: 30%
드라마 시청 성공률: 60%
짧은 콘텐츠 시청 성공률: 90%
이러한 정보를 반영하면, TV에서는 긴 영화를, 모바일에서는 짧은 콘텐츠를 더 자주 추천하게 됩니다.
4. 사용자 세그먼트별 전략
사용자들을 그룹으로 나누어 각각 다른 전략을 적용할 수 있습니다:
20대 직장인 그룹:
평일 저녁: 짧은 드라마 선호 (가중치 1.5)
주말 오후: 액션 영화 선호 (가중치 1.3)
늦은 밤: 예능 선호 (가중치 1.4)
40대 부모 그룹:
평일 저녁: 뉴스/시사 선호 (가중치 1.4)
주말 오후: 가족 영화 선호 (가중치 1.6)
아침: 교육 콘텐츠 선호 (가중치 1.3)
이러한 세그먼트 정보를 베타 분포에 가중치로 반영하여 더 정교한 추천이 가능합니다.
5. 복합 전략의 실제 적용
실제로는 이러한 여러 문맥 정보를 동시에 고려합니다:
최종 가중치 = 시간대 가중치 × 요일 가중치 × 장소 가중치 × 세그먼트 가중치
예시:
드라마 추천 확률 계산
기본 베타 분포 값: 0.65
× 저녁 시간대 가중치: 1.2
× 평일 가중치: 1.3
× TV 시청 가중치: 1.1
× 20대 그룹 가중치: 1.2
= 최종 값: 0.65 × 1.2 × 1.3 × 1.1 × 1.2 = 1.33
이렇게 계산된 최종 값을 기반으로 추천이 이루어집니다. 이는 단순한 MAB보다 훨씬 정교한 추천을 가능하게 합니다.
이러한 문맥 정보의 활용은 추천의 정확도를 크게 향상시킬 수 있지만, 동시에 시스템의 복잡도도 증가시킨다는 점을 고려해야 합니다. 따라서 실제 구현시에는 가장 영향력 있는 문맥 정보들을 선별하여 사용하는 것이 중요합니다.