주제 1. 학습 행동 중심의 추천 성공 기준 재정의
일반적인 추천 시스템과 달리, 언어 학습 앱이라는 도메인을 고려하여 추천의 목표를 설정해야 했습니다. 대다수의 영상 추천의 궁극적 목표는 시청 시간 극대화이지만, 랭플릭스 내 추천 시스템에서 시청 시간을 극대화하고자 한다면, 언어 학습과는 무관한 재미 중심의 영상만을 추천할 우려가 있었습니다. 이러한 문제 의식에서 출발하여 추천이 달성해야 하는 목표를 데이터 기반으로 정의하고 이를 측정할 지표 체계를 설계하였습니다.
주제 1-1. 기존 지표 체계의 한계 진단
- 기존 '유효 반응' 집계 건의 대다수가 시청 50% 달성만으로 처리되고 있으며, 실제 학습 행동(복습·북마크·섀도잉·리스닝)이 포함된 경우는 소수에 불과함을 확인
주제 1-2. 학습 행동과 리텐션의 관계 검증
- 시청량 구간을 통제한 상태에서 학습 행동 유무만을 비교하는 방식으로 실험 설계
- 같은 시청량에서도 학습 행동이 있는 경우 리텐션이 유의미하게 높음을 확인
- 특정 구간에서만 나타나는 우연한 차이가 아님을 확인하기 위해, 시청량 전 구간(1-2회 · 3-5회 · 6-14회 · 15회 이상)에서 일관된 lift가 발생하는지 검증
주제 1-3. 지표 체계 설계
- 유효 반응의 정의를 학습 행동 중심으로 재구성
- 단일 지표만으로는 추천 변경의 부작용을 감지할 수 없다고 판단하여, KPI(유효 세션 반응률) · 보조지표(학습 행동별 발생률, D1·D3·D7 리텐션) · 가드레일(빠른 스킵률, 재노출률, fallback 진입률, Latency P95)의 3층 구조로 설계
주제 1-4. 세션 구조 및 반응 하락 원인 분해
- 세션 후반으로 갈 수록 반응이 떨어지는 현상에 대해, 원인이 콘텐츠 품질인지 노출 위치인지를 분리하는 분해 분석 설계
- 분해 결과 콘텐츠 효과가 위치 효과보다 우세함을 확인하여, 노출 피로도 관리보다 개인화 추천을 우선순위로 판단
주제 2. 개인화를 위한 콘텐츠 피처 및 임베딩 구축
추천에 사용할 수 있는 콘텐츠 임베딩·클러스터·난이도·토픽 피처를 개선하거나 새롭게 설계하고, 프로젝트 종료 이후에도 유지될 수 있는 운영 체계를 함께 마련하였습니다.
주제 2-1. 콘텐츠 임베딩 및 클러스터링 방식 선정
- 콘텐츠 정보를 필드별로 전처리한 뒤 각각 임베딩하고, 실제 영상 내용을 가장 잘 반영하는 필드에 높은 가중치를 두어 가중 결합
- 클러스터 개수를 달리한 비교 실험을 통해 분리 성능이 가장 좋은 지점을 탐색
- 영상 하나가 여러 주제에 걸치는 경우가 많다는 점을 고려해, 단일 배정 방식과 다중 배정 방식의 성능을 비교한 뒤 방식 선정
주제 2-2. 클러스터 운영 체계 설계
- 신규 임베딩 누적량과 직전 재학습 이후 경과 기간을 함께 고려해, 명확한 정량 기준에 따라 재학습 시점을 결정하도록 기준 정의
- 클러스터별 평균 반응 점수, 미노출 영상 비율, 채널 집중도를 종합하여 '신규 콘텐츠 소싱이 필요한 클러스터'와 '노출 다양성 확보가 필요한 클러스터'를 파악
주제 2-3. 자막 기반 난이도 피처 설계
- 자막을 원천으로 다수의 후보 지표를 산출한 뒤, 어휘 난이도·평균 단어 길이·발화 속도 3개 축으로 정보 압축
- 3축을 활용하여 통합 난이도 점수를 산출하고 버킷으로 구간화하여, 온보딩 응답 레벨 대비 지나치게 쉽거나 어려운 영상이 노출되지 않도록 활용
주제 2-4. 영상 토픽 태깅 프롬프트 개선
- 개선 효과를 정량적으로 판단할 기준이 없다고 보아, 영상 500편을 직접 라벨링해 골드셋을 구축하고 학습셋과 홀드아웃으로 분리
- 태그별 누락·과잉 부착 원인 진단, 태그 정의 재작성 및 인풋 데이터 추가, 경계 규칙 정교화의 4단계로 단계별 개선
주제 2-5. 학습 부적합 콘텐츠 필터링 기준 수립
- 영상 자동 추출 도입 이후 발화가 없거나 비영어, 초장편인 쇼츠가 추천에 혼입되는 문제를 확인
- 학습 효용이 낮은 쇼츠를 판별하는 기준을 정의하고 후보 단계에서 차단하도록 설계
주제 3. 개인화 추천 시스템 설계 및 구현
유저 코호트별 후보 풀을 갖춘 뒤 토픽 선호도를 기반으로 개인화 추천을 제공하는 '코호트별 토픽 선호도 기반 추천 시스템'을 설계한다. 나아가 행동 데이터가 없는 신규 유저와 이력이 충분한 기존 유저에게 서로 다른 전략을 적용하는 하이브리드 추천 시스템을 설계하였습니다.
주제 3-1. 모델 공통 후보 필터 설계
- 모델마다 각자 후보 필터링을 구현할 경우 조건이 어긋나 동일한 유저에게 서로 다른 기준이 적용되고, 모델 간 성능 비교도 불가능해지는 문제를 사전에 확인
- 추천 가능 영상 목록을 필터링하는 공통 단계를 모델 앞단에 배치
주제 3-2. 코호트별 토픽 선호도 기반 추천 시스템 (전체 유저)
- 신규 유저는 행동 이력이 없지만 온보딩에서 선호 토픽을 응답한다는 점에 착안해, 수집만 되고 활용되지 않던 정보를 초기 선호 신호로 사용
- 유저를 가입 경과일과 구독 여부에 따라 N개 코호트로 나누고, 코호트별 토픽 선호 분포를 유저 응답의 평균으로 산출
- Retrieval) 코호트 토픽 분포와 유사한 클러스터부터 내림차순으로 조회해, 유효 반응이 일정 횟수 이상 쌓인 검증된 영상만 코호트별 후보 풀로 사전 생성 (주기적 갱신)
- Ranking) 후보 풀에 대해 ① 유저 Topic Affinity 유사도 ② 후보 풀 내 유효 반응 수 백분율 ③ 생성일 시간 감쇠 세 점수를 가중 결합. 개인화 근거가 쌓일수록 토픽 가중치를 높이도록 코호트별 가중치를 차등 적용
- 후보 풀 편중을 완화하기 위해 일부 코호트에 Exploration 정책 적용
주제 3-3. Content-Based Filtering 기반 추천 시스템 (Cold 유저)
- 신규 유저는 온보딩 토픽 분포마저 유저 간에 유사해 개인화 근거가 부족하므로, 반응이 쌓이기 전과 후를 다른 로직으로 처리하는 2단 구조를 채택
- Quality Rank (콘텐츠 품질 축): 최근 30일 내 일정 횟수 이상 노출된 영상을 후보로 두고, 유저 반응 점수로 영상별 반응률을 산출해 랭킹. 노출이 적은 영상의 반응률이 과대평가되지 않도록 노출 수 보정 평균 적용
- Content Rank (개인화 축): 유저가 반응한 영상들로 유저 프로필 벡터를 구성하고, 영상 프로필 벡터(텍스트 임베딩 + 클러스터 벡터)와의 코사인 유사도로 랭킹
- 누적 반응 N회 이하 유저는 Quality Rank만 사용하되 서로 다른 클러스터를 노출해 주제를 흩뿌리고(탐색), N회 초과 유저는 두 축을 결합해 개인화 추천 제공
- 전환 기준점은 오프라인 평가에서 성능이 가장 높았던 지점과, 대다수 유저가 초반 몇 편 내에 도달하는 지점을 함께 고려하여 선정
주제 3-4. Two-Tower 모델 기반 추천 시스템 (Warm 유저)
- 충분한 행동 이력이 있는 유저에 대해, 유저와 영상을 하나의 공통 임베딩 공간에 각각 임베딩한 뒤 내적으로 선호를 계산하는 구조 채택
- Item Tower: 영상의 텍스트 임베딩과 클러스터 정보를 결합한 피처를 입력받아 아이템 임베딩을 생성하고, 전체 영상에 대해 사전 계산해 저장
- User Tower: User-Item 단위 매트릭스가 지나치게 희소하다는 문제를 확인하고, ① 클러스터 단위로 집계한 뒤 Matrix Factorization으로 결측을 보완한 벡터와 ② 최근 시청 영상 텍스트 임베딩의 가중평균을 결합해 유저 피처 구성
- 학습: 유저가 높은 점수를 준 영상이 더 높은 유사도를 갖도록 학습하되, 시청 기록이 많은 유저가 loss를 지배하지 않도록 유저별 기여도를 정규화하고, negative sample이 우세해져 취향 벡터가 그 반대 방향만 가리키는 문제를 막기 위해 샘플 수 제한
- 서빙: 유사도 상위 후보와 인기도 상위 후보를 합집합으로 모은 뒤 MMR로 재정렬해 동일 채널·유사 콘텐츠의 독점을 완화하고, epsilon-greedy Exploration으로 노출 확률이 낮은 영상의 학습 데이터 확보
주제 3-5. 모델 서빙 인프라 설계
- 클라우드 기반 모델 배포 구조(AWS S3, DynamoDB)를 사용
- 아이템 10배 · 유저 10배 증가 시나리오까지 학습·서빙 레이턴시와 메모리 사용량을 측정하여 운영 한계 확인
주제 4. 평가 체계 구축 및 온라인 검증
기준 추천이 인기 콘텐츠에 편향되어 있어 통상적인 오프라인 평가가 기존 정책에 유리하게 작동하는 문제에 대응할 평가 체계를 설계하고, 실서비스 배포를 통해 성과를 검증하였습니다.
주제 4-1. 오프라인 평가의 구조적 편향 진단
기존 추천이 인기 콘텐츠 중심이었기 때문에 로그에 남은 반응도 인기 영상에 집중되어 있음을 확인
일반적인 추천 성과 지표인 Recall·NDCG를 그대로 사용할 경우, 인기 영상을 많이 추천하는 모델이 자동으로 높은 점수를 받고 개인화를 더 잘 수행할 가능성이 있는 모델이 로그에 없는 영상을 추천해 오히려 불리해지는 구조적 문제 파악
주제 4-2. 오프라인 평가 지표 설계
- 기존 노출 범위 내 재정렬 성능, 시청 기록이 없는 아이템의 추천 포함 정도와 그 적절성을 지표로 측정
- 숫자로는 정상이나 실제로는 부적절한 추천을 잡기 위해 대표 유저 정성 평가를 진행하고, 성능과 무관하게 서비스에 나갈 수 없는 경우를 거르기 위해 운영 가드레일 지표를 함께 확인
주제 4-3. A/B Test 설계 및 진행
- PostHog Feature Flags를 활용한 A/B Test 설계 및 진행