[Paper Review] (2020, ACM) Time to Shop for Valentine's Day: Shopping Occasions and Sequential Recommendation in E-commerce

tobigs-recsys·2021년 6월 23일
3

Recommender_System

목록 보기
19/22
post-thumbnail

작성자: 김현지
논문: https://www.hongliangjie.com/publications/wsdm2020.pdf

Introduction

E-commerce에서의 추천

e-commerce에서 고객들은 최근의 행동이나 기본적으로 가지고 있는 선호와 관련이 없는 구매를 하기도 한다. 예를 들어 6월에 샌들을 사는 고객은 12월에 있는 다음 쇼핑에서 '여름 휴가'와 관련된 아이템을 추천 받고 싶지 않을 것이고, 자신의 취향에 맞지 않은 아이템을 친구의 생일 선물 때문에 구입할 수도 있다.

  • Occasion: 구매를 유발하는 특정 시간이나 이벤트
  • Global occasion: 크리스마스, 발렌타인데이, 어버이날, 계절(여름에는 서핑 보드를 사고 겨울에는 스노우보드를 사는 것과 같은)
    → 다수의 유저들에게 유사한 쇼핑 결정을 유도할 수 있다.
  • Personal ocacasion: 생일, 기념일
    → 일반적으로 특정 유저에 대해 주기적으로 반복적인 패턴으로 발생

Occasion과 쇼핑 행동 사이의 연관성을 활용하여

1. 콜드 스타트 문제를 완화할 수 있다.
여름에는 서핑보드를 추천하고, 겨울에는 스노우보드를 추천
2. Occasion으로 유도된 구매로 인해 유저의 intrinsic preference에 생기는 노이즈를 줄일 수 있다.
다른 사람을 위한 선물 등 Occasion으로 인한 구매는 유저의 일반적인 구매와 비교해 다른 패턴을 보일 수 있으며 이를 파악해 제거 가능
3. 다시 나타날 수 있는 패턴들에 대해 관련 아이템을 추천할 수 있다.
매념 어버이날에 정확히 똑같은 아이템을 구매하지 않을 수 있지만 이전 어버이날에 구매한 물품과 관련이 있을 가능성이 높다.

추천시스템에서 Occasion 신호를 사용하는데 주요 문제

  1. 서로 다른 Occasion을 구별하는 패턴을 파악할 수 있는가?
  2. 대규모의 crowd behavior를 기반으로 재발하는 쇼핑 트렌드를 포착할 수 있는가?
  3. Occasion이 다시 발생하는 시기에 대해 기간을 유연하게 모델링할 수 있는가?
  4. 유저의 intrinsic와 특정 Occasion의 영향을 적절히 균형있게 조정한 다음 구매를 정확하게 예측할 수 있는가?

Contributions

  1. 쇼핑에 영향을 주는 Occasion의 패턴을 파악하고, 어떻게 유저의 행동을 바꿀 수 있는지 찾아냄.
  2. 쇼핑 행동의 temporal trends를 기억하여 global occasion 신호를 모델링하면서 attention layers를 사용해 personal occasion 신호를 모델링한다.
  3. Gating component를 사용해 다양한 global effect와 local effect를 균형있게 조정하고, OAR를 제안하면서 각 유저의 intrinsic preference에 초점을 맞춘다.

Motivation

Etsy와 Amazon의 데이터를 사용

아마존 구매 데이터에서는 리뷰에서 언급된 키워드로 유저의 쇼핑 장소나 의도를 대략적으로 추론할 수 있다.
→ 월별 발생 리뷰를 키워드 기반으로 요약하고 occasion을 파악

  • 여름철에는 스웨터 대신 샌들을 많이 구매하고, 꽃무늬 아이템은 봄과 여름에 인기가 많다.
  • 어머니의 날이나 크리스마스에 어머니를 위한 구매를 하는 경향이 있다.
  • 뿐만 아니라 대규모의 구매가 이루어지는 키워드를 통해 특정 기간의 occasion을 파악할 수 있다.

Occasion Signals for Recommendation

  • GMP(General Most Popular)모델: 유저에게 가장 인기있는 항목을 추천하는 간단한 모델
  • TMP(Temporary Most Popular)모델: 최근 Time window 내의 인기에 따라 순위를 매김
    → time window 5일: 예측하고자 하는 날짜의 앞뒤로 5일. 2018년 1월 10일에 대해 예측하기 위해 지난 11년 동안 1월 5일에서 15일 사이에 가장 많이 구매한 품목의 순의를 매김

    TMP vs GMP
  • 비율이 양수이면(TMP가 GMP보다 더 나은 예측 변수) 강력한, 매년 발생하는 Occasion 기반 쇼핑 추세가 있음을 나타낸다.
    → 예상대로 크리스마스나 추수감사절과 같은 미국의 큰 명절 즈음에 이런 패턴을 보임.
    → 비율의 절대값이 다름. 크리스마스의 영향이 발렌타인데이보다 오래 지속됨.
  • 반대로 TMP가 GMP보다 성능이 떨어지는 기간도 있다. 이런 경우는 대부분 세계적으로 유명한 Occasion이 없는 시기에 해당한다.
  • GMP가 콜드 스타트 문제의 일반적인 해결책이지만 TMP구조가 더 효과적일 수 있다.

Occasion Signals from Personal Perspective

  • 개별 유저들에게 다시 발생할 수 있는 occasion: 매년 부모님의 생신
    → 이러한 반복되는 occasion은 몇 년에 걸쳐 유사한 쇼핑 행동을 유발할 수 있음.
    → 이러한 personal occasion들의 패턴과 그것이 추적 가능한지 여부 확인.

  • Etsy에서 wedding과 anniversary를 위해 아이템을 구매한 유저 7천여명을 대상으로 time gap 측정하였다.

  • 절반 이상의 유저들이 30일 이내에 시차를 두고 원래 wedding과 관련된 구매 시기 근처에 anniversary를 위해 구매하였다.
    → 다년간 특정 기간(연간 또는 월간)내에 event로 인한 구매가 발생하는 Personal Occasion이 존재

  • Infants items 구매가 50% 이상인 유저들의 구매 패턴을 측정한다.
    → 유아용 제품 구매가 쇼핑에 대한 intrinsic preference라고 볼 수 있다.

  • 이러한 유저들은 고유한 선호도에서 벗어난 6월 달에는 아버지의 날과 관련된 아이템을, 1월에는 발렌타인데이를 위해 쇼핑을 하는 경향이 있다.
    → 이러한 상황은 매년 발생할 수 있으며 매년 유사한 기간에 구매 선호도에 영향을 미칠 수 있다.

  • 또한 occasion에 따라 준비 시간이 달라질 수 있다. 유저들은 발렌타인이나 아버지의 날보다 크리스마스를 더 일직 준비하며 쇼핑을 하는 경향이 있다.

  • 이러한 간헐적 발생 신호를 포착하고 다시 발생할 상황이 가까워질 때 추천을 조정하는 것이 중요하다.

Occasion-Aware Recommendation(OAR)

Problem Setting

  • Set of NN users: U={u1,u2,...,uN}U=\{u_1, u_2, ..., u_N\}
  • Set of CC products: P={p1,p2,...,pC}P=\{p_1,p_2,...,p_C\}
  • Set of timestamps: T={t1,t2,...,tM}T=\{t_1, t_2, ..., t_M\}
  • User u가 구매한 아이템과 구매한 시간을 pair로 구성: (p1u,t1u),(p2u,t2u),...,(pnu,tnu)(p_1^u,t_1^u),(p_2^u,t_2^u),...,(p_n^u,t_n^u)

⇒ 목표: tn+1ut_{n+1}^u 시점에 유저 uu가 구매할 아이템 pn+1up_{n+1}^u을 예측하여 추천하는 것

Preliminary: Attention Mechanism

  • neural attention mechanism은 target query(최근 구입한 항목 또는 예측을 위한 미래의 타임스탬프)와 context contents(구매 이력) 사이의 상관관계를 포착한다.
  • 다른 유형의 어텐션 모듈의 입력은 보통 쿼리 및 key-value 쌍의 형태이며, 목표는 출력을 생성하기 위해 일련의 key-value쌍으로 쿼리를 매핑하는 것이다.
    → 일련의 values를 집계하기 위한 어탠션 가중치로 사용하기 위해 쿼리와 키 사이의 관계/유사성 점수를 계산한다.
  • 유저의 고유한 선호도 외에도 다양한 유형의 Occasion 신호를 고려해 유저의 프로파일링을 계산하는 어텐션 메커니즘을 사용할 것을 제안한다.
  • RQ1: 유저의 고유한 선호도를 식별하기 위해 최근 구입 항목과 이전 항목 간의 상관관계를 활용하는 방법
  • RQ2: 개인의 쇼핑 기록을 추적하여 주기적으로 발생할 수 있는 personal occasion에 대한 유저의 선호도를 모델링하고 예측하는 방법
  • RQ3: crowd behavior를 기억하고 관련 global occasion를 파악하기 위해 동적 매핑을 수행하는 방법
  • RQ4: 좋은 추천을 위해 유저의 고유한 선호도와 다양한 유형의 occasion들을 어떻게 융합할 수 있는가?

RQ1: Intrinsic Preference Modeling

유저의 고유한 선호도를 식별하기 위해 최근 구입 항목과 이전 항목 간의 상관관계를 활용하는 방법

  • 유저의 intrinsic preference는 비교적 안정적이거나 천천히 변화하므로 협업 필터링이나 RNN, CNN으로 모델링하였으며, 최근에는 self-attention을 적용하여 성능이 향상됨.
  • 본 논문에서는 최근 구입 항목과 이전 항목 간의 상관관계를 파악하여 intrinsic preference를 파악하고자 한다.

RQ2: Personal Occasion Elicitation

개인의 쇼핑 기록을 추적하여 주기적으로 발생할 수 있는 personal occasion에 대한 유저의 선호도를 모델링하고 예측하는 방법

  • 각 유저마다 같은 personal occasion으로 인한 구매는 작은 time window를 가질 가능성이 높다. 예를들어 친구 생일 선물은 생일 2~3주 전에 구입한다.

    → 즉 다음 아이템을 예측할 때 작년, 재작년 이맘 때의 기록이 영향을 준다.

RQ3: Global Occasion Memorization

crowd behavior를 기억하고 관련 global occasion를 파악하기 위해 동적 매핑을 수행하는 방법

  • 개인 구매 내역만 추척하면 다가올 global occasion을 예측할 수 없다. 이러한 global occasion은 과거 비슷한 시기의 crowd behavior로부터 포착할 수 있다.

RQ4: Gating Layer

좋은 추천을 위해 유저의 고유한 선호도와 다양한 유형의 occasion들을 어떻게 융합할 수 있는 가?

  • 마지막으로 유저의 intrinsic preference와 다양한 occasion 신호의 균형을 맞추는 방법에 대해 논의

  • 이전 섹션에서 논의한 각 구성 요소에 서로 다른 가중치를 할당하는 방법을 제어할 수 있는 gating layer 도입

  • 타임 스탬프마다 유저의 상태가 다르기 때문에 쿼리는 유저의 시간 스탬프 쌍이 된다.

    → 예를 들어 수공예 용품을 좋아해서 Etsy와 같은 사이트에서 다른 물품을 거의 구입하지 않는 유저들도 있고, 어떤 유저는 12월에는 occasion의 영향을 많이 받지만 6월에는 intrinsic preference를 거의 유지할 수도 있다.

Prediction and Loss

Experiments

Data

  • 시간을 기준으로 데이터 split

  • Timestamp embedding은 하루를 기준으로 진행

  • Etsy: 핸드메이드 제품을 판매하는 최대 e-commerce 플랫폼

    — 2006년 11월부터 2018년 12월까지 구매 데이터 수집

    — 5회 미만 구매 유저는 제거

    — 최근 2년 내에 구매를 한 유저만 포함

    — 첫 구매와 마지막 구매가 1년 이상 차이나는 유저만 포함

  • Amazon: 1996년 5월 부터 2014년 7월까지 제품 리뷰를 포함한 데이터 셋 수집

    — 각 리뷰를 구매 기록으로 취급하고 리뷰를 입력하는 시간을 구매 시간의 근사치로 사용

    — 5회 미만 아이템 구매 유저는 제거

Experimental Setup

Metrics
MRR@K, NDCG@K
Baselines
MP, MF-BPR, Fossil, GRU4REC, TCN, HPMN, SASREC

Model Comparison

  • MP보다는 MF-BPR이 유저 아이템 간 관계를 파악하기에 성능이 좋다.
  • Fossil은 마코브 페인으로 아이템 간 관계를 파악하기에 Etsy에서는 좋지만 Amazon에서는 좋지 않음: 아마존 데이터는 sparse하기 때문에 유저-아이템 간의 interaction을 파악하는 것이 더 중요하다.
  • HPMN이 TCN, GRU보다 성능이 좋은데, 해당 데이터셋들이 유저 행동의 주기적인 패턴을 가지고 있기 때문이다.
  • self-attention을 사용한 모델의 성능이 가장 좋다.: attention 매커니즘이 sequential behavior를 파악하는데 가장 효과적이다.

Evaluation of OAR

  • MP보다 Global occasion만 고려한 모델은 성능이 좋아졌다. Etsy에서 더 큰 향상이 있었다.
  • Global 모델은 global occasion만 고려하고, user-specific하게 추천하지 않으므로 성능이 가장 낮다.
  • Personal 모델이 Intrinsic보다 조금 더 성능이 좋다. e-commerce에서 유저의 쇼핑 패턴은 개인의 선호도보다 occasion에 더 영향을 받으며 두 모듈을 합하면 성능이 향상된다.
  • Gating 레이러를 제거하고, 세개 모듈의 결과 값을 단순합하여 예측한 결과는 OAR에 비해 낮다. 각 유저별로 시간대별로 영향을 받는 정보가 다르기 때문이다.

Case Study

1. Temporal Information and Occasions

  • Timestamp 임베딩 간의 유사도 스코어를 계산한 계산 → 가까운 날짜의 임베딩 간의 스코어가 높다.
  • 미래의 특정 시점을 예측할 때, 해당 날짜의 과거 기록들 간의 관련이 높다는 것을 의미한다.
  • 진한 색이 넓게 퍼지는 것은 occasion의 기간이 긴 경우를 의미한다.
  • 1월과 12월을 이어지므로 우측 상단과 좌측 하단이 어둡게 나타난다.
    2. Visualization of Occasion-driven Purchases in Etsy
  • 모든 유저들에 대해 각 키워드에 대한 아이템 선호도 스코어를 평균하여 그래프를 그렸다.
  • 크리스마스 장식과 스카프는 겨울에 구매랑이 많아진다.
  • 생일과 같은 카테고리는 flat한 형태를 보인다.
    3. How Occasion Signals compensate the intrinsic preference
  • 8월 31일에 구매할 아이템을 추천하고자 할때, intrinsic Preference에 따르면 치마와 아기 옷과 관련된 것을 추천하게 된다.
  • 그러나 Personal Occasion에 따르면 과거 유사한 날짜인 8월 29일에 구매한 가족의 가방과 관련된 아이템을 추천하게 된다.
profile
2021 투빅스 추천시스템 세미나입니다.

2개의 댓글

comment-user-thumbnail
2021년 7월 5일

[15기 이성범]
본 논문은 Occasion이라는 구매를 유발하는 특정 시간이나 이벤트를 추천 시스템의 중요한 피드백이라 생각해 Occasion을 임베딩 하여 학습시킴으로써 시간에 따른 특성을 추천 시스템에 반영하는 방식을 제안한 논문이다.

여름철에는 스웨터 대신 샌들을 많이 구매하고, 꽃무늬 아이템은 봄과 여름에 인기가 많다. 이처럼 특정 시점에 따라 구매자의 선호도는 달라지고 특정 기간의 Occasion을 capture 할 수 있다면, 추천 시스템의 성능을 높일 수 있다.

Occasion Signal을 활용하는 추천 시스템 모델로는 General Most Popular 모델과 Temporary Most Popular 모델 등이 존재한다. GMP는 유저에게 가장 인기있는 항목을 추천하는 간단한 모델로 콜드스타트 문제에 효과적이다. 반대로 TMP는 최근 Time Widow내에 따라 순위를 매기는 방식이기 때문에 Occasion이 중요한 시기에는 GMP보다 더욱 높은 성능을 보일 수 있다.

본 논문에서는 Occasion Signal을 학습할 수 있는 모델로 Occasion-Aware Recommendation(OAR)을 제안했다. 데이터는 시간을 기준으로 split하고 Timestamp Embedding을 하루 기준으로 진행한다. OAR은 Sequence 학습에 효과적인 학습 방식인 Attention Mechanism을 활용한 모델로 최근 구입한 항목 또는 예측을 위한 미래의 타임스탬프 와 구매 이력 사이의 상관관계를 포착하는 식으로 학습이 진행되며, 쿼리가 유저의 시간 스탬프 쌍으로 구성되어 있어서 유저의 고유한 선호도 외에도 다양한 유형의 Occasion 신호도 고려하여 학습한다.

시간을 임베딩 한다는 관점이 신기했으며 본 모델은 현 시점의 중요한 Item을 capture하는데 높은 성능을 가져올 수 있는 모델이라고 생각한다.

답글 달기
comment-user-thumbnail
2021년 7월 7일

14기 박지은
e-commerce에서는 추천시스템을 설계할 때 전제하는 기본 가정과 다르게, 유저가 행동 순차 정보나 기본적 선호와 관련이 없는 구매가 이루어지기도 합니다. 구매를 유발하는 특정 시간이나 이벤트를 occasion이라고 하는데, 이러한 occasion과 쇼핑 행동 사이의 연관성을 활용하면 cold start 문제를 완화하고, occasion으로 유도된 구매로 인한 유저의 intrinsic preference에 생기는 노이즈를 줄일 수 있으먀, 다시 나타날 수 있는 패턴들에 대하여 관련 아이템을 추천할 수 있습니다. 본 논문에서는 occasion 패턴을 파악하여 모델링하여 유저의 행동에 어떻게 영향을 주는지 연구했습니다. 먼저 추천을 위한 ocassion signal을 알아내기 위해 GMP 모델과 TMP 모델을 이용하여 time window를 기준으로 어떤 아이템이 인기가 있었는지 순위를 매기고 이를 비교하여 ocassion 기반 쇼핑 추세가 있음을 알아낼 수 있습니다. 또한 개별 유저에게 발생할 수 있는 ocaasion의 파악을 위해 기념일 아이템을 구매한 유저의 time gap을 측정하여, 이러한 간헐적 발생 신호를 포착하고 재발생할 상황이 가까워질 때 추천을 조정하는 것이 중요하다고 합니다. 이러한 occasion을 반영하여 Occasion-Aware Recommendation(OAR)이 제안되었는데, 이는 neural attention mechanism을 사용하여 target query와 context contents 간의 상관관계를 포착하게 합니다. e-commerce에서의 추천시스템은 유저의 소비 패턴이 중요하게 영향을 줄 것이라 생각은 했지만, 이런 식으로 유저를 모델링하는 접근법을 알게 되어서 매우 유익한 강의였습니다. 감사합니다!

답글 달기