Sequential Recommendation

2024. 2. 23. 13:32NAVER AI Tech/Movie Recommendation

Sequential Recommendation: 구매 이력 순서에 따른 추천 시스템

 

Markov Chain 기반 연구

- Markov Chain이란? chain rule에서 다음 사건은 그 직전의 사건에 대해서만 영향을 받고 그 이전과는 독립이라는 가정.

 

Factorized Personalized Markov Chains(FPMC, Rendle et al., 2010)

- 해당 유저가 직전에 구매한, 혹은 검색한 아이템만을 고려하면 된다는 아이디어.

 

Personalized Ranking Metric Embedding(PRME, Feng et al., 2015)

- 직전에 검색한 아이템과의 compatibility를 inner product(FPMC 방식)이 아닌 Euclidean distance를 사용함.

- 또한 이전 아이템과 다음 아이템을 개별 latent vector로 표현(FPMC 방식)하지 않고 하나의 latent vector로 표현

 

Factorized Markov Embedding(FME, Chen et al., 2012)

- 음악 추천을 위한 모델. 이전 곡과 다음 곡에 대해 개별적인 embedding을 사용.

- compatiblity 계산을 위해 item간에는 Euclidean distance, user-item간에는 inner product를 사용함

 

Translation-based Recommendation(TransRec, He et al., 2017)

- user, item, user-item을 각각 모델링 하지 않고 user-translation vector를 통해 표현.

- Low dimensional space에서 entity 간의 관계를 모델링하는 것과 유사

 

 

RNN(Recurrent Neural Network) 기반 연구

Session-based Recommendations with Recurrent Neural Network(Hidasi et al., 2016)

- user의 action(클릭, 본 상품, 방문한 사이트)를 session으로 설정

- word2vec을 이용한 word embedding과 같이 item embedding을 설정한 후 최종 item을 예측.

- user interaction sequence를 기반으로 예측하기 때문에 user-free 모델.

- 모든 Item의 종류하기엔 너무 많으므로 unseen-data에 대해서 negative sampling을 진행.

 

Neural Attentive Session-based Recommendation(Li et al., 2017)

- user의 행동을 global level, local level로 나누어 분석.

- 즉 전체 행동에 대한 분석과 최근 동향에 대한 분석을 나누어서 진행(Global encoder, Local encoder 존재)

 

 

NLP(Natural Language Processing) 기반 연구

    - word를 item으로 대체한다면 ?

    - user history의 long-term 및 short-term dynamics를 모두 잘 반영할 수 있는 attention 기반의 transformer 모델은 어떨까?

 

Self-Attentive Sequential Recommendation(SASRec, Kang and McAuley, 2018)

- Markov Chain기반 모델, RNN,CNN모델 등 보다 좋은 성능을 보이며 item간의 관계도 잘 모델링 하였다.

BERT4Rec

- cloze task, 즉 일부 item을 masking 한 후 진행.

 

 

 

최근 연구(Recommedation with side-information)

Self-Supervised Learning for Sequential Recommendation with Mutual Information Maximization(S3-Rec)

- self-supervised learning을 이용하여 raw data를 다양한 관점으로 바라보고, 다양한 패턴을 인지해 풍부한 representation을 학습.

Self-Supervised Learning이 다양한 관점에서 바라볼 수 있는 예시

 

A simple Framework for Contrastive Learning of Visual Representations(Chen et al., 2020)

- Contrastive Learning: 데이터가 부족할 때에도 representation을 잘 학습하기 위해서 다양한 sequence augumentation을 self-supervised learning에도 적용하는 것.

Contrastive Learning for Sequential Recommendation(CL4SRec)

- sequence를 augumentation한 뒤, contrastive learning을 통해 item representations 학습

- sequence augumentation. 어떻게 진행되나?

    1) 전체 sequence에서 일부를 crop

    2) 일부 item을 mask 처리

    3) 일부 sequence를 reorder

 

 

 

 

최신연구 정리 표