Ranking task에 recommendation을 적용한 논문을 요약, 정리하겠습니다.
ABSTRACT
ranking은 사용자에게 아이템의 순서를 제공하는 추천 시스템의 core task입니다. 일반적으로 ranking function은 각 아이템에 대하여 ranking score를 생성하는 성능을 최적화 하기 위하여 라벨링된 데이터로 학습됩니다. 하지만 라벨링 기능이 각 항목에 개별적으로 적용되고 항목 간의 상호 영향, 사용자의 선호도 또는 의도의 차이를 명시적으로 고려하지 않기 때문에 개인화에는 부족합니다.
그러므로 NEW 모델을 제안합니다!
1 INTRODUCTION
추천 시스템에서 순위는 매우 중요합니다. 알고리즘에 의해 사용자에게 주어지는 아이템의 목록은 수익 뿐만 아니라 사용자의 만족도에 큰 영향을 미칩니다. 하지만 Learning to Rank(LTR) 는 사용자, 아이템 간의 상호 영향을 명시적으로 사용하지 못하였습니다.
일부 접근법(GlobalRerank, DLCM)이 아이템간의 상호 영향을 명시적으로 모델링합니다. 이 접근법들은 feature vector를 인코딩 하기 위하여 RNN구조를 사용합니다. 하지만 RNN기반 접근 방식은 인코딩 거리에 따라 아이템들의 상호 작용을 캡쳐하기에 제한적입니다. 이에따라 인코딩 거리에 따른 성능 저하 없이 아이템간에 직접 상호 작용할 수 있는 셀프 어텐션 메커니즘을 사용한 transformer 구조를 사용하기로 합니다. 추가로 transformer의 인코딩 절차는 병렬화로 인해 RNN기반 접근 방식보다 더 효율 적입니다.
아이템간의 상호 작용 외에도 개인화 추천 시스템은 사용자-아이템간의 상호작용도 인코딩 할 수 있어야 합니다. 일반적인 LTR global encoding function은 각 사용자에 대한 분포 차이를 무시하므로 개인화 하지 못합니다사용자의 선호도와 항목 상호 작용에 대한 의도를 나타 내기 위해 트랜스포머 구조에 개인화 모듈을 제공합니다.
이 논문의 main contributions입니다.
- Problem : 추천 시스템의 개인화 re-ranking 문제를 제안 합니다. 대규모 온라인 시스템에서 re-ranking task에 개인화 된 정보를 명시적으로 도입한 최초의 추천 시스템에서 개인화 재 순위 화 문제를 제안합니다.
- Model : 개인화 된 임베딩이 장착된 트렌스포머를 사용하여 초기 입력 rank list의 representation을 계산하고 re-ranking score를 출력합니다. 셀프 어텐션 메커니즘을 통해 RNN 기반 접근 방식에 비해 더 효과적이고 효율적인 방식으로 아이템, 사용자 별 상호 영향을 모델링 할 수 있습니다.
- Data : 실제 전자 상거래 추천 시스템에서 구축된 데이터 공유, 데이터에는 click-through labels, 사용자 feature, 추천 목록이 포함되어 있습니다.
- Evaluation : 온/오프라인 실험수행, 온라인 A / B 테스트에서 실제 시스템보다 더 높은 클릭률과 더 많은 수익을 달성한다는 것을 보여줍니다.
2 RELATED WORK
Task flow는 제공된 아이템 목록을 모델로 re-ranking하는것 입니다. Learning To Rank(LTR)에서 자주 사용되는 방법 중 하나이며 ranking method에 사용한 손실 함수에 따라 point-wise, pair-wise, list-wise로 분류됩니다. 기존 LTR task는 아이템, 사용자간의 상호 작용을 인식하지 못합니다. 이를위해 GRU, LSTM과 같은 디코더를 사용하여 상호 작용을 모델링 하려는 시도가 있었습니다. 하지만 디코더를 사용하면 아이템간 종속성을 캡쳐하는데 한계가 있고 순차적인 방법은 병렬화 할수 없어 n개의 목록을 생성하려면 n번의 추론이 필요합니다. 이는 계산시간이 느려 적합하지 않습니다.
Learning To Rank(LTR)
Learning to rank task는 사용자의 query에 대하여 주어진 document에 대하여 얼마나 관련성이 있는지 정렬하는 작업입니다.
- point-wise : 아이템-순위 쌍으로 loss를 계산하는 방법 입니다.
- pair-wise : 아이템 두개의 순위차이로 loss를 계산합니다.
- list-wise : 주어진 아이템 목록 전체의 순위로 loss를 계산 합니다.
제가 했던 Query-Document Relevance Ranking model은 pair-wise ranking model 입니다. loss를 계산 하는 방식만 다르고 전체 flow는 비슷하니 링크된 글을 읽어보면 대략적으로 감이 올것입니다.
3 RE-RANKING MODEL FORMULATION
먼저 이 논문에서 사용된 Notation입니다.
추천 시스템을 위한 LTR, re-ranking 서술 합니다. LTR 방법은 실제 시스템에서 IR, Recommendation을 위한 ranking list를 생산하기 위해사용됩니다. LTR는 아이템의 feature vector를 기반으로 global scoring function을 학습합니다. global scoring function는 다음 손실 함수를 최소화하여 학습합니다.
𝑥𝑖는 아이템 𝑖의 feature space입니다. 𝑦𝑖는 아이템 𝑖의 클릭 확률입니다(click or not). 즉, 사용자의 requests에 대한 후보 아이템 집합들의 클릭확률에 대한 loss 비교 입니다. 하지만 사용자의 요청에 대한 정보만으로는 개인화가 부족합니다. 따라서 다음과 같은 추가 정보를 고려 하여야 합니다.
- 각 아이템간 영향
- 사용자와 아이템의 상호 작용
(1.)은 기존의 LTR로 학습이 가능합니다. 하지만 (2.)를 고려하는 연구는 아직 부족합니다. 그러므로 아이템간의 개인화 된 상호 영향을 모델링 할 수있는 개인화 된 매트릭스 PV(persomalized matrix PV)를 소개합니다. 이에 따라 loss function은 아래 와 같이 변형됩니다.
다시말해, 사용자의 requests에 대한 후보 아이템들과 개인화된 정보가 주어졌을때 각 아이템들의 클릭확률을 계산합니다.
4 PERSONALIZED RE-RANKING MODEL
이제 논문에서 제안된 Personalized Re-ranking Model(PRM)을 소개 합니다.
4.1 Model Architecture
전체 구조는 Fig.1(b)로 보여줍니다. 모델은 크게 3가지 파트로 구성됩니다.
- input layer
- encoding layer
- output layer
4.2 Input Layer
Input layer의 목적은 주어진 아이템 목록들의 feature vector를 구성하고 encoding layer로 넘겨주는 것입니다. flow는 아이템 목록 𝑆=[𝑖1,𝑖2,…,𝑖𝑛]의 embedding(𝑋∈ℝ𝑛×𝑑_𝑓𝑒𝑎𝑡𝑢𝑟𝑒)에 개인화 feature와 순서 feature를 인코딩하는 것입니다.
Personalized Vector (PV) 개인화된 feature를 얻기 위하여 아이템 feature vector에 personalized vector(𝑃𝑉∈ℝ𝑛×𝑑_𝑝𝑣)를 concat하여 아이템, 사용자의 상호 영향을 모델링 합니다. 얻어진 intermediate embedding matrix 𝐸′는 아래와 같습니다. PV는 이후 설명할 pre-trained model에 의해 제공됩니다.
Position Embedding (PE) transformer와 같이 처음 주어진 목록의 순차 정보를 활용하기 위해 입력 임베딩에 Position Embedding을 추가 합니다.
마지막 간단한 FFNN을 사용하여 feature matrix 𝐸″를 𝐸∈ℝ𝑛×𝑑로 변환 합니다. 𝑑는 latent dimension입니다. 최종 𝐸는 아래 식으로 계산 됩니다.
4.3 Encoding Layer
Encoding layer의 목표는 input layer로 부터 받은 정보들의 상호 영향을 통합하는 것입니다. 이를 위해서 트랜스포머와 같은 인코더를 적용합니다. Transformer의 셀프 어텐션 메커니즘은 두 아이템 사이의 거리에 관계없이 상호 영향을 직접 모델링하므로 re-ranking task에 특히 적합합니다. 특히Transformer는 초기 목록에서 거리에 상관 없이 아이템간의 상호작용을 포착 할 수 있습니다.
Attention Layer
복잡한 상호 작용을 모델링 하기 위하여 multi-head attention을 사용합니다.
Feed-Forward Network
Position-wise Feed-Forward Network는 입력 벡터의 서로 다른 차원간의 비선형성과 상호작용을 통해 모델을 강화 합니다.
Stacking the Encoding Layer
여러 인코더 블록을 쌓아두면 더 복잡하고 높은 수준의 상호 정보를 얻을 수 있습니다.
4.4 Output Layer
output layer는 각 아이템의 점수를 생산합니다. softmax layer 하나를사용합니다. 출력되는 값은 각 아이템의 클릭 확률(𝑃(𝑦𝑖|𝑋,𝑃𝑉;𝜃̂ )입니다. 계산된 확률을 𝑆𝑐𝑜𝑟𝑒(𝑖)로 사용합니다. 식은 아래와 같습니다.
𝐹(𝑁𝑥)은 트랜스포머 𝑁𝑥번째 블럭의 output입니다. 학습은 아래 Loss function을 최소화 하게 진행됩니다.
4.5 Personalized Module
사용자와 아이템의 상호작용을 표현하는 personalized matrix PV를 소개 합니다. PV는 end-to-end로 위의 식(9)를 최소화 하는 PRM에서 학습됩니다. 하지만 re-ranking task는 이전의 ranking approaches로 주어진output을 refine하는 task입니다. 즉 사용자의 특성을 학습하기에는 부족합니다. 따라서 사전 훈련 된 신경망을 사용하여 사용자의 개인화 된 임베딩 PV를 생성 한 다음 PRM 모델의 추가 기능으로 사용됩니다. 사전 훈련 된 신경망은 플랫폼의 전체 click-through logs에서 학습됩니다.
그림1(c)는 사용 된 사전 훈련 모델의 구조를 보여줍니다. sigmoid layer는 사용자의 behavior history(𝐻𝑢)와 부가 정보(성별, 나이, 구매력등등)가 주어지면 사용자 𝑢에 대한 아이템 𝑖에 대한 클릭 확률 (𝑃(𝑦𝑖|𝐻𝑢,𝑢;𝜃′))을 출력합니다. loss는 아래와 같은 point-wise cross entropy function입니다.
𝐷는 플렛폼에서 사용자𝑢 에게 보여지는 아이템들의 집합입니다. 𝑦𝑖는 click(1) or not(0)입니다. 유튜브 추천 알고리즘에서 영감을 받아 sigmoid이전의 layer를 𝑝_𝑣𝑖로써 PRM에 입력합니다. 그림1 (C)는 간단한 network지만 FM, FFM, DeepFM, DCN, FNN과 같은 다른 모델들도 pv를 생성하는 모델로 사용 가능 합니다.
5 EXPERIMENTAL RESULTS
먼저 평가에 사용되는 데이터 세트와 baseline을 소개합니다. 그런 다음 PRM 모델의 효과를 평가하기 위해 이러한 데이터 세트의 기준과 방법을 비교합니다. 동시에 모델의 어떤 부분이 전체 성능에 가장 많이 기여하는지 이해하는 데 도움이되도록 ablations study가 수행됩니다.
5.1 Datasets
Yahoo! Webscope v2.0, E-commerce Re-ranking dataset 두개의 data set이 사용되었습니다. 추천을위한 컨텍스트 정보가 포함 된 공개적으로 사용 가능한 재 순위 데이터 세트가 없습니다. 따라서 우리는 인터넷 상거래 순위 변경 데이터 세트를 구성합니다. 두 데이터 세트의 개요는 표 2에 나와 있습니다.
Yahoo Letor dataset Seq2Slate[3]와 동일한 방법을 사용하여 추천 순위 모델에 적합하도록 Yahoo Letor 데이터 세트를 처리합니다. 먼저 threshold 𝑇𝑏를 사용하여 등급 (0 ~ 4)을 이진 레이블로 변환합니다. 그런다음 decay factor η를 사용하여 아이템의 impression probabilities를 시뮬레이션 합니다. Yahoo Letor 데이터 세트의 모든 문서는 사용자가 각 쿼리에 대한 모든 문서를 완전하게 볼 수 있다는 가정하에 전문가에 의해 평가됩니다. 그러나 실제 추천 시나리오에서는 사용자가 항목을 하향식으로 볼 수 있습니다. 모바일 앱의 화면은 제한된 수의 항목 만 표시 할 수 있으므로 한 항목의 순위가 높을수록 사용자가이 항목을 볼 수있는 확률이 낮아집니다. 이 논문에서는 1/𝑝𝑜𝑠(𝑖)η를 decay probability로 사용합니다. 여기서 𝑝𝑜𝑠(𝑖)는 초기 목록에서 아이템 𝑖의 순위 위치입니다.
E-commerce Re-ranking dataset 데이터 세트에는 실제 추천 시스템의 클릭 연결 데이터 형태의 대규모 기록이 포함됩니다. 데이터 세트의 각 레코드에는 사용자의 기본 정보, click-through labels, ranking을 위한 row feature,각 사용자에 대한 추천 목록이 포함되어 있습니다.
5.2 Baselines
LTR과 re-ranking 방법 둘다 baseline으로 사용됩니다.
Learning to rank 방법은 두 가지 작업에 사용됩니다.
- LTR 방법은 각 사용자 요청𝑟에 대해 후보 집합 𝐼𝑟로부터 re-ranking model에 대한 초기 리스트 𝑆𝑟을 생성 할 수 있습니다.
- pairwise, listwise loss function을 사용하는 LTR 방법은 초기 리스트 𝑆𝑟을 입력으로 re-ranking task로 작동할 수 있습니다.
여기서 사용 된 대표적인 LTR 방법은 다음과 같습니다.
- SMVRank : pair-wise LTR model
- LambdaMart : list-wise LTR model
- DNN-based LTR : point-wise LTR model(Wide & Deep Learning for Recommender Systems)(구글 플레이 앱 추천엔진의 랭킹 알고리즘)
Re-ranking 위에서 언급했듯이 기존의 re-ranking method에는 DLCM, Seq2Slate및 GlobalRerank가 있습니다. DLCM, GlobalRerank는 정보 검색에서 re-ranking에 중점을 둡니다. Seq2Slate는 추천 및 정보 검색 모두에서 re-ranking에 중점을 둡니다. 논문 에서는 baseline으로 DLCM 만 선택합니다. Seq2Slate 및 GlobalRerank는 모두 디코더 구조를 사용하여 다시 순위가 매겨진 목록을 생성하기 때문에 baseline으로 선택되지 않습니다.
- DLCM : LTR 방식에 의해 생성 된 초기 목록을 기반으로 정보 검색에 사용되는 re-ranking model입니다. global vector와 각 feature vector를 결합하여 LTR의 global scoring function보다 더 강력한 function을 학습합니다.
5.3 Evaluation Metrics
평가 metric으로는 Precision@k, MAP@k을 사용합니다. Precision@k는 모든 테스트 샘플에 대한 top-k 추천된 아이템에서 클릭 된 항목의 비율로 정의됩니다.
MAP@k는 테스트 데이터 세트에서 top-k로 잘린 ranking list의 mean average precision의 약자입니다.
온라인 A / B 테스트의 경우 PV, IPV, CTR 및 GMV를 지표로 사용합니다. PV 및 IPV는 사용자가보고 클릭 한 총 항목 수로 정의됩니다. CTR은 클릭률이며 IPV / PV로 계산할 수 있습니다. GMV는 사용자가 추천 아이템에 지출 한 총 금액입니다.
5.4 Experimental Settings
baseline과 PRM 둘다 매개 변수에 대해 동일한 값을 사용합니다. d_model은 Yahoo Letor : 1024, E-commerce Reranking : 64 입니다. Adam Optimizer를 사용하고 loss는 식(9)와 같이 NLL입니다. dropout은 0.1로 설정됩니다. batch size는 Yahoo Letor : 256, E-commerce Reranking :512입니다.
5.5 Offline Experiments
offline test, A/Btest를 수행하고 ablations study로 모델의 각 부분에 대한 기여도를 확인합니다.
5.5.1 Offline Evaluation on Yahoo Letor dataset
데이터 세트에 대한 평가를 수행하여 다음 질문에 대해 논의합니다. 야후 데이터는 개인화를 포함 하지 않는 LTR task로 평가 합니다.
• RQ0 : PRM 모델이 기존 SOTA 능가하며 그 이유는 무엇입니까?
• RQ1 : 다른 LTR 접근 방식에 의해 생성 된 초기 목록에 따라 성능이 달라 집니까?
5.5.2 Offline Evaluation on E-commerce Re-ranking dataset.
- RQ2 : 개인화 모듈이 장착 된 PRM 모델의 성능은 어떻습니까?
5.6 Online Experiments
5.7 Visualizing Attention Weights
• RQ3 : 셀프 어텐션 메커니즘이 아이템의 다양한 측면과 관련하여 의미있는 정보를 학습 할 수 있습니까?
6 CONCLUSION AND FUTURE WORK
Transformer 구조를 사용하여 아이템간의 종속성과 사용자와 아이템간의 상호 작용을 모두 인코딩가능한 PRM을 제안했습니다. 개인화 된 벡터는 re-ranking tast의 성능을 더욱 향상시킬 수 있습니다. 온/오프라인 실험 모두 성능이 향상 되었습니다. 주요 기여는 feature space에서 복잡한 항목-항목 관계를 명시 적인 모델링입니다.