RS Paper Review: Behavior Sequence Transformer for e-commerce Recommendation in Alibaba

jisu825·2021년 3월 24일
0

Recommendation System

목록 보기
4/5

paper review of Behavior Sequence Transformer for e-commerce Recommendation in Alibaba

Introduction

지난 WDL paper reveiwRecommendation System overview 파트에서도 다루었듯이, 현실에서의 Recommendation System은 MatchRank의 두 단계로 나누어진 경우가 많습니다. Match는 사전에 정해진 rule에 의해 candidate set을 뽑는 과정을, Rank는 그러한 set에 대해 score를 계산하여 실제로 추천하는 과정을 의미합니다.

그리고 지금까지 살펴본 논문들은 주로 rank 과정에 초점이 맞춰진 논문들이었습니다. 하지만 기존의 모델들은 이 rank 과정에서 sequential signal underlying the user's behavior sequence를 전혀 포착하지 못합니다. 즉, 커머스 플랫폼이 user $u$에게 새로운 아이템을 추천할 때 1달 전에 구매한 상품과 1일 전에 구매한 상품의 중요도를 완벽히 똑같다고 가정한다는 것입니다. 사실 직관적으로 생각해봐도, 이는 터무니없는 가정이라는 것이 느껴집니다. 어떤 user가 1년 전에 골프채를 구매했고 1일 전에 자전거를 구매했다면, 이 user는 당연히도 자전거 헬멧을 구매할 확률이 골프공을 구매할 확률보다는 훨씬 높을 것입니다.

따라서 본 논문의 저자(Alibaba)들은 이 문제를 해결하기 위해 새로운 모델인 **user behavior sequence transformer(BST)**를 만들었고, TaoBao에서 on/offline experiment를 거쳐 모델의 우수성을 입증했습니다.

Architecture

우선 본 논문의 구체적인 목표부터 이해해보겠습니다. 본 논문에서 다루고자 하는 목표는 새로운 모델을 통해 *Click-Through Rate(CTR)*을 높이는 것입니다. CTR은 한국말로 클릭율인데요, user가 item k를 보았을 때 클릭한 비율을 의미합니다.

이를 위한 데이터로는 user's behavior sequence(user가 item을 클릭했던 데이터, 클릭한 시점 포함), user profile, context 등이 주어집니다.

BST는 Wide-Deep Learning의 구조를 참고하였습니다. 가장 중요한 차이점은 user's behavior sequence가 transformer layer를 통과하게 해 sequential signal의 포착을 시도했다는 것입니다.

참고로 본 논문을 제대로 이해하기 위해서는 transformation의 개념에 대해서 이해해야 합니다. 저도 이번에 seq2seq, attention, transformation의 개념에 대해 공부해 보았는데요, 이를 빠르게 이해하기 위해서는 위키독스와 transformation의 개념을 처음 정립한 'Attention is all you need' 논문을 읽어보는 것을 추천드립니다.

BST model의 구조는 다음과 같습니다.

이제 각 layer를 하나하나 살펴보겠습니다.

Embedding Layer

앞서 언급했듯이, BST에는 user behavior sequence, user profile, item, context 등의 데이터가 input으로 주어집니다. BST의 목적은 sequential한 정보를 파악하는 것이므로, input data들을 user behavior sequence와 그렇지 않은 데이터(other features)로 나누겠습니다.

Other features

other features에 해당하는 데이터들은 우선 각각 embedding시킨 후 하나로 concatenate합니다. 이는 WDL이 input data를 다루는 방법과 똑같습니다.

Behavior sequence

behavior sequence 데이터는 각 item 별로 각각 주어집니다. 즉, TaoBao에 존재하는 모든 item에 대해 각각 behavior sequence data가 존재하는 셈입니다. behavior sequence data는 2개의 feature로 이루어져 있는데요, sequence item feature와 positional feature입니다.

Sequence item feature는 그 item 자체에 대한 정보로, item_id와 category_id로 이루어져 있습니다.

Positional feature는 각 item의 click이 일어난 시간 순서를 반영하기 위한 feature입니다. 기존 Transformer들은 이러한 event의 timestamp를 sin/cos을 이용해 표현하였지만, 본 논문에서는 단순히 추천이 일어나는 시점과 event가 발생한 time의 차이를 positional feature의 value로 주었습니다.

Transformation Layer

본 논문의 핵심이라고 할 수 있는 transform이 일어나는 layer입니다. 하지만 일어나는 일은 가장 기본적인 transformation이기 때문에, 새로울 것은 없습니다. Self attention layer, Point-wise feed-forward network, self-attention block으로 이루어져있으며, 이를 통해 item들간의 relation을 behavior sequence 측면에서 포착합니다.

MLP layers & Loss function

그 이후로는 WDL과 마찬가지로, other features의 embedding vector와 transformation layer를 통과한 sequential behavior vector를 concatenate한 후, 3층의 fully-connected layer를 통과시킵니다.

BST의 목표는 target item $v_t$를 click할 지 아닐 지를 맞추는 것이기 때문에, binary classificaiton problem을 다루고 있습니다. 따라서 output unit의 activation으로 sigmoid function을 사용하고, loss function으로는 cross-entrophy loss를 사용합니다.

Experiment

보통 paper review에서 experiment 파트를 많이 다루지는 않지만, 본 논문은 매우 practical한 내용을 담고 있으므로 도움될만한 몇가지 포인트만 언급하겠습니다.

Dataset

Train/Test dataset으로 TaoBao app에서 얻은 실제 데이터를 사용하였습니다(첫 7일치의 데이터로 train하고, 그 다음날의 데이터로 test).

또한 무수히 많은 item에 비해 user가 실제로 클릭하는 경우는 매우 적은 E-commerce의 특성상 data가 매우 크면서 동시에 sparse합니다.

Evaluation Metric

Offline test와 Online test를 모두 진행하였는데요, online test에서는 CTR과 더불어 Response Time(RT)을 evaluation metric으로 사용하였다고합니다.

RT는 user가 도착해 recommendation을 위한 query가 던져진 시점부터 실제 recommendation result가 완성되기까지의 시간인데요, 이를 통해 BST model의 효율성을 확인하였다고 합니다.

user에게 빠른 속도로 실시간 추천을 제공해야 하는 현실적인 문제를 잘 반영하는 metric인 것 같아 개인적으로는 매우 인상깊었습니다.

profile
서울대학교 산업공학과 1년차 딥러닝 개발자 insta: @jisu_fassyzino & @via_ad_astra98

0개의 댓글