Context aware Sequential Recommendation - penny4860/study-note GitHub Wiki

1. 정리

요약

  • rnn 구조에 time interval 정보를 추가해서 개인화 추천을 구현한 논문
  • time interval 정보를 사용한 방식
    • time interval을 n개의 bin으로 나누고 n개의 transition matrix를 학습.
    • prediction 과정에서도 해당 동작의 time interval에 맞는 weight를 가져와서 예측
  • 별로 실용적이지 않은것 같다.
    • transition matrix를 여러개 만드는것 자체가 안좋은 idea인 듯.

2. 내용

1. Introduction

  • Sequential recommendation task에 context 정보를 이용하려는 시도.
  • Context 정보
    1. Input context
      • action이 일어나는 순간의 context
      • e.g.) 장소 / 날씨 / 시간
    2. Transaction context
      • action 사이의 context : time interval
  • ContextAware Recurrent Neural Networks (CA-RNN)
    • sequence 정보와 context 정보를 1개의 framework로 구현
  • ranking loss를 BPTT로 학습
    • GRU4Rec의 경우 BPTT가 아닌 1-step BP로 학습

2. Proposed Model

2.A Problem Def.

  • notation
    • users : U = {u_1, u_2, ...}
    • items : V = {v_1, v_2, ...}
  • 문제
    • Input
      1. V : user의 behavior history
      2. C(I, k+1)
        • k+1번쨰 동작의 input context
      3. C(T, k+1)
        • (k, k+1)동작 사이에 transition context
        • 이전동작과의 time interval

2.B Rnns

  • Learnable Weights
    1. Input Matrix : M : [dxd]
      • captures the current behavior of the user on input elements
    2. Transition Matrix : W : [dxd]
      • hidden vector끼리의 connenction

2.C Modeling Input Context

  • Input Matrix를 1개가 아니라 Input Context별로 각각 보유

2.D Modeling Transition Context

  • Transition Matrix를 1개가 아니라 Context별로 각각 보유
  • interval time의 구간을 n개로 나누고, n개의 transition matrix를 학습