Introduction
session-based recommendation
- 기존 추천 시스템은 유저 프로필과 과거 행동이 지속적으로 기록되고 있다고 가정
- 그러나 많은 서비스에서 유저는 식별되지 않고, 행동 히스토리인 로그만 남게 됨
- 세션 안에서 제한된 패턴을 기반으로 다음 클릭을 예측하는 추천 시스템이 요구
이전 연구
- GRU, Attention 기반 알고리즘을 통해 Session based recommendation task를 대처
- sequence를 잘 반영 하였지만, item의 연관성 등을 반영하지 못해 cold-start problem에 취약
Contribution
- 세션 시퀀스를 그래프화 하여 GNN을 이용해 시퀀스의 전이를 포착
- 유저 representation 없이, 각 세션의 아이템 representation 만으로 추천 가능
Proposed method
Architecture
다음과 같은 모델 구조
- 각 세션은 direct grapth로 표현됨
각 세션 하나의 outcoming edge와 incoming edge가 마치 markov chain의 형태로 표현
- 그래프 정보를 이용해 item representation 획득
matrix를 gate를 통과시켜 item의 representation을 얻음
- 세션 representation 생성
세션의 마지막 item의 정보인 Local embedding(Sl)과 세션의 전체 attention이 담긴 global embedding(Sg)을 concat하여 선형 변환한 hybrid embedding Sh를 얻음
- 모든 아이템에 대하여 다음 등장할 확률을 계산하여 추천
소프트맥스 함수를 통해 손실함수 업데이트
Comparison
SR-GNN은 분리된 시퀀스를 통합하여 그래프 구조의 데이터로 만들기에 Global 선호와 Local 선호를 모두 반영
Rule base 기반인 POP, S-POP은 sequence를 반영하지 못해 성능이 좋지 않고, recurrence 기반인 NARM, GRU4Rec은 아이템 유사도를 반영하지 못해 이 두가지 단점을 보완한 본 모델이 성능이 좋음
내 생각
Session based Recommendation Task를 진행하다 쓸만한 모델을 찾던 도중 발견한 SR-GNN
GNN 기반 지식이 부족해 너무나도 어려움, 그러나 현재 진행중인 TASK와 찰떡인 것 같아서 어떻게든 시도해 볼 것
Hybrid embedding이 굉장히 인상 깊음