Debiasing Sequential Recommendation with Time-aware Inverse Propensity Scoring

이 논문은 기존 순차 추천 모델이 노출 편향과 선택 편향을 해결하지 못하는 한계를 극복하기 위해, 사용자의 행동 시계열 의존성과 시간적 역동성을 고려한 '시간 인지 역선도 점수 (TIPS)' 방법을 제안하고 이를 통해 추천 성능을 향상시킨다는 내용입니다.

Sirui Huang, Jing Long, Qian Li, Guandong Xu, Qing Li

게시일 2026-03-06
📖 3 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

이 논문은 **"시퀀스 추천 (Sequential Recommendation)"**이라는 기술의 숨겨진 문제를 해결하고, 더 똑똑한 추천 시스템을 만드는 방법에 대해 설명합니다.

간단히 말해, **"우리가 클릭하지 않은 아이템이 '싫어서'인지, 그냥 '보이지 않아서'인지 구분하는 방법"**을 찾아낸 이야기입니다.

이 내용을 일상적인 비유로 풀어보겠습니다.


🍿 1. 문제: "보이지 않는 영화는 재미없다?" (선택 편향과 노출 편향)

상상해 보세요. 친구가 당신에게 영화를 추천해 줍니다. 친구는 당신이 **클릭 (관람)**한 영화만 보고 "이 친구는 액션 영화를 좋아하네!"라고 결론 내립니다.

하지만 여기서 두 가지 치명적인 오해가 생깁니다.

  1. 노출 편향 (Exposure Bias): 친구가 당신에게 보여준 영화는 10 개뿐이었습니다. 그중 9 개는 안 봤지만, 사실 그 9 개 중 8 개는 당신이 정말 좋아할 만한 영화였을 수도 있습니다. 하지만 친구는 "보여주지 않았으니 (노출되지 않았으니) 관심 없는 거겠지"라고 생각합니다.
  2. 선택 편향 (Selection Bias): 친구가 보여준 10 개 중 1 개만 클릭했습니다. 친구는 "나머지 9 개는 싫어서 안 본 거야"라고 생각합니다. 하지만 사실은 그 9 개 중 2 개는 "아, 이거 재미있겠다!" 싶었는데, 단순히 타이밍이 안 맞거나 다른 영화가 먼저 눈에 들어와서 클릭을 못 했을 수도 있습니다.

기존의 추천 시스템은 **"클릭한 것만 좋아하고, 클릭하지 않은 건 싫어하는 거"**라고 잘못 판단해서, 점점 더 편향된 추천을 하게 됩니다. 마치 친구가 당신에게 항상 같은 장르의 영화만 보여주고, "너는 이거밖에 안 좋아해!"라고 말하는 것과 같습니다.


⏳ 2. 해결책: "시간을 거슬러 상상하기" (시간 인식 역선호 점수, TIPS)

이 문제를 해결하기 위해 연구자들은 **'반사실적 추론 (Counterfactual Reasoning)'**이라는 개념을 사용했습니다. 쉽게 말해 **"만약에..."**라고 상상하는 것입니다.

기존의 방법 (IPS) 은 정적 (Static) 이어서, "이 영화가 노출될 확률은 50% 였으니 점수를 2 배로 올려줘"라고 단순히 계산했습니다. 하지만 사람의 취향은 시간에 따라 변합니다. 어제는 액션 영화를 좋아했는데, 오늘은 공포 영화를 원할 수도 있죠.

이 논문이 제안한 **TIPS (Time-aware Inverse Propensity Scoring)**는 **"시간을 고려한 상상"**을 합니다.

🎭 TIPS 의 마법 같은 상상 세 가지

시스템은 실제 클릭한 데이터를 바탕으로, 다음과 같은 "만약에" 상황을 만들어냅니다.

  1. 비슷한 물건이 보였다면? (Similar Items)
    • 상상: "내가 아이폰 17 을 샀는데, 만약에 그 옆에 아이폰 케이스가 노출되었다면 클릭했을까?"
    • 효과: 비슷한 아이템이 노출되었을 때의 반응을 예측합니다.
  2. 인기 있는 물건이 보였다면? (Popular Items)
    • 상상: "내가 평범한 음악을 들었는데, 만약에 전 세계 1 위 곡이 노출되었다면 클릭했을까?"
    • 효과: 인기 있는 아이템이 노출되었을 때의 반응을 예측합니다.
  3. 같은 물건, 다른 시간이라면? (Same Item, Different Time)
    • 상상: "내가 어제 이 영화를 클릭했는데, 만약에 오늘 이 영화가 노출되었다면 클릭했을까?"
    • 효과: 시간의 흐름에 따라 내 취향이 어떻게 변하는지 파악합니다.

이 세 가지 "만약에" 상황을 통해, 시스템은 **"사실은 내가 클릭하지 않았지만, 노출만 되었다면 클릭했을 것"**인 아이템들을 찾아냅니다. 그리고 그 아이템들에게는 **"클릭을 못 했어도 좋아할 가능성이 높으니, 추천 점수를 올려줘!"**라고 보정해 줍니다.


🚀 3. 결과: 더 똑똑한 추천 시스템

이 방법을 적용한 결과, 기존 추천 시스템 (RNN, 트랜스포머, 생성형 AI 등) 에 이 기술을 '플러그인'처럼 끼우기만 해도 성능이 크게 향상되었습니다.

  • 큰 데이터일수록 효과 큼: 사용자가 많고 상호작용이 활발할수록 (예: 뮤직 스트리밍 서비스), 이 "시간을 고려한 상상"이 더 정확하게 작동했습니다.
  • 편향 제거: "클릭 안 함 = 싫음"이라는 오해를 깨뜨리고, "보이지 않아서 클릭 안 함"을 찾아내어, 사용자가 몰랐던 좋은 아이템을 찾아내어 추천해 줍니다.

💡 요약: 이 논문이 우리에게 주는 교훈

기존의 추천 시스템은 **"보인 것만 보고 판단"**하는 편견에 갇혀 있었습니다. 하지만 이 논문은 **"보이지 않았던 것들도, 시간이 흐르고 상황이 바뀐다면 내가 좋아했을지도 모른다"**는 시간을 고려한 상상력을 시스템에 심어주었습니다.

마치 훌륭한 친구가 되어주는 것과 같습니다.

"너는 이거만 좋아한다고 생각했는데, 사실은 저것도 좋아할 수 있잖아? 특히 오늘 같은 날엔 더 그럴 것 같아. 한번 들어봐!"

이처럼 시간과 상황을 고려한 추천은 사용자에게 더 다양하고 정확한 만족감을 줄 수 있습니다.